diff --git a/group_vars/servers.yml b/group_vars/servers.yml index cd1e51a..c9ac651 100644 --- a/group_vars/servers.yml +++ b/group_vars/servers.yml @@ -23,7 +23,7 @@ backup_labels: ie.cianhatton.backup.enabled: true ie.cianhatton.backup.schedule: nightly -docker_backup_aws_s3_encrypt: false +docker_backup_aws_s3_encrypt: true docker_backup_host_backup_directory: "/tmp" docker_backup_retain_count: 3 docker_backup_restore_latest_s3_key: true diff --git a/host_vars/qnap.yml b/host_vars/qnap.yml index fd0ec48..9dc96d6 100644 --- a/host_vars/qnap.yml +++ b/host_vars/qnap.yml @@ -57,6 +57,7 @@ pihole_volumes: qnap_dns: {} portainer_roles: + - role: portainer_navidrome - role: portainer_plex - role: portainer_dashy - role: portainer_diun @@ -65,4 +66,4 @@ portainer_roles: - role: portainer_arr - role: portainer_pihole - role: portainer_nginx_proxy_manager -# - role: portainer_minio + - role: portainer_minio diff --git a/playbooks/backup-docker-volumes.yml b/playbooks/backup-docker-volumes.yml index cc55c01..6c4c707 100644 --- a/playbooks/backup-docker-volumes.yml +++ b/playbooks/backup-docker-volumes.yml @@ -17,7 +17,7 @@ ansible.builtin.include_role: name: gotify_message vars: - gotify_message: "Backup started for host {{ inventory_hostname }}" + gotify_message: "Backup started for host {{ inventory_hostname }} at {{ ansible_date_time.iso8601 }}" - name: Find Containers With Backup Label docker_host_info: @@ -45,4 +45,4 @@ ansible.builtin.include_role: name: gotify_message vars: - gotify_message: "Backup finished for host {{ inventory_hostname }}" + gotify_message: "Backup finished for host {{ inventory_hostname }} at {{ ansible_date_time.iso8601 }}" diff --git a/roles/portainer_navidrome/defaults/main.yml b/roles/portainer_navidrome/defaults/main.yml new file mode 100644 index 0000000..8f59517 --- /dev/null +++ b/roles/portainer_navidrome/defaults/main.yml @@ -0,0 +1,9 @@ +--- +navidrome_state: present +navidrome_image: deluan/navidrome +navidrome_tag: latest +navidrome_puid: 1000 +navidrome_pgid: 1000 +navidrome_expose_port: 4533 +navidrome_container_name: navidrome +navidrome_portainer_stack_name: navidrome diff --git a/roles/portainer_navidrome/tasks/main.yml b/roles/portainer_navidrome/tasks/main.yml new file mode 100644 index 0000000..3de9ffd --- /dev/null +++ b/roles/portainer_navidrome/tasks/main.yml @@ -0,0 +1,36 @@ +--- +- name: "Navidrome | Restore any missing volumes from S3" + ansible.builtin.include_role: + name: chatton.docker_backup.docker_s3_volume_restore + vars: + docker_backup_s3_volume: + name: "{{ navidrome_portainer_stack_name }}_data" + +- name: "Navidrome | Update Portainer." + chatton.portainer.portainer_stack: + username: '{{ portainer_user }}' + password: '{{ portainer.password }}' + base_url: '{{ portainer_base_url }}' + stack_name: '{{ navidrome_portainer_stack_name }}' + endpoint_id: '{{ portainer_endpoint }}' + state: "{{ navidrome_state }}" + definition: + version: "3" + services: + navidrome: + labels: "{{ backup_labels }}" + container_name: "{{ navidrome_container_name }}" + image: "{{ navidrome_image }}:{{ navidrome_tag }}" + user: 1000:1000 # should be owner of volumes + ports: + - "{{ navidrome_expose_port }}:4533" + restart: "{{ restart_policy }}" + environment: + ND_SCANSCHEDULE: 1h + ND_LOGLEVEL: info + ND_SESSIONTIMEOUT: 24h + volumes: + - "data:/data" + - "{{ directories.music_dir }}:/music:ro" + volumes: + data: {}