From 5b3faafcb1be980622cc2f98a8660fc3380a543c Mon Sep 17 00:00:00 2001 From: Bertrand Benjamin Date: Sat, 4 Jun 2022 06:36:34 +0200 Subject: [PATCH] Feat: deploy nas pihole docker-compose --- home.yml | 5 +++ roles/nut/tasks/main.yml | 1 - roles/pihole/defaults/main.yml | 12 +++++++ roles/pihole/tasks/main.yml | 23 +++++++++++++ roles/pihole/templates/docker-compose.j2.yml | 36 ++++++++++++++++++++ vars/nas.yml | 7 ++++ 6 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 roles/pihole/defaults/main.yml create mode 100644 roles/pihole/tasks/main.yml create mode 100644 roles/pihole/templates/docker-compose.j2.yml diff --git a/home.yml b/home.yml index 5ebfcd4..8d64798 100644 --- a/home.yml +++ b/home.yml @@ -36,6 +36,11 @@ tags: - docker + - role: pihole + tags: + - docker + - pihole + tasks: - name: Include user include_role: diff --git a/roles/nut/tasks/main.yml b/roles/nut/tasks/main.yml index 62f1e8a..83e47ed 100644 --- a/roles/nut/tasks/main.yml +++ b/roles/nut/tasks/main.yml @@ -18,4 +18,3 @@ group: root mode: 0644 notify: restart nut-server - diff --git a/roles/pihole/defaults/main.yml b/roles/pihole/defaults/main.yml new file mode 100644 index 0000000..cbb2920 --- /dev/null +++ b/roles/pihole/defaults/main.yml @@ -0,0 +1,12 @@ +--- +# directories +pihole_container_name: pihole +pihole_data_directory: "{{ docker_home }}/pihole" + +pihole_docker_image: pihole/pihole:2022.05 +pihole_hostname: pihole +pihole_domainname: lan +pihole_ip: 192.168.2.2 +pihole_TZ: 'France/Paris' +pihole_subnet: 192.168.2.0/24 +pihole_gateway: 192.168.2.1 diff --git a/roles/pihole/tasks/main.yml b/roles/pihole/tasks/main.yml new file mode 100644 index 0000000..95c0797 --- /dev/null +++ b/roles/pihole/tasks/main.yml @@ -0,0 +1,23 @@ +--- +# tasks file for pihole +- name: Create pihole Directories + file: + path: "{{ item }}" + state: directory + with_items: + - "{{ pihole_data_directory }}" + - "{{ pihole_data_directory }}/pihole" + - "{{ pihole_data_directory }}/dnsmasq.d" + +- name: Copy docker-compose.yml + template: + src: docker-compose.j2.yml + dest: "{{ pihole_data_directory }}/docker-compose.yml" + owner: root + group: root + mode: 0644 + + # - name: Start docker-compose + # docker_compose: + # project_src: "{{ pihole_data_directory }}" + # when: pihole diff --git a/roles/pihole/templates/docker-compose.j2.yml b/roles/pihole/templates/docker-compose.j2.yml new file mode 100644 index 0000000..62568f9 --- /dev/null +++ b/roles/pihole/templates/docker-compose.j2.yml @@ -0,0 +1,36 @@ +--- +services: + pihole: + container_name: {{ pihole_container_name }} + image: {{ pihole_docker_image }} + hostname: {{ pihole_hostname }} + domainname: {{ pihole_domainname }} + ports: + - "53:53/tcp" + - "53:53/udp" + - "67:67/udp" + - "80:80/tcp" + - "443:443/tcp" + environment: + TZ: {{ pihole_TZ }} + ServerIP: {{ pihole_ip }} + volumes: + - './pihole/:/etc/pihole/' + - './dnsmasq.d/:/etc/dnsmasq.d/' + cap_add: + - NET_ADMIN + restart: unless-stopped + networks: + pihole-macvlan: + ipv4_address: {{ pihole_ip }} + +networks: + pihole-macvlan: + driver: macvlan + driver_opts: + parent: eth0 + ipam: + config: + - subnet: {{ pihole_subnet }} + gateway: {{ pihole_gateway }} + ip_range: {{ pihole_ip }}/32 diff --git a/vars/nas.yml b/vars/nas.yml index 98e718c..4df5c46 100644 --- a/vars/nas.yml +++ b/vars/nas.yml @@ -1,11 +1,18 @@ --- +# Docker install docker_apt_arch: arm64 docker_compose_version: "v2.6.0" docker_compose_arch: armv6 docker_users: - "{{ admin.username }}" +docker_home: /var/docker +# Pihole +pihole_docker_image: pihole/pihole:2022.05 +pihole_ip: 192.168.2.202 + +# Nut upss: - name: eaton650 driver: usbhid-ups