Seafile
Seafile est une plateforme de synchronisation et de partage de fichiers open source, à héberger soi-même plutôt que de confier ses données aux centres de données de Dropbox ou de Google Drive. Elle range les fichiers dans des « bibliothèques » plutôt que dans une arborescence de dossiers unique, ne retransfère que les morceaux d’un fichier réellement modifiés au lieu de tout renvoyer, et sait chiffrer certaines bibliothèques avec un mot de passe que Seafile lui-même ne voit jamais.
Ce que fait vraiment Seafile
Seafile est développé par Seafile Ltd. depuis 2012, avec une philosophie différente de Nextcloud ou ownCloud. Son cœur serveur est écrit en C plutôt qu’en PHP, et sa synchronisation fonctionne moins comme un miroir de dossiers que comme un système de contrôle de version distribué : chaque bibliothèque garde son propre historique, et le client n’envoie que les blocs modifiés, jamais une copie complète du fichier. D’où sa réputation à mieux gérer les grosses bibliothèques, les connexions capricieuses et les transferts interrompus que les outils classiques, fichier par fichier.
Licence : édition Community vs édition Professional. Le cœur serveur de Seafile (haiwen/seafile-server sur GitHub) est publié sous licence AGPL-3.0, comme le confirme le fichier LICENSE.txt du projet (avec une permission additionnelle de lien avec OpenSSL). C’est cette édition Community (CE), gratuite et open source, que couvre cette fiche, sans limite artificielle d’utilisateurs ni de stockage.
Seafile Ltd. vend à part une édition Professional (Pro/EE) à code source fermé, bâtie sur le même cœur : synchronisation LDAP/AD, authentification unique (ADFS, Shibboleth), journaux d’audit, authentification à deux facteurs, effacement à distance, antivirus, garbage collection en ligne et stockage S3/Ceph, tous réservés à Pro. Pro reste gratuite jusqu’à 3 utilisateurs sans fichier de licence, puis facturée par utilisateur et par an (environ 48 $/utilisateur pour 10 à 249 utilisateurs au moment de la rédaction). Pour un homelab, CE couvre déjà tout ce qui compte : synchronisation, partage, versioning, chiffrement. Pro apporte surtout de la gestion de comptes façon entreprise, pas plus de stockage ni de capacité de synchronisation.
Fonctionnalités clés
- Bibliothèques plutôt que dossiers : chaque bibliothèque se synchronise indépendamment, peut être partagée à des groupes avec ses propres permissions, et garde un historique de versions qu’on peut restaurer fichier par fichier.
- Chiffrement côté client en option : n’importe quelle bibliothèque peut être chiffrée avec un mot de passe choisi par l’utilisateur. Le client de bureau chiffre les données avant qu’elles ne quittent l’appareil : le serveur, et quiconque le compromettrait, ne voit jamais ni les données en clair ni le mot de passe.
- Synchronisation différentielle au niveau des blocs : les fichiers sont découpés en blocs adressés par leur contenu. Seuls les blocs modifiés sont transférés, un envoi interrompu reprend au lieu de repartir de zéro, et les blocs identiques entre plusieurs fichiers sont dédupliqués sur le disque.
- Clients bureau, mobile et lecteur virtuel : clients natifs pour Windows, macOS et Linux avec synchronisation sélective des dossiers, applications iOS et Android, et un client « lecteur virtuel » qui diffuse les fichiers à la demande plutôt que de tout synchroniser sur le disque local.
- Partage et collaboration : liens de téléchargement protégés par mot de passe, liens d’upload pour recevoir des fichiers de personnes sans compte, et partage entre utilisateurs organisé par groupes.
Installer Seafile avec Docker Compose
Seafile Ltd. maintient une image Docker officielle, seafileltd/seafile-mc, documentée dans le manuel officiel de déploiement Docker. La stack a besoin d’une base MariaDB et d’une instance Memcached en plus du conteneur Seafile lui-même ; voici un docker-compose.yml minimal :
services:
db:
image: mariadb:10.11
environment:
- MYSQL_ROOT_PASSWORD=change_me_root_pw
volumes:
- /opt/seafile-mysql/db:/var/lib/mysql
restart: unless-stopped
memcached:
image: memcached:1.6.29
entrypoint: memcached -m 256
restart: unless-stopped
seafile:
image: seafileltd/seafile-mc:13.0.25
ports:
- "80:80"
volumes:
- /opt/seafile-data:/shared
environment:
- DB_ROOT_PASSWD=change_me_root_pw
- SEAFILE_ADMIN_EMAIL=admin@example.com
- SEAFILE_ADMIN_PASSWORD=change_me_admin_pw
- SEAFILE_SERVER_HOSTNAME=seafile.example.com
depends_on:
- db
- memcached
restart: unless-stopped
Démarrez la stack avec docker compose up -d, laissez quelques minutes au premier lancement pour s’initialiser, puis ouvrez le nom d’hôte dans un navigateur pour accéder à l’interface web Seahub. La configuration et les journaux persistent dans /opt/seafile-data : c’est ce répertoire qu’il faut sauvegarder, avec un dump de la base de données.
Matériel : le cœur serveur en C de Seafile est nettement plus léger au repos que la stack PHP de Nextcloud. Une petite machine ou VM avec 2 vCPU et 2 à 4 Go de RAM suffit largement pour un usage personnel ou familial ; montez en RAM et passez au SSD à mesure que les bibliothèques et le nombre de clients synchronisés augmentent. Comme pour tout service de sync de fichiers, mettez-le derrière un reverse proxy avec un vrai certificat TLS plutôt que de rediriger les ports bruts vers le conteneur.
Prérequis
Il faut Docker et Docker Compose sur un hôte Linux, un domaine ou sous-domaine pointant vers cet hôte si vous voulez un certificat en bonne et due forme, et un reverse proxy (Nginx Proxy Manager, Caddy, Traefik) ou une configuration Tailscale/VPN si vous ne voulez pas exposer Seafile directement sur internet. Rien de spécifique à Seafile là-dedans : c’est le socle habituel de n’importe quelle appli web auto-hébergée.
Seafile face aux alternatives
Seafile et Nextcloud sont sans arrêt comparés, alors qu’ils abordent des besoins qui se recoupent depuis deux directions opposées. Nextcloud est une plateforme complète : fichiers, calendrier, contacts, messagerie et édition bureautique sous un seul identifiant, au prix d’un serveur plus lourd et d’une surface d’attaque plus large. Seafile, lui, reste concentré sur la synchronisation et le partage, et fait ce seul travail plus vite et plus léger.
- Synchronisation plus rapide et plus efficace sur les grosses bibliothèques et les connexions instables, grâce au transfert différentiel par blocs
- Vrai chiffrement côté client sur la bibliothèque de votre choix, pas juste un chiffrement du disque au repos
- Empreinte serveur nettement plus légère que Nextcloud, plus facile à faire tourner sur du matériel modeste
- Pas de calendrier, de contacts, de messagerie ni de suite bureautique intégrés : Seafile fait de la synchronisation et du partage, un point c’est tout, pas une plateforme tout-en-un
- Interface web et applications mobiles fonctionnelles, mais moins soignées que celles de Nextcloud
- Des fonctions d’administration vraiment utiles (LDAP/AD, SSO, journaux d’audit, antivirus, GC en ligne) restent réservées à l’édition Pro payante
Face à Dropbox ou Google Drive, c’est l’arbitrage habituel de l’auto-hébergement : pas d’abonnement, des fichiers qui ne quittent jamais du matériel que vous contrôlez, contre la charge de gérer vous-même sauvegardes, mises à jour et disponibilité. Face à ownCloud, les deux projets ont divergé depuis le fork de Nextcloud en 2016, comme Nextcloud avait lui-même divergé d’ownCloud à l’époque : ownCloud penche aujourd’hui vers l’entreprise, quand Seafile reste un outil de sync ciblé, sans fioritures. Si vous voulez juste synchroniser des dossiers entre quelques machines sans serveur du tout, Syncthing mérite aussi un coup d’œil, même s’il saute l’interface web, les liens de partage et le modèle de bibliothèques chiffrées de Seafile.
Ressources officielles
FAQ
Est-ce que Seafile est vraiment gratuit ?
Oui, l’édition Community est gratuite et open source sous AGPL-3.0, sans limite d’utilisateurs ni de stockage. L’édition Professional est un produit payant à part, pensé pour les organisations qui ont besoin de LDAP/SSO, de journaux d’audit et d’autres contrôles façon entreprise.
Seafile ou Nextcloud, lequel choisir ?
Choisissez Nextcloud si vous voulez calendrier, contacts, messagerie et édition bureautique en plus de la synchronisation, le tout dans une seule appli. Choisissez Seafile si le vrai besoin, c’est la synchronisation et le partage de fichiers, en rapide, léger en ressources, avec un vrai chiffrement côté client.
Est-ce que Seafile prend en charge l’authentification à deux facteurs ?
L’authentification à deux facteurs fait partie des fonctions de l’édition Professional, pas de l’édition Community gratuite. Pour ajouter un second facteur sur un déploiement CE, mettez Seafile derrière un reverse proxy qui gère sa propre couche d’authentification, ou derrière un VPN comme Tailscale.
Faut-il Docker pour faire tourner Seafile ?
Non, mais c’est la voie que prennent la plupart des homelabbers, et celle que Seafile Ltd. documente le plus en détail. Seafile s’installe aussi directement sur Linux depuis les sources ou via des paquets de distribution, comme l’explique le manuel officiel, si vous préférez vous passer des conteneurs.