Files
nas-tools/immich/docker-compose.yml
T
Gan, Jimmy cdd364e645 security: bind service ports to localhost only
Bind navidrome, n8n, immich, openclaw, gitea web ports to 127.0.0.1
to prevent direct LAN access bypassing Caddy/Authelia.

Tailscale userspace networking on Synology proxies through localhost,
so VPS Caddy access via Tailscale IP continues to work.

Gitea SSH port (2222) remains on all interfaces for external git push.
2026-02-28 22:47:36 +08:00

76 lines
1.9 KiB
YAML

services:
immich-server:
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
container_name: immich-server
restart: unless-stopped
ports:
- "127.0.0.1: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_ENABLED: "false"
healthcheck:
test: ["CMD", "wget", "-q", "--spider", "http://localhost:2283/api/server/ping"]
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
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
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: