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.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
The following elements are required to compile and run pydio on your machine
- Go language v1.13 or higher (tested with latest 1.13, 1.14 & 1.15), 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.
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.
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 note that we had to fork a few libraries before integrating them as dependencies, most important being
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 ./...
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.