version: "3.8" services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:v1.87.0@sha256:f260c047e105a8851ee35057a234f5d98ea7e188fa2e666e6cc280d100a8a772 command: ["start.sh", "immich"] volumes: - library:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro env_file: - stack.env depends_on: - redis - database - typesense restart: always networks: - immich immich-microservices: container_name: immich_microservices image: ghcr.io/immich-app/immich-server:v1.87.0@sha256:f260c047e105a8851ee35057a234f5d98ea7e188fa2e666e6cc280d100a8a772 command: ["start.sh", "microservices"] volumes: - library:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro env_file: - stack.env depends_on: - redis - database - typesense restart: always networks: - immich immich-machine-learning: container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:v1.87.0@sha256:9413adc9a2b9a761031b77ce1bfb479aaef3dc46ec57990c5b5646a9e7f853d5 volumes: - model-cache:/cache env_file: - stack.env restart: always networks: - immich immich-web: container_name: immich_web image: ghcr.io/immich-app/immich-web:v1.87.0@sha256:2bef28adbcc60a2ee5dee8cafe109e3d5c6b7bca88d90acdd3eec376200a6d6e env_file: - stack.env restart: always networks: - immich typesense: container_name: immich_typesense image: typesense/typesense:0.25.1@sha256:035ccfbc3fd8fb9085ea205fdcb62de63eaefdbebd710e88e57f978a30f2090d environment: - TYPESENSE_API_KEY=${TYPESENSE_API_KEY} - TYPESENSE_DATA_DIR=/data # remove this to get debug messages - GLOG_minloglevel=1 volumes: - tsdata:/data restart: always networks: - immich redis: container_name: immich_redis image: redis:6.2-alpine@sha256:80cc8518800438c684a53ed829c621c94afd1087aaeb59b0d4343ed3e7bcf6c5 restart: always networks: - immich database: container_name: immich_postgres image: postgres:14-alpine@sha256:50d9be76e9a90da4c781554955e0ffc79d9d5c4226838e64b36aacc97cbc35ad 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 networks: - immich immich-proxy: container_name: immich_proxy image: ghcr.io/immich-app/immich-proxy:v1.87.0@sha256:9b60f2a6c9492306d4a2d182ac9274de6d9df6e6680ca7d55c8fd8348adcdaa6 environment: # Make sure these values get passed through from the env file - IMMICH_SERVER_URL - IMMICH_WEB_URL - LETSENCRYPT_HOST=${IMMICH_HOST:?} - VIRTUAL_HOST=${IMMICH_HOST:?} - VIRTUAL_PORT=${IMMICH_PORT:-8080} depends_on: - immich-server - immich-web restart: always networks: - net - immich volumes: pgdata: model-cache: tsdata: library: networks: net: external: true immich: