Open-source project
pydio/cells avatar
pydio/cells

Pydio Cells v5: a Go microservice rewrite where the README still says use the branch at your own risk

Future-proof content collaboration platform

2,259 stars233 forksGoAGPL-3.0

At a glance

What is it?
pydio/cells is a Go file sharing and collaboration server split into microservices, built with make dev and started with ./cells start. The default branch is v5-dev, and its README carries a work-in-progress warning next to stale build requirements.
Who is it for?
Pick Pydio Cells if you run Linux or macOS, can provide MySQL 5.6 or higher or MariaDB, and want a self-hosted Go file sharing server under AGPL-3.0. Stay on a tagged release such as v5.0.3 or v4.4.18 rather than building v5-dev, since the branch README warns to use it at your own risk.
Can I use it commercially?
Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
Is it still maintained?
Yes. The repository last received commits 2 days ago.
What is it written in?
Mainly Go, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 7, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • pydio/cells2,259 ★ · +5
Star history
Repository2026-10-142026-11-07
pydio/cells2.3k2.3k

5 Stars in the last 24 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

The v5-dev README opens with a work-in-progress warning

The first thing the default branch says, in bold, is WORK IN PROGRESS - CELLS V5 - USE THIS BRANCH AT YOUR OWN RISKS. That line sits above the project description and applies to everything cloned from v5-dev. Pydio describes Cells as a full rewrite of the Pydio project in Go, following a microservice architecture, aimed at file sharing for organizations.

The warning and the release list tell different stories. v5.1.0 (Entity Value Policies & Metadata Refactor) was published on 2026-09-30 and v5.0.3 (Stability & Bug Fixes) on 2026-09-23, while v4.4.18 (Bugfix Release) came out on 2026-10-06. Two release lines are therefore being shipped side by side. The last push to the repository was on 2026-10-22, and the Makefile carries DEV_VERSION=5.1.1-dev, so the branch has already moved past 5.1.0. Anyone deploying for real users should read the warning as a reason to pick a tagged release, not the tip of v5-dev.

The README asks for Go 1.21 but go.mod asks for Go 1.27

The prerequisites list Go v1.21 or higher and a MySQL database 5.6 or higher, or the MariaDB equivalent. The module file disagrees. go.mod for github.com/pydio/cells/v5 declares go 1.27 and toolchain go1.27.3. The Makefile even reads that toolchain line with awk into GO_TOOLCHAIN, so the build tracks go.mod and not the README.

A machine with Go 1.21 installed meets the README and falls short of go.mod. Whether the Go tool downloads the newer toolchain automatically depends on your Go setup, and the README does not cover it. Check go.mod before you provision a build host.

The database requirement is the other fixed point. Cells needs MySQL 5.6 or higher or MariaDB, and you must create the database yourself before running the installer. The dependency list also includes the mysql driver, glebarez sqlite packages and bleve for search, but the README states only MySQL as a prerequisite.

Windows is not supported for building, yet Windows binaries are offered

The README says Pydio Cells was developed and tested on macOS, Ubuntu, Debian and CentOS. The Windows version might still have unknown glitches and is not yet supported. A few paragraphs later the Pre-built Binaries section says binaries are provided for Linux, macOS and Windows distributions, available from pydio.com/en/download.

So the two statements describe different things. Building from source on Windows is outside what the project claims to test, while a downloaded Windows binary exists. The Makefile backs this up with a win target pointing at windows-amd64, next to darwin, arm, arm64 and docker targets. If your server is Windows, you are relying on a binary whose platform the README calls not yet supported, and a failure there has no documented fix.

The Makefile builds with CGO_ENABLED=0 and -trimpath for each target, and FORCE_REBUILD=1 adds -a so Go rebuilds packages and skips its cache.

Four commands take a source checkout to a running site on port 8080

Building from source is short. The commands as given:

sh
# Retrieve the code
git clone https://github.com/pydio/cells
# Enter cells directory
cd cells
# Build your binary
make dev

Then create an empty database in your DB server and run the installer:

sh
./cells configure

The installer walks through the remaining steps. Start the server with:

sh
./cells start

The default site is then at https://localhost:8080/. Note the https scheme in that URL. Day-to-day development has two more commands. Tests run with go test -v ./... and live reload uses air, installed with go install github.com/air-verse/air@latest and started as air -c .air.toml. The .air.toml file is in the repository root.

The README links its installer guide to docs.pydio.com/cells-v4, the documentation for the previous major version, even though the branch is v5.

The source tree is split by service role, with a Python folder and etcd and Mongo files at the root

The top-level directories name the pieces of the microservice design: broker, cmd, common, discovery, gateway, idm, scheduler, data and frontend. The README gives no description of each, so the names are all there is to go on. The frontend folder holds assets that were ported from pydio-core, according to the Authors section, which points at frontend/assets.

A python directory sits at the root, though the README says nothing about what runs in it. The root also holds cluster.env, mongo.yaml, xds.yaml, config-jaeger.yaml, reset.sh and reset-etcd.sh, a Procfile and a Makefile with docker and docker-image targets that default to the image name pydio/cells. Those files hint at clustering, a Mongo option, Envoy-style xDS configuration and Jaeger tracing, but none of that is documented in the README, so treat each one as something to confirm in the source before relying on it.

The dependency list in go.mod shows caddy and certmagic, which would cover web serving and certificates. The README does not say whether Cells uses them for the https://localhost:8080/ site.

The default branch moved from master to main and is now v5-dev

The README has a note on branch history. The main git branch moved from master for Cells v1 to v3, which used vendoring and no Go modules, to main for Cells v4, which introduced Go modules. The repository now lists v5-dev as its default branch, and the module path is github.com/pydio/cells/v5.

This matters if you follow older blog posts or scripts. A clone that expects main or master will land somewhere different from the default checkout, and the docs the README links to cover v4. Releases follow Semantic Versioning, and the release list on GitHub is the place to see all versions.

The license is AGPL-3.0, so running a modified Cells as a network service carries source-sharing obligations. The README points to the LICENSE file for details. Translation work happens on Crowdin at crowdin.com/project/pydio-cells, and CONTRIBUTING.md covers pull requests and the code of conduct.

Editorial conclusion

Pick Pydio Cells if you run Linux or macOS, can provide MySQL 5.6 or higher or MariaDB, and want a self-hosted Go file sharing server under AGPL-3.0. Stay on a tagged release such as v5.0.3 or v4.4.18 rather than building v5-dev, since the branch README warns to use it at your own risk. Before you build, check go.mod: it asks for go 1.27 while the README says Go 1.21, and the README's installation link still points to the cells-v4 documentation.

Frequently asked questions

Is Pydio Cells v5 ready for production?

The README of the v5-dev branch opens with WORK IN PROGRESS - CELLS V5 - USE THIS BRANCH AT YOUR OWN RISKS. Tagged releases exist, including v5.1.0 on 2026-09-30 and v5.0.3 on 2026-09-23.

What does Pydio Cells need to run?

A MySQL database 5.6 or higher, or MariaDB, plus Go to build from source. The README says Go 1.21, while go.mod declares go 1.27 and toolchain go1.27.3.

How do I install and start Pydio Cells from source?

Clone https://github.com/pydio/cells, run make dev, create a database, then run ./cells configure and ./cells start. The default site is at https://localhost:8080/.

Official sources

  1. License: AGPL-3.0
  2. Project website
  3. pydio/cells on GitHub
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/pydio-cells.svg)](https://hysenlabs.com/projects/pydio-cells)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/pydio-cells.svg)](https://hysenlabs.com/projects/pydio-cells)

Was this useful?