version: "3.8" name: immich-prod x-server-build: &server-common image: immich-server:latest build: context: ../ dockerfile: server/Dockerfile volumes: - ${UPLOAD_LOCATION}/photos:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro env_file: - .env restart: always services: immich-server: container_name: immich_server command: [ "./start-server.sh" ] <<: *server-common ports: - 2283:3001 depends_on: - redis - database - typesense immich-microservices: container_name: immich_microservices command: [ "./start-microservices.sh" ] <<: *server-common # extends: # file: hwaccel.yml # service: hwaccel depends_on: - redis - database - typesense - immich-server immich-machine-learning: container_name: immich_machine_learning image: immich-machine-learning:latest build: context: ../machine-learning dockerfile: Dockerfile volumes: - model-cache:/cache env_file: - .env restart: always typesense: container_name: immich_typesense image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd environment: - TYPESENSE_API_KEY=${TYPESENSE_API_KEY} - TYPESENSE_DATA_DIR=/data # remove this to get debug messages - GLOG_minloglevel=1 volumes: - ${UPLOAD_LOCATION}/typesense:/data restart: always redis: container_name: immich_redis image: redis:6.2-alpine@sha256:60e49e22fa5706cd8df7d5e0bc50ee9bab7c608039fa653c4d961014237cca46 restart: always database: container_name: immich_postgres image: postgres:14-alpine@sha256:6a0e35296341e676fe6bd8d236c72afffe2dfe3d7eb9c2405c0f3fc04500cd07 env_file: - .env environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} volumes: - ${UPLOAD_LOCATION}/postgres:/var/lib/postgresql/data restart: always volumes: model-cache: