services: immich-server: extends: file: ${TEMPLATES_PATH} service: default container_name: immich_server image: ghcr.io/immich-app/immich-server:release command: [ "start.sh", "immich" ] environment: DB_PASSWORD: ${IMMICH_DB_PASSWORD} DB_HOSTNAME: postgres-with-pg-vector DB_USERNAME: immich DB_DATABASE_NAME: immich REDIS_HOSTNAME: redis volumes: - ${IMMICH_EXTERNAL_PATH}:/usr/src/app/external - ${MEDIA_PATH}/immich/data/library:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro ports: - 2283:3001 labels: # Watchtower - "com.centurylinklabs.watchtower.enable=true" # Traefik - "traefik.enable=true" - "traefik.http.routers.immich-server.rule=Host(`immich.${PUBLIC_DOMAIN}`)" - "traefik.http.routers.immich-server.entrypoints=https" - "traefik.http.routers.immich-server.tls.certresolver=myresolver" - 'traefik.http.routers.immich-server.tls=true' # Middlewares - "traefik.http.routers.immich-server.middlewares=crowdsec-bouncer@file" immich-microservices: extends: file: ${TEMPLATES_PATH} service: default container_name: immich_microservices image: ghcr.io/immich-app/immich-server:release command: [ "start.sh", "microservices" ] environment: DB_PASSWORD: ${IMMICH_DB_PASSWORD} DB_HOSTNAME: postgres-with-pg-vector DB_USERNAME: immich DB_DATABASE_NAME: immich REDIS_HOSTNAME: redis volumes: - ${IMMICH_EXTERNAL_PATH}:/usr/src/app/external - ${MEDIA_PATH}/immich/data/library:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro labels: # Watchtower - "com.centurylinklabs.watchtower.enable=true" immich-machine-learning: extends: file: ${TEMPLATES_PATH} service: default container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:release volumes: - ${MEDIA_PATH}/immich/data/model-cache:/cache labels: # Watchtower - "com.centurylinklabs.watchtower.enable=true"