- Notifications
You must be signed in to change notification settings - Fork19
Sync Client for Pydio Cells
License
pydio/cells-sync
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Homepage |Dev Guide |GitHub-Repository |Issue-Tracker
Cells Sync is a desktop synchronization client for Pydio Cells server.
- 100% GO
- Windows, MacOSX, Linux
- Realtime propagation of changes(when your local machine can connect to your server)
- Configurable sync direction (bi-directional / unidirectional)
- Selective Folders synchronization
- Supports various types of end points for syncing (any source/target can be combined):
- Cells Server (over HTTP/HTTPS)
- Local Folder
- Local Cells server (accessed directly if deployed inside the microservices mesh)
- S3-compatible storage service (tested with AWS S3)
- BoltDB storage (used for storing tree snapshots)
- Cells gRPC indexation services (implementing NodeProvider/NodeReceiver gRPC endpoints).
If you are using a Mac or Windows personal computer, you might directly download a pre-packaged installer for your OS from ourDownload Server. Furthermore, you should read thispage of our documentation to get a functionnal overview of the tool.
We also provide pre-compiled binaries forLinux,MacOS andWindows: simply download the tool and launch it.
Seethe instructions below for further details.
Note that synchronization must be configured and enabledon the server side: if you are running in a non-vanilla environment (e.g. behind a reverse proxy), we have gatheredsome tips in our knowledge base that should help you fix usual networking issues.
The below instructions will get you a copy of the project up and running on your local machine fordevelopment and testing purposes. To simply deploy a running binary, see theprevious section.
In order to compile and run the Cells-Sync client, you must fulfill the following requirements:
- GOLANG developement toolchain properly installed (tested with 1.12 and higher)
- NodeJS/NPM environment in order to compile the frontend, you need an up-to-date version of NPM (tested with node version 12.X)
- Get the code:
go get github.com/pydio/cells-sync/...
- Change directory to
app/ux/
- To load frontend dependencies run
npm install
- To compile the frontend, run
npm run build
- To pack the frontend inside the binary (not mandatory if you are running on the same machine where $GOPATH is available), install github.com/gobuffalo/packr/packr tool and run
make clean pack
at the root of the repository.
[ Update 04/16/2020 ]
Due to a dependency issue, until we switch to modules or until this dependency master is stable again, you have to apply the following before calling the make command:
cd github.com/zserge/webviewgit checkout 9c1b0a888aa40039d501c1ea9f60b22a076a25ea
[ to be continued ]
- Compile binary by running
make cli
The resultingcells-sync
binary should be good to go.
Once you have downloaded or compiled cells-sync for your platform, simply run:
./cells-sync start
This both starts the system tray icon and the synchronization agent in background. To run the agent without any UX, usecells-sync start --headless
.
Use help to display the available commands:
$ ./cells-sync --helpUsage: ./cells-sync [flags] ./cells-sync [command]Available Commands: add Add a new task viacommand line autotest Basic unidirectional sync between twolocal folders (under your temporary directory) bgstart Start sync tasks from within service capture Capture snapshots inside JSON file -do not perform any actual tasks delete Delete existing sync viacommand line edit Exit existing sync viacommand linehelp Help about anycommand service Manage service: install,uninstall,stop,start,restart start Start sync tasks systray Launch Systray version Display version webview Launch WebViewFlags: -h, --helphelpfor ./cells-syncUse"./cells-sync [command] --help"for more information about a command.
Please readCONTRIBUTING.md in the Pydio Cells project for details on our code of conduct, and the process for submitting pull requests to us. You can find a comprehensiveDeveloper Guide on our web site. Our online docs are open source as well, feel free to improve them by contributing!
We useSemVer for versioning. For the versions available, see thetags on this repository.
See the list ofcontributors who participated in this project.
This project is licensed under the GPLv3 License - see theLICENSE file for details.
About
Sync Client for Pydio Cells