Files
deploy_home/ansible/roles/podman/tasks/containers/home/photos.yml
2024-12-17 21:52:04 -05:00

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