Deploying Pydio Cells
Introduction
Pydio Cells is an open-source, enterprise-grade file sharing and synchronization platform. It’s designed to help organizations securely manage, share, and collaborate on files while maintaining complete control over their data. Pydio Cells combines the simplicity of consumer cloud storage with the security and compliance features enterprises require.
Built with Go and React, Pydio Cells offers exceptional performance and a modern user experience. Its microservices architecture allows for flexible deployment and horizontal scaling to accommodate organizations of any size.
Key highlights of Pydio Cells:
- Secure File Sharing: Share files with granular permissions and expiration dates
- Real-Time Collaboration: Edit documents simultaneously with team members
- Advanced Access Control: Role-based permissions and security policies
- Audit Logging: Complete audit trail for compliance
- Workflow Automation: Automate file processing and approvals
- Desktop Sync: Native sync clients for Windows, Mac, and Linux
- Mobile Apps: iOS and Android apps for mobile access
- S3 Compatible: Works with any S3-compatible storage
- LDAP/SSO Integration: Enterprise identity management
- Open Source: Licensed under AGPL-3.0
This guide walks through deploying Pydio Cells on Klutch.sh using Docker.
Why Deploy Pydio Cells on Klutch.sh
Deploying Pydio Cells on Klutch.sh provides several advantages:
Simplified Deployment: Klutch.sh automatically detects your Dockerfile and builds Pydio Cells without complex configuration.
Persistent Storage: Attach persistent volumes for file storage and database.
HTTPS by Default: Klutch.sh provides automatic SSL certificates for secure access.
GitHub Integration: Connect your repository directly from GitHub for automatic deployments.
Scalable Resources: Allocate CPU and memory based on user count and file volume.
Custom Domains: Assign a custom domain for your file sharing platform.
Prerequisites
Before deploying Pydio Cells on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your Pydio Cells configuration
- A MySQL or MariaDB database
- Basic familiarity with Docker and containerization concepts
- (Optional) A custom domain for your Pydio Cells instance
- (Optional) S3-compatible storage for scalable file storage
Understanding Pydio Cells Architecture
Pydio Cells uses a microservices architecture:
Gateway: Handles HTTP/HTTPS traffic and routing.
Microservices: Specialized services for auth, data, scheduler, etc.
Data Sources: Configurable storage backends (local, S3, etc.).
Database: MySQL/MariaDB for metadata and configuration.
Message Broker: NATS for internal service communication.
Preparing Your Repository
Create a GitHub repository containing your Dockerfile for Pydio Cells deployment.
Repository Structure
pydio-deploy/├── Dockerfile└── .dockerignoreCreating the Dockerfile
Create a Dockerfile in the root of your repository:
FROM pydio/cells:latest
# Set environment variablesENV CELLS_EXTERNAL=${EXTERNAL_URL}ENV CELLS_BIND=0.0.0.0:8080
# Create data directoryRUN mkdir -p /var/cells /var/cells/data
EXPOSE 8080
CMD ["cells", "start"]Creating the .dockerignore File
Create a .dockerignore file:
.git.github*.mdLICENSE.gitignore*.log.DS_StoreDeploying Pydio Cells on Klutch.sh
- Select HTTP as the traffic type
- Set the internal port to 8080
- Detect your Dockerfile automatically
- Build the container image
- Attach the persistent volumes
- Start the Pydio Cells container
- Provision an HTTPS certificate
- Accept license agreement
- Configure database connection
- Create admin account
- Set up initial workspace
Push Your Repository to GitHub
Initialize your repository and push to GitHub:
git initgit add Dockerfile .dockerignoregit commit -m "Initial Pydio Cells deployment configuration"git remote add origin https://github.com/yourusername/pydio-deploy.gitgit push -u origin mainCreate a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project. Give it a descriptive name like “pydio” or “file-sharing”.
Create a New App
Within your project, create a new app. Connect your GitHub account if you haven’t already, then select the repository containing your Pydio Cells Dockerfile.
Configure HTTP Traffic
In the deployment settings:
Set Environment Variables
Add the following environment variables:
| Variable | Value |
|---|---|
CELLS_EXTERNAL | https://your-app-name.klutch.sh |
CELLS_BIND | 0.0.0.0:8080 |
CELLS_DB_HOST | Your database host |
CELLS_DB_NAME | cells |
CELLS_DB_USER | Your database user |
CELLS_DB_PASSWORD | Your database password |
Attach Persistent Volumes
Add the following volumes:
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/var/cells | 10 GB | Configuration and cache |
/var/cells/data | 500+ GB | File storage |
Deploy Your Application
Click Deploy to start the build process. Klutch.sh will:
Complete Installation
Access your Pydio Cells instance at https://your-app-name.klutch.sh and follow the installation wizard:
Access Pydio Cells
Log in with your admin credentials to start managing files and users.
Initial Configuration
Creating Workspaces
Workspaces organize files and access:
- Go to Cells Console > Workspaces
- Click “Create Workspace”
- Select data source
- Configure access policies
- Save workspace
Adding Users
- Go to Cells Console > Users
- Click “Add User”
- Enter user details
- Assign roles and workspaces
- Send invitation email
Configuring Data Sources
Connect additional storage:
- Go to Cells Console > Data Sources
- Click “Add Datasource”
- Select type (Local, S3, etc.)
- Configure connection
- Create workspace from source
File Sharing
Internal Sharing
Share files with team members:
- Right-click file or folder
- Select “Share”
- Add users or groups
- Set permissions (view, edit, download)
- Send notification
External Sharing
Share with external users via links:
- Right-click file or folder
- Select “Public Link”
- Configure options:
- Password protection
- Expiration date
- Download limit
- Permissions
- Copy and share link
Share Permissions
| Permission | Description |
|---|---|
| Preview | View files in browser |
| Download | Download files |
| Upload | Add files to folder |
| Edit | Modify files |
| Delete | Remove files |
Collaboration Features
Real-Time Editing
Collaborate on documents:
- Open a compatible file
- Click “Open in Editor”
- Multiple users can edit simultaneously
- Changes sync in real-time
Comments and Metadata
Add context to files:
- Select a file
- Open info panel
- Add comments
- Set custom metadata
Activity Feed
Track file activity:
- View workspace activity feed
- See who accessed what
- Monitor changes over time
Security Configuration
Access Policies
Create security policies:
- Go to Cells Console > Security Policies
- Define conditions and rules
- Apply to workspaces or users
Audit Logs
Monitor activity:
- Go to Cells Console > Audit
- Filter by user, action, or date
- Export logs for compliance
Encryption
Configure encryption at rest:
- Go to Cells Console > Encryption
- Enable master encryption
- Configure key management
Desktop Sync
Installing Sync Client
Download from Pydio Downloads.
Configuring Sync
- Install sync client
- Enter server URL
- Authenticate
- Select workspaces to sync
- Choose local folder
Sync Settings
| Option | Description |
|---|---|
| Selective Sync | Choose specific folders |
| Conflict Resolution | Handle sync conflicts |
| Bandwidth Limits | Control sync speed |
Troubleshooting Common Issues
Cannot Access Files
Solutions:
- Verify workspace permissions
- Check data source connectivity
- Review access policies
Sync Not Working
Solutions:
- Check network connectivity
- Verify credentials
- Review sync logs
Performance Issues
Solutions:
- Increase allocated resources
- Optimize database
- Enable caching
Additional Resources
- Pydio Official Website
- Pydio Cells Documentation
- Pydio Cells GitHub Repository
- Pydio Community Forum
- Klutch.sh Persistent Volumes
- Klutch.sh Deployments
Conclusion
Deploying Pydio Cells on Klutch.sh gives you an enterprise-grade file sharing platform with the flexibility of self-hosting. With advanced access controls, real-time collaboration, and comprehensive audit logging, Pydio Cells provides the security and features organizations need for professional file management.
Whether you’re a small team needing secure file sharing or an enterprise requiring compliance-ready document management, Pydio Cells on Klutch.sh delivers a powerful, customizable solution.