version: "3.8" services: immich-server: container_name: immich-server image: altran1502/immich-server:release entrypoint: ["/bin/sh", "./start-server.sh"] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload env_file: - .env environment: - NODE_ENV=production depends_on: - redis - database restart: unless-stopped #labels: # - "com.centurylinklabs.watchtower.enable=true" immich-microservices: container_name: immich-microservices image: altran1502/immich-server:release entrypoint: ["/bin/sh", "./start-microservices.sh"] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload env_file: - .env environment: - NODE_ENV=production depends_on: - redis - database restart: unless-stopped #labels: # - "com.centurylinklabs.watchtower.enable=true" #immich-machine-learning: # image: altran1502/immich-machine-learning:release # container_name: immich-ml # entrypoint: ["/bin/sh", "./entrypoint.sh"] # volumes: # - ${UPLOAD_LOCATION}:/usr/src/app/upload # env_file: # - .env # environment: # - NODE_ENV=production # depends_on: # - database # restart: always # labels: # - "com.centurylinklabs.watchtower.enable=true" immich-web: image: altran1502/immich-web:release container_name: immich-web entrypoint: ["/bin/sh", "./entrypoint.sh"] env_file: - .env restart: unless-stopped #labels: # - "com.centurylinklabs.watchtower.enable=true" redis: container_name: immich-redis image: redis:6.2 restart: unless-stopped #labels: # - "com.centurylinklabs.watchtower.enable=true" database: container_name: immich-database image: postgres:14 env_file: - .env environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} PG_DATA: /var/lib/postgresql/data volumes: - ${DB_DATABASE_LOCATION}:/var/lib/postgresql/data restart: unless-stopped #labels: # - "com.centurylinklabs.watchtower.enable=true" immich-proxy: container_name: immich-proxy image: altran1502/immich-proxy:release ports: - 8080:8080 # WEB UI via proxy; do not remove this proxy service, use it! Even if you have your own reverse proxy. depends_on: - immich-server restart: unless-stopped #labels: # - traefik.enable=false # - traefik.http.routers.immich.rule=Host(`immich.example.com`) # - traefik.http.services.immich.loadbalancer.server.port=8080 # - traefik.docker.network=proxy # # Part for local lan services only # - traefik.http.routers.immich.middlewares=local-ipwhitelist@file # - "com.centurylinklabs.watchtower.enable=true"