Where Does Seafile Store Data and Config?
Seafile sync root, internal metadata and ccnet config on every OS, and the antivirus exclusion.
Last updated
Seafile splits three ways: the sync root you chose at login (~/Seafile default) holding libraries, the seafile-data metadata dir beside it (SQLite state, block cache), and ccnet config (~/.ccnet with seafile.ini pointing at the data dir). Windows names are ccnet/seafile-data without dots; Mac and Linux use dotted variants.
Antivirus deleting seafile-data triggers the classic internal data corrupt error: exclude that folder everywhere. Never park it on SMB or flaky shares (SQLite locking fails). Version 6.2 removed the ccnet process into the daemon, so ccnet files may be absent on latest builds. UI prefs also hide in ~/.config/Seafile on Linux.
Where Seafile stores this, by platform
~/.ccnet/seafile.ini
Points at the seafile-data dir (default ~/Seafile/.seafile-data). CLI override with -c. UI prefs in ~/.config/Seafile. Move data by stopping client, moving folder, editing this ini.
%USERPROFILE%\ccnet\seafile.ini
Same pointer role (default data in %USERPROFILE%\Seafile\seafile-data). Sync root chosen at first login. Exclude seafile-data from antivirus. Admins can preconfigure via registry or HOME seafile.ini.
~/.ccnet/seafile.ini
Same role; default data in ~/Seafile/.seafile-data (dotted on Mac). Exclude from antivirus per official FAQ. Client logs in ~/.ccnet/logs.
Frequently asked questions
Seafile says internal data corrupt. How do I fix it?
Antivirus likely ate seafile-data. Exclude that folder, then resync the library. Keep the metadata off network shares; SQLite locking cannot survive them.
How do I move Seafile data to another drive?
Stop the client, move seafile-data, update its path in .ccnet/seafile.ini, and restart. The client follows the pointer; libraries need no re-adding.
Notice an outdated path? Let us know.