149 lines
5.9 KiB
Markdown
149 lines
5.9 KiB
Markdown
---
|
|
title: Seafile
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, cloud-storage, sync, c, python, team, file-libraries, seafile]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Self-hosted+Cloud, https://github.com/haiwen/seafile]
|
|
---
|
|
|
|
# 🌊 Seafile
|
|
|
|
> **Le spécialiste de la synchronisation rapide et fiable pour les équipes** : écrit en C pour le démon de fichiers et en Python/Django pour le backend web, Seafile met l'accent sur la performance de sync, la confidentialité par « bibliothèques chiffrées » et l'intégration poussée dans les SI d'entreprise.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [seafile.com](https://www.seafile.com/) |
|
|
| **GitHub** | [haiwen/seafile](https://github.com/haiwen/seafile) |
|
|
| **License** | AGPL-3.0 (Community), propriétaire (Pro) |
|
|
| **Langage** | C (démon), Python (web), Go (modules) |
|
|
| **Étoiles** | 12 700 ⭐ |
|
|
| **Dernière MAJ** | 2026-05-30 |
|
|
| **Catégorie** | [[cat-cloud-storage]] |
|
|
|
|
## 📝 Description
|
|
|
|
**Seafile** est né en 2010 dans l'équipe du fondateur Daniel Pan en Chine, avec un parti pris technique fort : **séparer le moteur de stockage (C, ultra-performant) du serveur web (Python/Django)**. Cette architecture explique pourquoi Seafile reste aujourd'hui l'une des solutions de synchronisation les plus rapides, en particulier sur des arborescences profondes comportant des millions de petits fichiers, où [[app-nextcloud]] montre ses limites.
|
|
|
|
Le concept central de Seafile est celui de **« bibliothèque »** (library) : un conteneur de fichiers qui peut être chiffré côté serveur (clé dérivée du mot de passe, jamais stockée), partagé à granularité fine (lecture / écriture / admin) et synchronisé sur plusieurs devices avec déduplication par bloc. Les clients natifs (Windows, macOS, Linux, iOS, Android) gèrent le mode offline, le verrouillage de fichiers, l'historique et les snapshots. Le web UI est volontairement sobre et privilégie la productivité.
|
|
|
|
L'écosystème comprend aussi **Seafile Pro** (édition commerciale avec clustering, audit, AD/LDAP avancé, intégrations Office 365), **SeaDoc** (édition collaborative type Google Docs) et **SeaMeet** (visioconférence). L'open source core reste néanmoins très utilisable pour la plupart des cas.
|
|
|
|
## 🚀 Installation
|
|
|
|
### Option 1 : Docker Compose (recommandé)
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
version: '3.8'
|
|
|
|
services:
|
|
db:
|
|
image: mariadb:11
|
|
container_name: seafile-db
|
|
restart: unless-stopped
|
|
environment:
|
|
MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASS}
|
|
MARIADB_LOG_CONSOLE: "true"
|
|
volumes:
|
|
- db_data:/var/lib/mysql
|
|
|
|
memcached:
|
|
image: memcached:1.6-alpine
|
|
container_name: seafile-memcached
|
|
restart: unless-stopped
|
|
command: memcached -m 256
|
|
|
|
seafile:
|
|
image: seafileltd/seafile-mc:11.0
|
|
container_name: seafile
|
|
restart: unless-stopped
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
volumes:
|
|
- seafile_data:/shared
|
|
depends_on:
|
|
- db
|
|
- memcached
|
|
environment:
|
|
DB_HOST: db
|
|
DB_ROOT_PASSWD: ${DB_ROOT_PASS}
|
|
SEAFILE_ADMIN_EMAIL: admin@example.com
|
|
SEAFILE_ADMIN_PASSWORD: ${ADMIN_PASS}
|
|
SEAFILE_SERVER_HOSTNAME: cloud.example.com
|
|
SEAFILE_SERVER_PROTOCOL: https
|
|
|
|
volumes:
|
|
db_data:
|
|
seafile_data:
|
|
```
|
|
|
|
### Option 2 : Paquets Linux
|
|
|
|
```bash
|
|
# Debian/Ubuntu - script officiel
|
|
wget --no-check-certificate https://raw.githubusercontent.com/haiwen/seafile-server-installer/master/seafile-11.0_ubuntu_22.04.sh
|
|
sudo bash seafile-11.0_ubuntu_22.04.sh
|
|
```
|
|
|
|
## ⚙️ Configuration
|
|
|
|
- **`seahub_settings.py`** : configuration Django (DATABASES, caches, HTTPS forcé).
|
|
- **`ccnet.conf`** : configuration réseau (SERVER_HOSTNAME, ports).
|
|
- **FUSE** : monter une bibliothèque en filesystem Linux via `seaf-fuse`.
|
|
- **WebDAV** : activé nativement, complémentaire à la sync cliente.
|
|
- **Stockage S3** : backend `S3 Backend` pour déporter le stockage sur un bucket MinIO/AWS.
|
|
- **LDAP/AD** : intégration en quelques clics depuis l'admin web.
|
|
- **Quota** : paramétrable par utilisateur, groupe ou bibliothèque.
|
|
|
|
## 🔄 Alternatives
|
|
|
|
### Open Source
|
|
- [[app-nextcloud]] — Plus complet côté suite collaborative
|
|
- [[app-owncloud]] — Ancien standard PHP
|
|
- [[app-cloudreve]] — Go, moderne, axé partage
|
|
- [[app-opencloud]] — Go, fork d'OCIS
|
|
- [[app-oxicloud]] — Rust
|
|
- [[app-sync-in]] — Node.js, plus modeste
|
|
- [[app-mydrive]] — Node.js
|
|
- **Syncthing** — Pas de serveur central, sync P2P
|
|
- **FileBrowser** — UI web minimaliste
|
|
- **Pydio Cells** — Plateforme française, microservices Go
|
|
|
|
### Propriétaires (ce que cette app remplace)
|
|
- **Dropbox Business** — sync rapide
|
|
- **Egnyte** — partage entreprise
|
|
- **Citrix ShareFile** — conformité
|
|
- **OneDrive for Business** — sur Windows
|
|
|
|
## 🔐 Sécurité
|
|
|
|
- **Bibliothèques chiffrées** : chiffrement AES-256 par bibliothèque, clé dérivée du mot de passe, **non récupérable** (par design).
|
|
- **2FA TOTP** : activable dans l'admin, compatible [[app-2fauth]].
|
|
- **Auditing** : journal des accès fichiers, exportable via syslog.
|
|
- **Rate-limiting** : module `seafevents` configurable.
|
|
- **Headers de sécurité** : laissez le reverse-proxy ([[app-traefik]]) gérer HSTS, CSP, X-Frame-Options.
|
|
- **Mises à jour** : cycle stable de 6 mois (versions majeures) + correctifs mensuels.
|
|
- **Bug bounty** : programme privé sur la version Pro.
|
|
|
|
## 📚 Ressources
|
|
|
|
- [Site officiel](https://www.seafile.com/)
|
|
- [Documentation admin](https://manual.seafile.com/)
|
|
- [GitHub haiwen/seafile](https://github.com/haiwen/seafile)
|
|
- [Forum communauté](https://forum.seafile.com/)
|
|
- [Seafile Pro Demo](https://demo.seafile.com/)
|
|
|
|
## Pages Liées
|
|
|
|
- [[cat-cloud-storage]] — Catégorie Cloud Storage
|
|
- [[recettes-docker-compose]] — Templates Docker
|
|
- [[app-nextcloud]] — Concurrent plus complet
|
|
- [[securisation-home-lab]] — Sécurité
|
|
- [[Catalogue-Self-Hosted]] — Hub
|