version: "3.8" services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:v1.84.0@sha256:3440f320004fe32a95d6dd7b6359de6a352218b931103ad70d8f73088aae255d 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.84.0@sha256:3440f320004fe32a95d6dd7b6359de6a352218b931103ad70d8f73088aae255d 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.84.0@sha256:3ca2825ccfe44eacc8c856e1cf66bdf6f7354b752d8bbebee91f2f64b79c5675 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.84.0@sha256:cd199bc511516cf4af3e6b2ae83a4ad1abd852464cfb29cda21759601c5ba15c 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:3995fe6ea6a619313e31046bd3c8643f9e70f8f2b294ff82659d409b47d06abb restart: always networks: - immich database: container_name: immich_postgres image: postgres:14-alpine@sha256:874f566dd512d79cf74f59754833e869ae76ece96716d153b0fa3e64aec88d92 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.84.0@sha256:277290787ca1ffca88b51088a581ed0a9c344ccb650ef435469c602d10d67b7e 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: