The buffering middleware was blocking Server-Sent Events (SSE) used by /api/sync/stream endpoint, causing 404 errors in the mobile app. Removed buffering configuration while keeping unlimited timeouts and proper headers for WebSocket/SSE support. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
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é
traefikpour 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 conteneurtraefik.http.routers.immich.rule=Host(\${DOMAIN}`)` : Règle de routage par domainetraefik.http.routers.immich.entrypoints=websecure: Utilise l'entrypoint HTTPStraefik.http.routers.immich.tls=true: Active TLStraefik.http.routers.immich.tls.certresolver=letsencrypt: Utilise Let's Encrypttraefik.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 HTTPSletsencrypt: nom de votre certresolvertraefik: 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 proxyimmich-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
- Vérifiez que le conteneur est sur le bon réseau :
docker inspect immich_server | grep -A 10 Networks
-
Vérifiez les logs Traefik pour voir s'il détecte le service
-
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
- Documentation Immich : https://immich.app/docs/
- Issues : Créez une issue sur le dépôt Git