OpenSourcePicks

Open source alternatives to popular software, with live GitHub data

GitHub stats refreshed every day

Seafile

File sync and share server built around libraries, with delta sync and per-library encryption

Open source alternative to

Visit SeafileGitHubDocumentation

Main features

  • Libraries that sync independently, with selective sync
  • Delta sync that transfers only changed content and resumes transfers
  • Conflict handling based on file history
  • Library encryption with a password chosen by the user
  • Virtual drive client with files on demand
  • Share links with password and expiry, upload links and group shares
  • File version history
  • Custom file properties with table, kanban, gallery and map views
  • SeaDoc collaborative documents, wikis and whiteboards
  • OnlyOffice and Collabora integration

What Seafile does

Seafile is a file sync and share server organized around libraries: top-level folders that sync on their own, can be shared with users or groups and can each be encrypted with a separate password. Users choose which libraries to sync to each computer, or browse everything through a virtual drive client that downloads files only when they are opened.

The sync engine is Seafile’s main strength. It transfers only the parts of a file that changed, resumes interrupted transfers and resolves conflicts by looking at file history rather than timestamps, which makes it reliable with large libraries and many small files. Every library keeps version history, and share links can carry a password and an expiry date. Upload links let outsiders send files into a folder.

Recent releases go beyond plain storage. Libraries can have custom file properties displayed as tables, kanban boards, galleries or maps, and there are hierarchical tags, wikis, Excalidraw whiteboards and SeaDoc, a built-in collaborative document editor. OnlyOffice and Collabora Online can be connected for Office files.

Security and encryption

An encrypted library uses a random 32-byte file key to encrypt data with AES-256; that file key is itself encrypted with a key derived from the library password and stored on the server. Since server version 12 admins can choose PBKDF2 with configurable iterations or Argon2id for that derivation.

The manual is open about the limits. File and folder names, sizes and history metadata are not encrypted. When you open an encrypted library in the web interface or through the desktop virtual drive, the password is sent to the server, which keeps it in memory for an hour. Libraries created in the web interface pass keys through the server, integrity is not guaranteed, and the mobile apps no longer encrypt on the device since version 3.0.0. True client-side encryption therefore applies to libraries created and used from the desktop sync client.

Self-hosting Seafile

The Docker deployment brings up Seafile with Redis, MariaDB, SeaDoc and Caddy. The Community Edition needs about 2 CPU cores, 2 GB of RAM and 10 GB of disk (50 GB or more recommended), on Ubuntu 24.04/22.04 or Debian 12/11. Kubernetes manifests, a Helm chart and a binary install are also documented. Optional components include a notification server, a metadata server and Seafile AI.

Hosted version

Seafile Ltd runs SeafilePlus Cloud, a hosted service with registration and a trial. Prices are given on request.

Limitations

Several features organizations often expect are in the proprietary Professional Edition only: full-text search, fine-grained sub-folder permissions, audit logs, clustering and some storage backends in high-availability setups. The license picture is also mixed, with different licenses for the sync daemon, the server core and the web interface. And because encrypted libraries reveal names and sizes, and web access decrypts on the server, they are weaker than true end-to-end encryption.

Who it suits

Seafile fits teams and families who mainly want fast, dependable file sync on their own server, with less to maintain than Nextcloud. If you need everything to be end-to-end encrypted, Peergos goes further.

License details

GPL-2.0. This repository (desktop sync daemon) is GPLv2 with an OpenSSL exception. The server core is AGPLv3 and the Seahub web UI Apache 2.0. Seafile Professional Edition is proprietary.

Technical details

Self-hosting needs

  • MariaDB
  • Redis

Built with

  • C
  • Python
  • Django

GitHub topics

  • cloud-storage
  • document-management
  • file-sharing
  • file-sync
  • knowledge-management
  • markdown
  • wiki

Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.