diff --git a/README.md b/README.md new file mode 100644 index 0000000..12285b2 --- /dev/null +++ b/README.md @@ -0,0 +1,71 @@ +# 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)