135 lines
2.8 KiB
YAML
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
|