---
immich_db_host: database
immich_db_db: immich
immich_db_user: "{{ vault_immich.db.user }}"
immich_db_pass: "{{ vault_immich.db.pass }}"

immich_svc:
  domain: "{{ all_services | service_get_domain(role_name) }}"
  port: 2283
  version: release
  db:
    host: "{{ postgres.host }}"
    database: authentik


immich_env:
  # IMMICH_CONFIG_FILE: /immich.json

  TZ: "{{ timezone }}"

  DB_HOSTNAME: "{{ immich_db_host }}"
  DB_DATABASE_NAME: "{{ immich_db_db }}"
  DB_USERNAME: "{{ immich_db_user }}"
  DB_PASSWORD: "{{ immich_db_pass }}"

  POSTGRES_DB: "{{ immich_db_db }}"
  POSTGRES_USER: "{{ immich_db_user }}"
  POSTGRES_PASSWORD: "{{ immich_db_pass }}"

  REDIS_HOSTNAME: redis

immich_compose:
  watchtower: monitor
  image: ghcr.io/immich-app/immich-server:release
  volumes:
    - upload:/usr/src/app/upload
  file:
    services:
      app:
        depends_on:
          - database
          - redis

      machine-learning:
        image: ghcr.io/immich-app/immich-machine-learning:release
        volumes:
          - model-cache:/cache
        env_file:
          - service.env
        restart: always
        networks:
          default:

      redis:
        image: redis:6.2-alpine
        restart: always
        networks:
          default:

      database:
        image: tensorchord/pgvecto-rs:pg16-v0.2.0
        env_file:
          - service.env
        volumes:
          - pgdata:/var/lib/postgresql/data
        restart: always
        networks:
          default:

    volumes:
      upload: "{{ vault_immich.upload_volume_driver }}"
      pgdata:
      model-cache: