app | ||
common | ||
controller | ||
daemon | ||
data | ||
debian | ||
doc | ||
gui | ||
httpserver | ||
include | ||
lib | ||
m4 | ||
monitor | ||
msi | ||
po | ||
python | ||
scripts | ||
server | ||
tests | ||
tools | ||
web | ||
.gitignore | ||
autogen.sh | ||
configure.ac | ||
LICENCE.txt | ||
Makefile.am | ||
README.markdown | ||
seafile-web.in | ||
setupmac.sh | ||
setupwin.py | ||
updateversion.sh |
Introduction
Seafile enables you to build private cloud for file sharing and collaboration among team members in your company/organization.
First you create a file library in the web and upload files to it. Then you share it into a team or with another user.
File libraries can also be synchronized among computers and mobile devices. You download a library to your PC. Whenever you add, delete or edit a file, the latest version be uploaded to the server automatically and then be synchronized to everyone's computer.
Feature Summary
Seafile can be used to build a full-fledged cloud storage platform. It has following features:
- Each library can be synced separately.
- Sync with existing folders.
- Groups, users can create and join groups.
- File revisions.
- File comments, event notifications,
- Library encryption with a user chosen password.
Compared to other open-source Dropbox-like projects, such as https://github.com/hbons/SparkleShare, Seafile has several advantages:
- Mature, reliable, production-ready file syncing algorithm.
- Doesn't depend on Git.
- Not a Dropbox-clone, but a newly designed product for teamwork.
Internal
Seafile uses GIT's version control model, but simplified for automatic synchronization, and doesn't depend on GIT. Every library is like a GIT repository. It has its own unique history, which consists of a list of commits. A commit points to the root of a file system snapshot. The snapshot consists of directories and files. Files are further divided into blocks for more efficient network transfer and storage usage.
Differences to GIT:
- Automatic syncing.
- Clients do not store file history, thus avoids the overhead of storing data twice. GIT is not efficient for larger files (such as images).
- Files are further divided into blocks for more efficient network transfer and storage usage.
- File transfer can be resumed.
- Support different storage backends on the server side.
- Support downloading from multiple block servers for accelerating file transfer.
- More user-friendly file conflicts handling similar to Dropbox (Add user's name as suffix to conflicted file).
- Gracefully handles corner cases that user modifies files when auto-sync is running. GIT is not designed to work in these cases.
Build and Run
See https://github.com/haiwen/seafile/wiki
Contact
Twitter: @seafile
Google Group: https://groups.google.com/forum/?fromgroups#!forum/seafile