142 lines
3.7 KiB
YAML
142 lines
3.7 KiB
YAML
---
|
|
- name: create required photos volumes
|
|
become: true
|
|
ansible.builtin.file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
owner: "{{ podman_subuid.stdout }}"
|
|
group: "{{ podman_user }}"
|
|
mode: 0755
|
|
notify: restorecon podman
|
|
loop:
|
|
- "{{ photos_path }}/psql"
|
|
- "{{ photos_path }}/mlcache"
|
|
- "{{ photos_path }}/storage"
|
|
- "{{ photos_path }}/immich"
|
|
|
|
- name: flush handlers
|
|
ansible.builtin.meta: flush_handlers
|
|
|
|
- name: mount photos cifs
|
|
become: true
|
|
ansible.posix.mount:
|
|
src: "{{ photos_cifs_src }}"
|
|
path: "{{ photos_path }}/storage"
|
|
fstype: cifs
|
|
opts: "username=photos,password={{ photos_cifs_pass }},uid={{ podman_subuid.stdout }},gid={{ podman_subuid.stdout }}"
|
|
state: mounted
|
|
|
|
- name: mount immich cifs
|
|
become: true
|
|
ansible.posix.mount:
|
|
src: "{{ immich_cifs_src }}"
|
|
path: "{{ photos_path }}/immich"
|
|
fstype: cifs
|
|
opts: "username=photos,password={{ photos_cifs_pass }},uid={{ podman_subuid.stdout }},gid={{ podman_subuid.stdout }}"
|
|
state: mounted
|
|
|
|
- import_tasks: podman/podman-check.yml
|
|
vars:
|
|
container_name: immich-machine-learning
|
|
container_image: "{{ ml_image }}"
|
|
|
|
- name: create immich-ml container
|
|
become: true
|
|
become_user: "{{ podman_user }}"
|
|
containers.podman.podman_container:
|
|
name: immich-machine-learning
|
|
image: "{{ ml_image }}"
|
|
restart_policy: on-failure:3
|
|
log_driver: journald
|
|
network:
|
|
- shared
|
|
volumes:
|
|
- "{{ photos_path }}/mlcache:/cache"
|
|
|
|
- name: create systemd startup job for immich-machine-learning
|
|
include_tasks: podman/systemd-generate.yml
|
|
vars:
|
|
container_name: immich-machine-learning
|
|
|
|
- import_tasks: podman/podman-check.yml
|
|
vars:
|
|
container_name: immich-redis
|
|
container_image: "{{ redis_image }}"
|
|
|
|
- name: create immich-redis container
|
|
become: true
|
|
become_user: "{{ podman_user }}"
|
|
containers.podman.podman_container:
|
|
name: immich-redis
|
|
image: "{{ redis_image }}"
|
|
restart_policy: on-failure:3
|
|
log_driver: journald
|
|
network:
|
|
- shared
|
|
|
|
- name: create systemd startup job for immich-redis
|
|
include_tasks: podman/systemd-generate.yml
|
|
vars:
|
|
container_name: immich-redis
|
|
|
|
- import_tasks: podman/podman-check.yml
|
|
vars:
|
|
container_name: immich-postgres
|
|
container_image: "{{ db_image }}"
|
|
|
|
- name: create immich-db container
|
|
become: true
|
|
become_user: "{{ podman_user }}"
|
|
containers.podman.podman_container:
|
|
name: immich-postgres
|
|
image: "{{ db_image }}"
|
|
restart_policy: on-failure:3
|
|
log_driver: journald
|
|
network:
|
|
- shared
|
|
env:
|
|
POSTGRES_DATABASE: photos
|
|
POSTGRES_USER: photos
|
|
POSTGRES_PASSWORD: "{{ photos_db_pass }}"
|
|
POSTGRES_INITDB_ARGS: "--data-checksums"
|
|
volumes:
|
|
- "{{ photos_path }}/psql:/var/lib/postgresql/data"
|
|
|
|
- name: create systemd startup job for immich-postgres
|
|
include_tasks: podman/systemd-generate.yml
|
|
vars:
|
|
container_name: immich-postgres
|
|
|
|
- import_tasks: podman/podman-check.yml
|
|
vars:
|
|
container_name: immich-server
|
|
container_image: "{{ image }}"
|
|
|
|
- name: create immich container
|
|
become: true
|
|
become_user: "{{ podman_user }}"
|
|
containers.podman.podman_container:
|
|
name: immich-server
|
|
image: "{{ image }}"
|
|
restart_policy: on-failure:3
|
|
log_driver: journald
|
|
network:
|
|
- shared
|
|
env:
|
|
REDIS_HOSTNAME: immich-redis
|
|
DB_HOSTNAME: immich-postgres
|
|
DB_DATABASE_NAME: photos
|
|
DB_USERNAME: photos
|
|
DB_PASSWORD: "{{ photos_db_pass }}"
|
|
IMMICH_PORT: 8088
|
|
volumes:
|
|
- "{{ photos_path }}/storage:/mnt/media/originals"
|
|
- "{{ photos_path }}/immich:/usr/src/app/upload"
|
|
ports:
|
|
- "8088:8088"
|
|
|
|
- name: create systemd startup job for immich-server
|
|
include_tasks: podman/systemd-generate.yml
|
|
vars:
|
|
container_name: immich-server
|