Add Traefik reverse proxy support with automatic SSL

Configure Immich to work with existing Traefik instance:
- Add Traefik labels to immich-server for automatic routing
- Add external traefik network connection
- Disable direct port exposure (use Traefik instead)
- Add DOMAIN variable to .env.example
- Improve .gitignore for generated files and volumes
- Add comprehensive README with deployment instructions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
BeauTroll
2026-01-04 07:20:08 +01:00
parent e83e215120
commit 0d8d9dcda8
4 changed files with 280 additions and 2 deletions

View File

@@ -22,14 +22,24 @@ services:
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- '2283:2283'
# ports:
# - '2283:2283' # Désactivé car on utilise Traefik - décommentez si vous voulez un accès direct
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false
networks:
- traefik
labels:
- "traefik.enable=true"
- "traefik.http.routers.immich.rule=Host(`${DOMAIN}`)"
- "traefik.http.routers.immich.entrypoints=websecure"
- "traefik.http.routers.immich.tls=true"
- "traefik.http.routers.immich.tls.certresolver=letsencrypt"
- "traefik.http.services.immich.loadbalancer.server.port=3001"
- "traefik.docker.network=traefik"
immich-machine-learning:
container_name: immich_machine_learning
@@ -70,5 +80,9 @@ services:
shm_size: 128mb
restart: always
networks:
traefik:
external: true
volumes:
model-cache: