Files
nas-tools/immich/docker-compose.yml
T
Gan, Jimmy 9e85410340 fix: stabilize Immich mobile sync with timeout and ML fixes
- Add 10m read/write timeouts to Caddy reverse proxy for photos domains
- Fix ML service URL to use correct docker network hostname
- Resolves 'Request aborted' errors during mobile photo uploads
2026-04-05 20:46:04 +08:00

82 lines
2.1 KiB
YAML

services:
immich-server:
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
container_name: immich-server
restart: unless-stopped
labels:
- "com.centurylinklabs.watchtower.enable=true"
ports:
- "0.0.0.0:2283:2283"
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /volume1/photo:/mnt/photo:ro
- /volume1/homes/zjgump/Photos:/mnt/synology-photos:ro
- /etc/localtime:/etc/localtime:ro
environment:
DB_HOSTNAME: immich-db
DB_USERNAME: ${DB_USERNAME}
DB_PASSWORD: ${DB_PASSWORD}
DB_DATABASE_NAME: ${DB_DATABASE_NAME}
REDIS_HOSTNAME: immich-redis
IMMICH_MACHINE_LEARNING_URL: http://immich-machine-learning:3003
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:2283/api/server/ping || exit 1"]
interval: 30s
timeout: 5s
retries: 3
depends_on:
- immich-redis
- immich-db
networks:
- immich
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
immich-redis:
image: redis:7-alpine
container_name: immich-redis
restart: unless-stopped
labels:
- "com.centurylinklabs.watchtower.enable=true"
healthcheck:
test: redis-cli ping || exit 1
networks:
- immich
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
immich-db:
image: tensorchord/pgvecto-rs:pg16-v0.2.0
container_name: immich-db
restart: unless-stopped
labels:
- "com.centurylinklabs.watchtower.enable=true"
environment:
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: "--data-checksums"
volumes:
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
healthcheck:
test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' || exit 1
interval: 30s
timeout: 5s
retries: 5
networks:
- immich
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
networks:
immich: