version: "3.8" networks: proxy: external: true # # 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: - ${PATH_PHOTOS}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro networks: - proxy - default env_file: - .env depends_on: - redis - database restart: always deploy: resources: limits: cpus: '1' memory: 2048M security_opt: - no-new-privileges:true labels: - "traefik.enable=true" - "traefik.docker.network=proxy" - "traefik.http.routers.immich.rule=Host(`${HOSTNAME_PHOTOS}`)" - "traefik.http.routers.immich.entrypoints=websecure" - "traefik.http.routers.immich.tls=true" - "traefik.http.routers.immich.tls.certresolver=myresolver" - "traefik.http.services.immich.loadbalancer.server.port=3001" 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: - ${PATH_PHOTOS}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro env_file: - .env depends_on: - redis - database restart: always deploy: resources: limits: cpus: '1' memory: 2048M security_opt: - no-new-privileges:true immich-machine-learning: container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} volumes: - ../.volumes/immich/model-cache:/cache env_file: - .env restart: always deploy: resources: limits: cpus: '1' memory: 2048M security_opt: - no-new-privileges:true redis: container_name: immich_redis image: redis:6.2-alpine@sha256:c5a607fb6e1bb15d32bbcf14db22787d19e428d59e31a5da67511b49bb0f1ccc restart: always deploy: resources: limits: cpus: '0.25' memory: 1024M security_opt: - no-new-privileges:true database: container_name: immich_postgres image: tensorchord/pgvecto-rs:pg14-v0.1.11@sha256:0335a1a22f8c5dd1b697f14f079934f5152eaaa216c09b61e293be285491f8ee env_file: - .env environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} volumes: - ../.volumes/immich/postgres:/var/lib/postgresql/data restart: always deploy: resources: limits: cpus: '1' memory: 2048M security_opt: - no-new-privileges:true