main.yml (1386B)
1 --- 2 - name: Ensure stack directories exist 3 ansible.builtin.file: 4 path: "{{ item }}" 5 state: directory 6 mode: '0755' 7 loop: 8 - /opt/freshrss 9 - /opt/homepage 10 - /opt/.immich-app 11 - /opt/watchtower 12 13 - name: Deploy compose files 14 ansible.builtin.copy: 15 src: "{{ item.src }}" 16 dest: "{{ item.dest }}" 17 mode: '0644' 18 loop: 19 - { src: freshrss/docker-compose.yml, dest: /opt/freshrss/docker-compose.yml } 20 - { src: homepage/docker-compose.yml, dest: /opt/homepage/docker-compose.yml } 21 - { src: immich/docker-compose.yml, dest: /opt/.immich-app/docker-compose.yml } 22 - { src: watchtower/docker-compose.yml, dest: /opt/watchtower/docker-compose.yml } 23 24 - name: Deploy Immich .env 25 ansible.builtin.template: 26 src: immich.env.j2 27 dest: /opt/.immich-app/.env 28 owner: root 29 group: root 30 mode: '0600' 31 32 - name: Deploy Homepage config files 33 ansible.builtin.copy: 34 src: "homepage/{{ item }}" 35 dest: "/opt/homepage/{{ item }}" 36 mode: '0644' 37 loop: 38 - services.yaml 39 - settings.yaml 40 - widgets.yaml 41 - docker.yaml 42 - bookmarks.yaml 43 - custom.css 44 - custom.js 45 - proxmox.yaml 46 - kubernetes.yaml 47 48 - name: Deploy stacks 49 community.docker.docker_compose_v2: 50 project_src: "{{ item }}" 51 state: present 52 loop: 53 - /opt/freshrss 54 - /opt/homepage 55 - /opt/.immich-app 56 - /opt/watchtower