51 lines
1.5 KiB
YAML
51 lines
1.5 KiB
YAML
![]() |
---
|
||
|
- name: Ensure data directories exist
|
||
|
ansible.builtin.file:
|
||
|
path: "{{ container_base_dir }}/{{ item }}"
|
||
|
state: directory
|
||
|
mode: '0755'
|
||
|
loop:
|
||
|
- "data/backup"
|
||
|
- "data/configuration"
|
||
|
- "data/netbox"
|
||
|
- "data/static/netbox_topology_views/img"
|
||
|
- "data/static/netbox_topology_views/js"
|
||
|
- "data/static/netbox_topology_views/css"
|
||
|
|
||
|
- name: Ensure Docker BuildX Plugin is installed
|
||
|
ansible.builtin.apt:
|
||
|
package:
|
||
|
- docker-buildx-plugin
|
||
|
state: present
|
||
|
cache_valid_time: 3600
|
||
|
|
||
|
- name: Copy Files
|
||
|
ansible.builtin.copy:
|
||
|
src: '{{ item.src }}'
|
||
|
dest: '{{ item.dest }}'
|
||
|
mode: "0664"
|
||
|
loop:
|
||
|
- {src: 'Dockerfile-Plugins', dest: '{{ container_base_dir }}/Dockerfile-Plugins'}
|
||
|
- {src: 'plugins.py', dest: '{{ container_base_dir }}/data/configuration/plugins.py'}
|
||
|
- {src: 'plugin_requirements.txt', dest: '{{ container_base_dir }}/data/plugin_requirements.txt'}
|
||
|
|
||
|
- name: Render Template Files
|
||
|
ansible.builtin.template:
|
||
|
src: '{{ item.src }}'
|
||
|
dest: '{{ item.dest }}'
|
||
|
mode: "0664"
|
||
|
loop:
|
||
|
- {src: .env.j2, dest: '{{ container_base_dir }}/.env'}
|
||
|
- {src: 'docker-compose.yml.j2', dest: '{{ container_base_dir }}/docker-compose.yml'}
|
||
|
|
||
|
- name: Stop Container
|
||
|
community.docker.docker_compose_v2:
|
||
|
project_src: "{{ container_base_dir }}"
|
||
|
state: absent
|
||
|
|
||
|
- name: Start Container
|
||
|
community.docker.docker_compose_v2:
|
||
|
project_src: "{{ container_base_dir }}"
|
||
|
state: present
|
||
|
pull: always
|
||
|
recreate: always
|