PY

Pydio Cells

Document sharing and collaboration for organizations

File Sync & Storage ★ 2.3k stars Medium setup AGPL-3.0

Pydio Cells is a content collaboration platform for organizations, offering file sharing, workspaces, and access controls. It is designed for teams and enterprises needing governed document collaboration. It is deployed via Docker or native binaries.

Key features

  • Workspace-based collaboration
  • Granular access control
  • Built-in search and metadata
  • Mobile and desktop clients

Pros & cons

Strengths

  • Strong enterprise features
  • Modern Go codebase
  • Good access governance

Trade-offs

  • Heavier than simple tools
  • Smaller community

Pydio Cells replaces

Last reviewed Sep 13, 2026 · 888 words

Pydio Cells is what you run when the question is "who is allowed to see this folder, and can I prove it" rather than "how do I sync my laptop". It is a Go rewrite of the old PHP Pydio, AGPL-3.0, built around workspaces, policies, and an audit trail, and it aims squarely at teams and small organisations that would otherwise pay for Box or Dropbox Business. For a household or a solo self-hoster it is more platform than you need; Nextcloud or Seafile will feel lighter and have far more people to ask when something breaks.

Cells is file governance, not an app platform

Nextcloud's strategy is breadth: calendar, mail, talk, office, a hundred apps. Cells went the other way and made files the whole product. Every file lives in a datasource (local disk or any S3-compatible bucket), datasources are exposed as workspaces, and users see only the workspaces their roles grant. Sharing a subfolder creates a "cell", a scoped space with its own membership and permissions that can include external users. On top of that sit security policies: rules like "this role can only download from the office IP range" or "this workspace is read-only after 18:00", evaluated on every request. Versioning, metadata tags, full-text search, and an activity log that records who did what are all in the core rather than bolted on.

That design makes Cells feel more like a document management system than a sync client, and it is why organisations with a compliance person pick it. It is also why a personal user finds it heavy: there is a role model to understand before the first file lands.

The install: MySQL first, then the wizard

Cells is one binary that runs a set of internal services over gRPC, and it needs a MySQL or MariaDB database from the first minute. The Docker path is a two-container compose:

services:
  cells:
    image: pydio/cells:latest
    environment:
      - CELLS_SITE_EXTERNAL=https://files.example.com
    volumes:
      - ./cells-data:/var/cells
    ports:
      - "8080:8080"
    depends_on:
      - mysql
    restart: unless-stopped

  mysql:
    image: mysql:8
    environment:
      - MYSQL_ROOT_PASSWORD=change-me
      - MYSQL_DATABASE=cells
    volumes:
      - ./mysql-data:/var/lib/mysql
    restart: unless-stopped

Open port 8080 in a browser and the install wizard asks for the database connection, an admin account, and the external URL. Get the external URL right on the first pass; Cells signs its own links and tokens against it, and changing it later means a reconfiguration rather than an environment edit. Put a reverse proxy with TLS in front, because the mobile and desktop clients refuse plain HTTP outside a LAN. A single instance with a couple of active users is comfortable in the 512 MB floor, though I would budget 1 GB once search indexing starts, and larger deployments add MongoDB for the activity and log services.

Workspaces, cells, and the ACL model

Plan the structure before creating users. A workspace maps to a datasource path and has a small set of ACLs (read, write, deny) attached to roles, groups, or individual users. Cells then apply on top: any user with the right to share creates one, invites internal or external people, and the cell inherits nothing from the workspace, which is the feature that keeps a contractor from wandering upward. Roles are where policies attach, so a sane starting layout is one workspace per department, one role per department plus an "external" role with download-only rights, and cells for project-level sharing. The admin console shows effective permissions per user, which is the tool you will use to answer the "why can she see that" question.

Clients and sync

Cells Sync is the desktop client for Windows, macOS, and Linux, doing two-way synchronisation of selected workspaces; mobile apps exist for iOS and Android with offline access and upload. Both are competent and neither is as polished as Nextcloud's, particularly on Linux. The web client is the strongest surface: drag-and-drop upload, in-browser preview of office documents and video, and an editor integration for Collabora or OnlyOffice. There is a WebDAV endpoint and a REST API for scripting, and the admin CLI (cells admin) covers user and datasource operations.

The community question

At 2,246 stars, Cells has a fraction of Nextcloud's ecosystem, and the company behind it sells an Enterprise edition with features like advanced LDAP mapping and support. The Home edition is not crippled, but new capabilities tend to appear in Enterprise first, and forum answers are thinner. If you are a team of 5 to 50 who want governance and can read the docs, that is fine. If you want the largest possible pool of tutorials, the file-sync category leads elsewhere, and the Nextcloud versus Syncthing piece sorts the personal-use options.

What I'd do

For a small organisation replacing Dropbox: Cells, MySQL, S3-compatible storage from the start so growth is a bucket size and not a disk swap, one workspace per team, and the external role for clients. Spend the first hour on roles before uploading a byte. For a family or a single homelab: Nextcloud or Seafile, no contest, because the governance layer you would be paying for in complexity is something you will never use.

Compare Pydio Cells

21 head-to-head comparisons.

Similar file sync & storage apps