services: nginx: build: ./nginx ports: - "127.0.0.1:8081:80" restart: unless-stopped security_opt: - no-new-privileges:true volumes: - cache:/var/cache/immich-edge - /var/log/immich-edge/nginx:/var/log/nginx environment: - IMMICH_INTERNAL_URL - CACHE_MODE - CACHE_MAX_SIZE - CACHE_TTL - RATE_LIMIT - CACHE_DIR=/var/cache/immich-edge - CACHE_TTL_404=${CACHE_TTL_404:-1m} - CACHE_PATTERN_THUMBS=${CACHE_PATTERN_THUMBS:-^/api/assets/([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/thumbnail} - CACHE_PATTERN_VIDEOS=${CACHE_PATTERN_VIDEOS:-^/api/assets/([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})/video/playback} - IMMICH_THUMBS_PATH=${IMMICH_THUMBS_PATH:-thumbs} - IMMICH_ENCODED_PATH=${IMMICH_ENCODED_PATH:-encoded-video} - IMMICH_PROFILE_PATH=${IMMICH_PROFILE_PATH:-profile} - AUTH_PORT=${AUTH_PORT:-8088} - NGINX_WORKERS=${NGINX_WORKERS:-auto} depends_on: auth: condition: service_healthy auth: build: ./auth restart: unless-stopped security_opt: - no-new-privileges:true volumes: - cache:/var/cache/immich-edge:ro environment: - IMMICH_INTERNAL_URL - AUTH_PORT=${AUTH_PORT:-8088} - AUTH_TIMEOUT=${AUTH_TIMEOUT:-5} - AUTH_CACHE_TTL=${AUTH_CACHE_TTL:-10s} - CACHE_DIR=/var/cache/immich-edge - IMMICH_THUMBS_PATH=${IMMICH_THUMBS_PATH:-thumbs} - IMMICH_ENCODED_PATH=${IMMICH_ENCODED_PATH:-encoded-video} healthcheck: test: ["CMD", "wget", "-q", "-O-", "http://localhost:${AUTH_PORT:-8088}/health"] interval: 10s timeout: 5s retries: 3 start_period: 5s sync: build: ./sync restart: unless-stopped security_opt: - no-new-privileges:true volumes: - cache:/var/cache/immich-edge - ${RCLONE_DIR:-/etc/immich-edge}:/etc/immich-edge:ro environment: - RCLONE_REMOTE - RCLONE_IMMICH_PATH - RCLONE_SYNC_INTERVAL - CACHE_DIR=/var/cache/immich-edge - CACHE_MAX_SIZE - FULL_SYNC_INTERVAL=${FULL_SYNC_INTERVAL:-86400} - RCLONE_TRANSFERS=${RCLONE_TRANSFERS:-8} - IMMICH_THUMBS_PATH=${IMMICH_THUMBS_PATH:-thumbs} - IMMICH_ENCODED_PATH=${IMMICH_ENCODED_PATH:-encoded-video} - IMMICH_PROFILE_PATH=${IMMICH_PROFILE_PATH:-profile} profiles: - static volumes: cache: