BeauTroll 754f3e6b05 Remove invalid Traefik labels causing configuration errors
Remove responseHeaderTimeout and idleConnTimeout labels that are not supported at the loadbalancer level in Traefik, causing "field not found" errors. These timeout configurations must be set at the entrypoint level instead. Keep essential labels for WebSocket/SSE support.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-05 06:22:38 +01:00

Immich - Serveur de photos auto-hébergé

Déploiement Docker d'Immich configuré pour fonctionner avec Traefik existant.

Prérequis

  • Docker et Docker Compose
  • Traefik déjà installé et configuré sur l'host
  • Un réseau Docker nommé traefik pour Traefik
  • Un nom de domaine pointant vers votre serveur
  • Au moins 4GB de RAM
  • Espace disque suffisant pour vos photos

Installation

1. Cloner ce dépôt

git clone <url-du-repo>
cd agence66-immich

2. Vérifier le réseau Traefik

Assurez-vous que votre réseau Traefik existe :

docker network ls | grep traefik

Si le réseau n'existe pas, créez-le :

docker network create traefik

3. Configuration

Créer le fichier .env :

cp .env.example .env

Modifier le fichier .env :

# Votre domaine
DOMAIN=photos.votredomaine.com

# Base de données - CHANGEZ CE MOT DE PASSE !
DB_PASSWORD=VotreMotDePasseSecurise123!

4. Créer le répertoire de stockage

mkdir -p library

5. Lancer les services

docker-compose up -d

6. Vérifier le déploiement

docker-compose logs -f

Accès

L'application sera accessible sur https://photos.votredomaine.com

Le routage et SSL sont gérés par votre Traefik existant.

Important : Au premier lancement, créez un compte administrateur.

Configuration Traefik

Labels configurés

Le service immich-server utilise ces labels Traefik :

  • traefik.enable=true : Active Traefik pour ce conteneur
  • traefik.http.routers.immich.rule=Host(\${DOMAIN}`)` : Règle de routage par domaine
  • traefik.http.routers.immich.entrypoints=websecure : Utilise l'entrypoint HTTPS
  • traefik.http.routers.immich.tls=true : Active TLS
  • traefik.http.routers.immich.tls.certresolver=letsencrypt : Utilise Let's Encrypt
  • traefik.http.services.immich.loadbalancer.server.port=3001 : Port interne du service

Personnalisation

Si votre Traefik utilise des noms différents, modifiez dans le docker-compose.yml :

  • websecure : nom de votre entrypoint HTTPS
  • letsencrypt : nom de votre certresolver
  • traefik : nom de votre réseau Docker

Architecture

  • Immich Server : Application principale (exposée via Traefik)
  • Immich Microservices : Services de traitement en arrière-plan
  • Immich ML : Machine Learning pour reconnaissance faciale et objets
  • PostgreSQL : Base de données avec extension pgvecto-rs
  • Redis : Cache et gestion des tâches

Réseaux

  • traefik (externe) : Réseau partagé avec Traefik pour le reverse proxy
  • immich-internal : Réseau interne pour la communication entre services

Gestion

Arrêter les services

docker-compose down

Voir les logs

# Tous les services
docker-compose logs -f

# Un service spécifique
docker-compose logs -f immich-server

Mettre à jour Immich

docker-compose pull
docker-compose up -d

Redémarrer un service

docker-compose restart immich-server

Sauvegardes

Base de données

docker exec -t immich_postgres pg_dumpall -c -U postgres > backup_$(date +%Y%m%d_%H%M%S).sql

Restaurer une sauvegarde

cat backup_XXXXXXXX_XXXXXX.sql | docker exec -i immich_postgres psql -U postgres

Sauvegarder les photos

# Sauvegarde locale
tar -czf immich-library-$(date +%Y%m%d).tar.gz library/

# Ou avec rsync vers un serveur distant
rsync -avz ./library/ user@backup-server:/path/to/backup/

Script de sauvegarde automatique

Créez un cron job pour sauvegardes quotidiennes :

#!/bin/bash
# /opt/scripts/backup-immich.sh

BACKUP_DIR="/var/backups/immich"
DATE=$(date +%Y%m%d_%H%M%S)

mkdir -p $BACKUP_DIR

# Sauvegarde DB
docker exec -t immich_postgres pg_dumpall -c -U postgres > $BACKUP_DIR/db_$DATE.sql

# Garder seulement les 7 dernières sauvegardes
find $BACKUP_DIR -name "db_*.sql" -mtime +7 -delete

Ajoutez au crontab :

crontab -e
# Ajouter : 0 2 * * * /opt/scripts/backup-immich.sh

Dépannage

Immich n'est pas accessible via Traefik

  1. Vérifiez que le conteneur est sur le bon réseau :
docker inspect immich_server | grep -A 10 Networks
  1. Vérifiez les logs Traefik pour voir s'il détecte le service

  2. Vérifiez que le domaine résout bien vers votre serveur :

nslookup photos.votredomaine.com

Erreur "network traefik not found"

Créez le réseau :

docker network create traefik

Erreur de connexion à la base de données

Vérifiez que tous les services sont démarrés :

docker-compose ps

Consultez les logs :

docker-compose logs database

Performance lente

Vérifiez les ressources :

docker stats

Immich nécessite au minimum 4GB de RAM.

Support

Description
No description provided
Readme 47 KiB