File Sharing & Collaboration

    Deploy Pydio Cells on RamNode VPS

    Pydio Cells is a powerful, open-source file sharing and collaboration platform with enterprise-grade document management and security. Deploy it on RamNode VPS hosting with MariaDB, automatic SSL, and systemd service management.

    Ubuntu 24.04 LTS
    MariaDB
    Let's Encrypt SSL
    ⏱️ 20-30 minutes

    Why Choose Pydio Cells?

    Key Features:

    • • Enterprise-grade file sharing
    • • Built in Go for high performance
    • • Microservices architecture
    • • Advanced workflow automation
    • • Granular access controls

    Self-Hosted Benefits:

    • • Complete data ownership
    • • Customizable security policies
    • • LDAP/Active Directory integration
    • • S3-compatible storage support
    • • File versioning and audit logs

    Prerequisites

    Before getting started, ensure you have:

    Server Requirements

    • • RamNode VPS with 2+ CPU cores
    • • 4GB RAM minimum (8GB for production)
    • • Ubuntu 24.04 LTS installed
    • • Domain name pointed to server IP
    • • Root or sudo access

    Network Requirements

    • • Ports 80 and 443 open in firewall
    • • DNS A record pointing to server
    • • SSH access to your server
    2

    Initial Server Setup

    Connect to your RamNode VPS via SSH and update system packages:

    Update System Packages
    sudo apt update && sudo apt upgrade -y

    Set the correct timezone and ensure accurate time synchronization (critical for Pydio Cells authentication):

    Configure Time Synchronization
    sudo timedatectl set-timezone America/New_York
    sudo apt install -y chrony
    sudo systemctl enable chrony

    ⚠️ Important: Time synchronization is critical. Authentication issues often stem from clock drift between server and clients.

    3

    Create a Dedicated User

    Pydio Cells should never run as root. Create a dedicated system user:

    Create Pydio User
    sudo useradd -m -s /bin/bash pydio
    sudo passwd pydio

    💡 Security: Running services as non-root users limits potential damage from security vulnerabilities.

    4

    Install and Configure MariaDB

    Pydio Cells requires MySQL or MariaDB as its database backend:

    Install MariaDB
    sudo apt install -y mariadb-server
    sudo systemctl enable mariadb
    sudo systemctl start mariadb
    Secure MariaDB Installation
    sudo mysql_secure_installation

    Follow the prompts to set a root password, remove anonymous users, disallow remote root login, and remove the test database.

    Create Pydio Database and User
    sudo mysql -u root -p
    
    -- Execute these SQL commands:
    CREATE DATABASE cells CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
    CREATE USER 'pydio'@'localhost' IDENTIFIED BY 'your_secure_password_here';
    GRANT ALL PRIVILEGES ON cells.* TO 'pydio'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;

    5

    Configure System Limits

    Pydio Cells requires a high number of open file descriptors. Configure the limits for the pydio user:

    Create Limits Configuration
    sudo nano /etc/security/limits.d/pydio.conf

    Add the following lines:

    File Descriptor Limits
    pydio soft nofile 65535
    pydio hard nofile 65535

    Also configure systemd limits:

    Systemd Limits Configuration
    sudo mkdir -p /etc/systemd/system/user@.service.d/
    sudo nano /etc/systemd/system/user@.service.d/limits.conf
    Systemd Limits
    [Service]
    LimitNOFILE=65535
    Reload Systemd
    sudo systemctl daemon-reload
    6

    Download and Install Pydio Cells

    Switch to the pydio user and download the latest Pydio Cells binary:

    Download Pydio Cells
    sudo su - pydio
    cd ~
    
    # Download the latest stable release
    wget -O cells https://download.pydio.com/latest/cells/release/{latest}/linux-amd64/cells
    chmod +x cells
    
    # Verify the binary works
    ./cells version
    7

    Configure Pydio Cells

    Run the interactive configuration wizard:

    Run Configuration Wizard
    ./cells configure

    During configuration, you'll be prompted for:

    1. Bind Address: Enter 0.0.0.0:443 for HTTPS on the standard port
    2. External URL: Enter your full domain URL (e.g., https://files.yourdomain.com)
    3. TLS Configuration: Choose "Let's Encrypt" for automatic SSL certificates
    4. Database Connection:
      • Host: localhost
      • Port: 3306
      • Database: cells
      • User: pydio
      • Password: Your secure password
    5. Admin Account: Create your administrator username and password

    8

    Create a Systemd Service

    Create a systemd service file to manage Pydio Cells:

    Exit to Sudo User
    exit  # Return to your sudo user
    sudo nano /etc/systemd/system/cells.service

    Add the following content:

    Systemd Service File
    [Unit]
    Description=Pydio Cells
    Documentation=https://pydio.com
    Wants=network-online.target
    After=network-online.target
    AssertFileIsExecutable=/home/pydio/cells
    
    [Service]
    User=pydio
    Group=pydio
    PermissionsStartOnly=true
    AmbientCapabilities=CAP_NET_BIND_SERVICE
    ExecStart=/home/pydio/cells start
    Restart=on-failure
    StandardOutput=journal
    StandardError=inherit
    LimitNOFILE=65535
    TimeoutStopSec=5
    KillSignal=INT
    SendSIGKILL=yes
    SuccessExitStatus=0
    WorkingDirectory=/home/pydio
    
    # Security hardening
    PrivateTmp=true
    NoNewPrivileges=true
    
    [Install]
    WantedBy=multi-user.target
    Enable and Start Service
    sudo systemctl daemon-reload
    sudo systemctl enable cells
    sudo systemctl start cells
    
    # Check the service status
    sudo systemctl status cells

    Service Running: Pydio Cells is now managed by systemd and will start automatically on boot.

    9

    Configure the Firewall

    If you're using UFW, allow the necessary ports:

    Configure UFW Firewall
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw reload
    10

    Access the Web Interface

    Open your web browser and navigate to your configured external URL (e.g., https://files.yourdomain.com). Log in with the administrator credentials you created during configuration.

    🌐 First Login: Access your Pydio Cells instance at your configured domain and log in with your admin credentials.

    Post-Installation Configuration

    11

    Maintenance and Monitoring

    View Logs

    Monitor Logs
    # Monitor Pydio Cells logs using journalctl
    sudo journalctl -u cells -f
    
    # Or view logs directly
    sudo su - pydio
    ./cells admin logs

    Backup Your Installation

    Create Backups
    # Backup the database
    mysqldump -u pydio -p cells > cells_backup_$(date +%Y%m%d).sql
    
    # Backup the data directory
    tar -czvf cells_data_backup_$(date +%Y%m%d).tar.gz /home/pydio/.config/pydio/cells/

    Update Pydio Cells

    Update to Latest Version
    sudo systemctl stop cells
    sudo su - pydio
    wget -O cells https://download.pydio.com/latest/cells/release/{latest}/linux-amd64/cells
    chmod +x cells
    exit
    sudo systemctl start cells
    
    # Alternatively, use the built-in update mechanism:
    sudo su - pydio
    ./cells admin update
    12

    Troubleshooting

    Congratulations!

    You now have a fully functional Pydio Cells installation running on your RamNode VPS. This self-hosted solution gives you complete control over your document sharing infrastructure while providing enterprise-grade features for collaboration and security.

    For Production Environments:

    Consider upgrading to Pydio Cells Enterprise for advanced features like SSO integration, detailed audit logging, and priority support.