moved pihole to use definition

authelia
chatton 2 years ago
parent fe175729a3
commit a7bafc988b

@ -12,24 +12,6 @@ users:
group: *main_user group: *main_user
passwordless_sudo: true passwordless_sudo: true
directories:
# path on qnap where downloads go
downloads_dir: /mnt/ssd0/downloads
# path on qnap where plex transcoding happens
transcoding_dir: /mnt/ssd0/transcoding
# path on qnap where movies are stored
movies_dir: /mnt/mergerfs/media/movies
# path on qnap where tv shows are stored
tv_dir: /mnt/mergerfs/media/tv
# path on qnap where docker compose files are stored
docker_compose_directory: /etc/docker-compose
# path where photoprism photos are stored
photoprism_dir: /mnt/mergerfs/photoprism
# path to youtube videos
youtube_dir: /mnt/mergerfs/media/youtube
# path to where paperless docs will be stored
documents_dir: /mnt/mergerfs/documents
desired_docker_images: desired_docker_images:
- ubuntu:latest - ubuntu:latest

@ -66,5 +66,4 @@ cron_hour: "4"
# - "tcp://0.0.0.0:2375" # - "tcp://0.0.0.0:2375"
# - "unix:///var/run/docker.sock" # - "unix:///var/run/docker.sock"
docker_backup_host_backup_directory: "/tmp"
portainer_roles: [] portainer_roles: []

@ -10,6 +10,24 @@ mounts:
- /mnt/data/device2 - /mnt/data/device2
options: allow_other,use_ino options: allow_other,use_ino
directories:
# path on qnap where downloads go
downloads_dir: /mnt/ssd0/downloads
# path on qnap where plex transcoding happens
transcoding_dir: /mnt/ssd0/transcoding
# path on qnap where movies are stored
movies_dir: /mnt/mergerfs/media/movies
# path on qnap where tv shows are stored
tv_dir: /mnt/mergerfs/media/tv
# path on qnap where docker compose files are stored
docker_compose_directory: /etc/docker-compose
# path where photoprism photos are stored
photoprism_dir: /mnt/mergerfs/photoprism
# path to youtube videos
youtube_dir: /mnt/mergerfs/media/youtube
# path to where paperless docs will be stored
documents_dir: /mnt/mergerfs/documents
# these directories will be backed up to s3. # these directories will be backed up to s3.
backup_directories: backup_directories:
- path: /mnt/mergerfs/photoprism/originals - path: /mnt/mergerfs/photoprism/originals
@ -86,13 +104,18 @@ services:
image: photoprism/photoprism image: photoprism/photoprism
tag: 230615 tag: 230615
- name: olivetin - name: olivetin
- name: pihole
- name: paperless - name: paperless
- name: diun - name: diun
pihole_volumes:
qnap_app: {}
qnap_dns: {}
portainer_roles: portainer_roles:
- role: portainer_dashy - role: portainer_dashy
- role: portainer_dashdot - role: portainer_dashdot
- role: portainer_glances - role: portainer_glances
- role: portainer_arr - role: portainer_arr
- role: portainer_gotify - role: portainer_gotify
- role: portainer_pihole

@ -1,9 +1,6 @@
--- ---
vault_file: vault_vars/qnap-vault.yml vault_file: vault_vars/qnap-vault.yml
docker_backup_aws_s3_encrypt: false
docker_backup_host_backup_directory: "/tmp"
portainer_required_templates: portainer_required_templates:
- source_file: diun-config.j2 - source_file: diun-config.j2
dest_file_name: diun-config.yml dest_file_name: diun-config.yml
@ -12,7 +9,7 @@ portainer_required_templates:
portainer_endpoint: 23 portainer_endpoint: 23
services: services:
- name: pihole # - name: pihole
- name: hasteypaste - name: hasteypaste
- name: diun - name: diun
@ -28,9 +25,17 @@ docker_daemon_options:
- "unix:///var/run/docker.sock" - "unix:///var/run/docker.sock"
# Note: this must be inline with the host name,
# this is a work around as it is not possible to template
# the name of the volume in the portainer task.
pihole_volumes:
snunmu_app: {}
snunmu_dns: {}
portainer_roles: portainer_roles:
- role: portainer_bookstack - role: portainer_bookstack
- role: portainer_vaultwarden - role: portainer_vaultwarden
- role: portainer_dashy - role: portainer_dashy
- role: portainer_dashdot - role: portainer_dashdot
- role: portainer_glances - role: portainer_glances
- role: portainer_pihole

@ -0,0 +1,8 @@
---
pihole_state: present
pihole_image: pihole/pihole
pihole_tag: 2022.09.2
pihole_portainer_stack_name: pihole
pihole_container_name: pihole
# this variable MUST be set. See the tasks for the expected value.
pihole_volumes: {}

@ -0,0 +1,41 @@
---
- name: "Pihole | Restore any missing volumes from S3"
ansible.builtin.include_role:
name: chatton.docker_backup.docker_s3_volume_restore
vars:
docker_backup_s3_volume: "{{ item }}"
with_items:
- name: "{{ pihole_portainer_stack_name }}_{{ inventory_hostname_short }}_app"
- name: "{{ pihole_portainer_stack_name }}_{{ inventory_hostname_short }}_dns"
- name: Setting host facts using complex arguments
ansible.builtin.set_fact:
vol_one: "{{ inventory_hostname_short }}_app"
- name: "Pihole | Update Portainer."
chatton.portainer.portainer_stack:
username: '{{ portainer_user }}'
password: '{{ portainer.password }}'
base_url: '{{ portainer_base_url }}'
stack_name: '{{ pihole_portainer_stack_name }}'
endpoint_id: '{{ portainer_endpoint }}'
state: "{{ pihole_state }}"
definition:
version: "3"
services:
pihole:
labels: "{{ backup_labels }}"
container_name: "{{ pihole_container_name }}"
image: "{{ pihole_image }}:{{ pihole_tag }}"
ports:
- "53:53/tcp"
- "53:53/udp"
- "85:80/tcp"
environment:
WEBPASSWORD: '{{ pihole_web_password }}'
DNSMASQ_LISTENING: "all"
volumes:
- '{{ inventory_hostname_short }}_app:/etc/pihole'
- '{{ inventory_hostname_short }}_dns:/etc/dnsmasq.d'
restart: unless-stopped
volumes: "{{ pihole_volumes }}"

@ -1,16 +0,0 @@
---
version: "3.1"
services:
gotify:
labels:
ie.cianhatton.backup.enabled: "true"
ie.cianhatton.backup.schedule: "{{ backups.schedule_keys.nightly }}"
image: gotify/server
container_name: gotify
volumes:
- data:/app/data
ports:
- 7875:80
restart: unless-stopped
volumes:
data:

@ -1,26 +0,0 @@
---
version: '3'
services:
minio:
image: "{{ template_vars.image }}:{{ template_vars.tag }}"
ports:
# The web console
- "11000:9000"
# The API
- "11001:9001"
volumes:
- minio_storage:/data
environment:
# specified in the vault file
MINIO_ROOT_USER: "{{ minio_username }}"
MINIO_ROOT_PASSWORD: "{{ minio_password }}"
MINIO_API_ROOT_ACCESS: "on"
MINIO_BROWSER_REDIRECT_URL: http://192.168.178.42:11000
# enable encryption
MINIO_KMS_AUTO_ENCRYPTION: "on"
MINIO_KMS_SECRET_KEY: "minio-key:{{ minio_encryption_key }}"
command: server --console-address ":9001" /data
volumes:
minio_storage: {}

@ -1,24 +0,0 @@
---
version: "3"
services:
pihole:
labels:
ie.cianhatton.backup.enabled: "true"
ie.cianhatton.backup.schedule: "{{ backups.schedule_keys.nightly }}"
container_name: pihole
image: "pihole/pihole:2022.09.2"
ports:
- "53:53/tcp"
- "53:53/udp"
- "85:80/tcp"
environment:
WEBPASSWORD: '{{ pihole_web_password }}'
DNSMASQ_LISTENING: "all"
volumes:
- '{{ inventory_hostname_short }}_app:/etc/pihole'
- '{{ inventory_hostname_short }}_dns:/etc/dnsmasq.d'
restart: unless-stopped
volumes:
{{ inventory_hostname_short }}_app:
{{ inventory_hostname_short }}_dns:
Loading…
Cancel
Save