You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cdujeu a700e3b1f6 Bulk delete sequentially 18 hours ago
broker Fix filter events by subscription (#103) 5 days ago
cmd Improve examples for data-sync command. Add "datasource" parameter to ease the process. 19 hours ago
common Merge remote-tracking branch 'origin/master' 1 day ago
data Fix typo in deleteNS statement name 3 days ago
discovery Open api spec 5 days ago
frontend Bulk delete sequentially 18 hours ago
gateway Update cells-sdk-go vendor - Pass specific header for grpc user agent (not supported by micro options) 4 days ago
idm Change default workspace attributes and how we compute if ws is syncable or not. 3 days ago
scheduler On user deletion, copy/delete instead of move user data to keep a backup but clear associated uuids 21 hours ago
tools Remove cells-ctl from docker base image 1 day ago
vendor update cells-sdk-go 4 days ago
.gitattributes Ignore generated and TP code in statistics 4 months ago
.gitignore Build Cells Control with xgo 2 months ago
.travis.yml Travis : go1.12 only 1 month ago
CHANGELOG.md Release v2.0.0-rc1 1 week ago
CODE_OF_CONDUCT.md Remove useless link 1 year ago
CONTRIBUTING.md Docs: minor enhancements, remove legacy tips. 4 months ago
DEPENDENCIES Update DEPENDENCIES file 1 year ago
LICENSE Initial commit 1 year ago
Makefile Make : add sample vendoring task 3 weeks ago
README.md micro change 2 weeks ago
crowdin.yml Adapt to match with crowdin default language codes 3 days ago
dev-imports.go Peer address 11 months ago
main.go Adding grpc service to handle verifiers 3 weeks ago

README.md

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

License Badge GoDoc Build Status Go Report Card

Pydio Cells is the nextgen file sharing platform for organizations. It is a full rewrite of the Pydio project using the Go language following a micro-service architecture.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See the Deployment section below for notes on how to deploy the project on a live system.

Prerequisites

The following elements are required to compile and run pydio on your machine

  • Go language v1.12 or higher (tested with 1.12.x), with a correctly configured Go toolchain,
  • MySQL database 5.6 or higher (or MariaDB equivalent). The new mysql 8 authentication method is supported starting at Cells 1.4.1.

Note: We have developped and tested Pydio Cells on MacOS, Ubuntu, Debian and CentOS. Windows version might still have unknown glitches and is not yet supported.

Installing

Assuming that your system meets the above prerequisites, building the Pydio Cells backend from the source code is quite straight forward:

# Retrieve the code
go get -u github.com/pydio/cells
# From this line on, we assume you are in Pydio Cells' code roots directory
cd $GOPATH/src/github.com/pydio/cells
# Build your binary
make dev

To have the environment running, you must also:

  • Create a database in your chosen DB server,
  • Run the Pydio Cells installer that will guide you through the necessary steps: you might refer to the official documentation for additional information.
./cells install

Note on the third party libraries

We still currently manage third party dependencies via the vendor mechanism: shortly said, we pick up and maintain specific versions of the sources for each dependency we use by copying them in the vendor/ subfolder. The binary is built using these codes.

When you clone the github.com/pydio/cells repository, you then also have an embedded local copy of all the sources for you to investigate. Yet, you should not try to directly modify code that have been vendored.

Please also not that we had to fork a few libraries before integrating them as dependencies, most important being dex and minio. If you need to modify this part of the code, please get in touch with us.

Running the tests

To run the tests, simply do

go test -v ./...

Please read the CONTRIBUTING.md document if you wish to add more tests or contribute to the code.

Deployment

Binaries are currently provided for Linux and MacOSX distributions. To deploy them on a live system, please see the Installation Guide instructions.

Built With

Pydio Cells uses many open source golang libraries. Most important ones are listed below, please see DEPENDENCIES for an exhaustive list of other libs and their licenses.

  • Micro - Micro-service framework
  • Minio - Objects server implementing s3 protocol

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us. You ca 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. Pydio Cells is also a continuation of the Pydio project and many contributions were ported from pydio-core to the code that can be found under frontend/front-srv/assets.

License

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