version: "3.8" # # WARNING: Make sure to use the docker-compose.yml of the current release: # # https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml # # The compose file on main may not be compatible with the latest release. # name: immich services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} command: [ "start.sh", "immich" ] volumes: - ${IMMICH_UPLOAD_DIR}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro - ${IMMICH_EXTERNAL_DIR}:/mnt/media:ro env_file: - stack.env ports: - ${IMMICH_PORT_HTTP}:3001 - ${IMMICH_PORT_HTTPS}:443 expose: - ${IMMICH_PORT_HTTP} - ${IMMICH_PORT_HTTPS} depends_on: - redis - database restart: always labels: - traefik.enable=true - traefik.http.routers.immich.entrypoints=web - traefik.http.routers.immich.rule=Host(`${IMMICH_URL}`) - traefik.http.routers.immich.middlewares=immich-https-redirect - traefik.http.middlewares.immich-https-redirect.redirectscheme.scheme=https - traefik.http.routers.immich-secure.entrypoints=websecure - traefik.http.routers.immich-secure.rule=Host(`${IMMICH_URL}`) - traefik.http.routers.immich-secure.tls=true - traefik.http.routers.immich-secure.tls.certresolver=myresolver - traefik.http.services.immich-secure.loadbalancer.server.port=3001 - traefik.http.services.immich-secure.loadbalancer.server.scheme=http - traefik.docker.network=proxy immich-microservices: container_name: immich_microservices image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} # extends: # file: hwaccel.yml # service: hwaccel command: [ "start.sh", "microservices" ] volumes: - ${IMMICH_UPLOAD_DIR}:/usr/src/app/upload - ${IMMICH_EXTERNAL_DIR}:/mnt/media:ro - /etc/localtime:/etc/localtime:ro env_file: - stack.env depends_on: - redis - database restart: always immich-machine-learning: container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} volumes: - model-cache:/cache env_file: - stack.env restart: always redis: container_name: immich_redis image: redis:6.2-alpine@sha256:c5a607fb6e1bb15d32bbcf14db22787d19e428d59e31a5da67511b49bb0f1ccc restart: always database: container_name: immich_postgres image: tensorchord/pgvecto-rs:pg14-v0.1.11@sha256:0335a1a22f8c5dd1b697f14f079934f5152eaaa216c09b61e293be285491f8ee env_file: - stack.env environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} volumes: - pgdata:/var/lib/postgresql/data restart: always volumes: pgdata: model-cache: