Files
lilleback-infra/roles/bigboi/docker/tasks/main.yaml
2024-12-28 12:04:44 +01:00

135 lines
2.8 KiB
YAML

# Frigate directories
- name: Ensure frigate root dir
file:
path: "{{docker.frigate.root_volume}}"
state: directory
owner: docker
group: root
- name: Ensure frigate config dir
file:
path: "{{docker.frigate.config_volume}}"
state: directory
owner: docker
group: root
- name: Ensure frigate media dir
file:
path: "{{docker.frigate.media_volume}}"
state: directory
owner: docker
group: root
- name: Ensure frigate config file
template:
src: frigate-config.yml
dest: "{{docker.frigate.config_volume}}/config.yml"
owner: docker
group: root
register: frigate_config_file
# Grafana directory
- name: Ensure grafana config dir
file:
path: "{{docker.grafana.data_volume}}"
state: directory
owner: docker
group: root
# InfluxDB directory
- name: Ensure influxdb config dir
file:
path: "{{docker.influxdb.data_volume}}"
state: directory
owner: docker
group: root
- name: Ensure photoprism config dir
file:
path: "{{docker.photoprism.data_volume}}"
state: directory
owner: photoprism
group: root
- name: Ensure mariadb config dir
file:
path: "{{docker.mariadb.data_volume}}"
state: directory
owner: photoprism
group: root
- name: Ensure vaultwarden config dir
file:
path: "{{docker.vaultwarden.data_volume}}"
state: directory
owner: docker
group: root
- name: Ensure letsencrypt config dir
file:
path: "{{docker.letsencrypt.data_volume}}"
state: directory
owner: docker
group: root
# Docker service setup
- name: Install requirements
apt:
name:
- docker.io
- docker-compose
- python3-pip
state: present
- name: install requirements
ansible.builtin.pip:
name: docker
- name: Enable docker
systemd:
name: docker
enabled: yes
- name: Ensure docker project dir
file:
path: "{{docker.project_path}}"
state: directory
owner: docker
group: docker
- name: Ensure docker-compose file
template:
src: docker-compose.yml
dest: "{{docker.project_path}}"
owner: ansible
group: ansible
register: docker_compose_file
- name: Tear down existing project
community.docker.docker_compose:
project_src: "{{ docker.project_path }}"
state: absent
remove_orphans: yes
when: docker_compose_file.changed
- name: Set up project
register: docker_project
community.docker.docker_compose:
project_src: "{{docker.project_path}}"
state: present
remove_orphans: yes
when: docker_compose_file.changed
- name: debug
ansible.builtin.debug:
var: docker_project
when: docker_compose_file.changed
# Restart frigate if needed
- name: Restart frigate
when: frigate_config_file.changed
community.docker.docker_container:
name: frigate
restart: true
state: started