Document initial setup steps and provide detailed instructions for fixing CSRF verification errors in Seafile v11+ when running behind Traefik reverse proxy. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1.9 KiB
1.9 KiB
Seafile Deployment
Configuration Docker pour déployer Seafile avec Traefik comme reverse proxy.
Configuration initiale
-
Copiez
.env.examplevers.envet configurez les variables :cp .env.example .env -
Modifiez les variables dans
.env:SEAFILE_SERVER_HOSTNAME: votre nom de domaineSEAFILE_ADMIN_EMAIL: email administrateurSEAFILE_ADMIN_PASSWORD: mot de passe administrateur- Les mots de passe de base de données
-
Démarrez les services :
docker-compose up -d
Fix CSRF (Seafile v11+)
Après la mise à jour vers Seafile v11, Django a renforcé les vérifications CSRF. Si vous obtenez l'erreur :
Interdit (403)
La vérification CSRF a échoué. La requête a été interrompue.
Vous devez ajouter votre domaine aux origines de confiance CSRF :
-
Accédez au conteneur Seafile :
docker exec -it seafile bash -
Éditez le fichier de configuration :
nano /opt/seafile/conf/seahub_settings.py -
Ajoutez à la fin du fichier (remplacez par votre domaine réel) :
CSRF_TRUSTED_ORIGINS = ["https://votre-domaine.com"] -
Sauvegardez (Ctrl+O, Entrée, Ctrl+X) et sortez du conteneur :
exit -
Redémarrez Seafile :
docker-compose restart seafile
Note : Cette configuration est persistante car le fichier seahub_settings.py est stocké dans le volume /opt/seafile-data qui est monté sur l'hôte.
Structure
docker-compose.yml: Configuration des services (Seafile, MariaDB, Memcached).env: Variables d'environnement (non versionné).env.example: Exemple de configuration
Services
- seafile : Serveur Seafile (port 80 interne, exposé via Traefik)
- db : Base de données MariaDB
- memcached : Cache en mémoire
- traefik : Reverse proxy (réseau externe)