# Seafile Deployment Configuration Docker pour déployer Seafile avec Traefik comme reverse proxy. ## Configuration initiale 1. Copiez `.env.example` vers `.env` et configurez les variables : ```bash cp .env.example .env ``` 2. Modifiez les variables dans `.env` : - `SEAFILE_SERVER_HOSTNAME` : votre nom de domaine - `SEAFILE_ADMIN_EMAIL` : email administrateur - `SEAFILE_ADMIN_PASSWORD` : mot de passe administrateur - Les mots de passe de base de données 3. Démarrez les services : ```bash 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 : 1. Accédez au conteneur Seafile : ```bash docker exec -it seafile bash ``` 2. Éditez le fichier de configuration : ```bash nano /opt/seafile/conf/seahub_settings.py ``` 3. Ajoutez à la fin du fichier (remplacez par votre domaine réel) : ```python CSRF_TRUSTED_ORIGINS = ["https://votre-domaine.com"] ``` 4. Sauvegardez (Ctrl+O, Entrée, Ctrl+X) et sortez du conteneur : ```bash exit ``` 5. Redémarrez Seafile : ```bash 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)