--- - name: Deploy Immich DB include_role: name: docker vars: name: immich_postgres directories: - "{{ data_dir }}/immich" - "{{ data_dir }}/immich/model-cache" - "{{ data_dir }}/immich/db" image: name: ghcr.io/immich-app/postgres tag: 14-vectorchord0.4.3-pgvectors0.2.0 volumes: - "{{ data_dir }}/immich/db:/var/lib/postgresql/data" env: POSTGRES_PASSWORD: "{{ IMMICH_DB_PASSWORD }}" POSTGRES_USER: "{{ IMMICH_DB_USERNAME }}" POSTGRES_DB: "{{ IMMICH_DB_DATABASE_NAME }}" POSTGRES_INITDB_ARGS: "--data-checksums" networks: - name: immich network_name: immich - name: Deploy Immich Redis include_role: name: docker vars: name: immich_redis image: name: docker.io/valkey/valkey tag: 8-bookworm networks: - name: immich - name: Deploy Immich Server include_role: name: docker vars: name: immich image: name: ghcr.io/immich-app/immich-server tag: v2.1.0 networks: - name: homelab - name: immich volumes: - "{{ IMMICH_UPLOAD_LOCATION }}:/usr/src/app/upload" - "/etc/localtime:/etc/localtime:ro" env: DB_HOSTNAME: "immich_postgres" REDIS_HOSTNAME: "immich_redis" DB_PASSWORD: "{{ IMMICH_DB_PASSWORD }}" DB_USERNAME: "{{ IMMICH_DB_USERNAME }}" DB_DATABASE_NAME: "{{ IMMICH_DB_DATABASE_NAME }}" labels: traefik.enable: "true" traefik.http.routers.img.rule: Host(`img.fntz.net`) traefik.http.routers.img.entrypoints: webSecure traefik.http.routers.img.tls.certresolver: letsencrypt traefik.http.services.img.loadbalancer.server.port: "2283"