Giter Site home page Giter Site logo

cells-sync's Introduction

Cells Sync

Homepage | Dev Guide | GitHub-Repository | Issue-Tracker

License Badge GoDoc Build Status Go Report Card

Cells Sync is a desktop synchronization client for Pydio Cells server.

Features

  • 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).

Getting Started

Compiling from sources

Pre-requisites

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)

Compilation instructions

  • Get the code: go get -u github.com/pydio/cells-sync
  • To compile the frontend, enter the app/ux/ folder and 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.
  • Compile binary by running make cli

The resulting cells-sync binary should be good to go.

Using pre-compiled binaries

Coming soon: list and links to the pre-compiled binaries download server

Running cells-sync

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, use cells-sync start --headless.

Other available commands

Use help to display the available commands:

$ ./cells-sync --help
Usage:
  ./cells-sync [flags]
  ./cells-sync [command]

Available Commands:
  add         Add a new task via command line
  autotest    Basic unidirectional sync between two local 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 via command line
  edit        Exit existing sync via command line
  help        Help about any command
  service     Manage service: install,uninstall,stop,start,restart
  start       Start sync tasks
  systray     Launch Systray
  version     Display version
  webview     Launch WebView

Flags:
  -h, --help   help for ./cells-sync

Use "./cells-sync [command] --help" for more information about a command.

Contributing

Please read CONTRIBUTING.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 comprehensive Developer Guide on our web site. Our online docs are open source as well, feel free to improve them by contributing!

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

See the list of contributors who participated in this project.

License

This project is licensed under the GPLv3 License - see the LICENSE file for details.

cells-sync's People

Contributors

cdujeu avatar lthibault avatar bsinou avatar pydio-i18n avatar ghecquet avatar c12simple avatar pydio-trusted avatar jabarkarim avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.