Cozy-desktop is designed to synchronize files and folders between a remote cozy instance and a local hard drive, for a personal usage. We tried to make it simple and easy. So, it has some limitations:
- Files and folders named like this are ignored:
.system-tmp-cozy-drive(they are used to keep internal state)
_design(special meaning for pouchdb/couchdb)
It’s not a particularly good idea to share code with cozy-desktop:
node_moduleshave tons of small files
- compiled code often has to be recompile to works on another environment
- git (and other VCS) repositories are not meant to be shared this way. You may lose your work if you make changes on two laptops synchronized by cozy-desktop (it’s the same with dropbox, google-drive, syncthing, etc.)
If the same file has been modified in parallel, cozy-desktop don’t try to merge the modifications. It will just rename of one the copies with a
-conflictsuffix. It’s the same for folders.
We expect a personal usage:
- a reasonable number of files and folders (< 1.000.000)
- a reasonable number of files per folder (< 10.000)
- a reasonable size for files (< 1 Tb)
- a reasonable size for files and folders path (< 1024 bytes)
- not too many changes
For OSX, filenames with weird unicode characters may be problematic in some rare cases.
Symbolic links and ACL are not yet handled.
The full sync directory must be on the same partition.
Large files must be uploaded/downloaded in one time (we are thinking about making it possible to split a large file in several blocks for download/upload).
Due to its nature, cozy-desktop needs resources:
- CPU, for checksums in particular
- RAM, to keep all the metadata in memory, and for nodejs libraries
- Disk, but the overhead from cozy-desktop is low
Network bandwidth obviously
No advanced feature, like P2P replication between several cozy-desktop instances.