volumes: database-data: name: database-data model-cache-data: name: model-cache-data networks: traefik-net: external: true name: traefik-net x-traefik: &x-traefiK networks: - traefik-net - default services: immich-server: image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} command: [ 'start.sh', 'immich' ] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro env_file: - .env <<: *x-traefiK depends_on: - redis - database deploy: labels: - traefik.enable=true - traefik.docker.network=traefik-net - traefik.http.routers.immich.rule=Host(`${EXTERNAL_HOST}`) - traefik.http.routers.immich.entrypoints=${ENTRYPOINTS:-websecure} - traefik.http.routers.immich.tls.certresolver=le - traefik.http.services.immich.loadbalancer.server.port=3001 immich-microservices: image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} command: [ 'start.sh', 'microservices' ] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro env_file: - .env depends_on: - redis - database immich-machine-learning: image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} volumes: - model-cache-data:/cache env_file: - .env redis: image: redis:6.2-alpine database: image: tensorchord/pgvecto-rs:pg14-v0.2.0 environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} volumes: - database-data:/var/lib/postgresql/data