Independent testing Updated April 2026 387 self-hosting guides 5 VPS providers tested

guide

How to Self-Host Plane on a VPS (Complete Guide)

Learn how to install and run Plane on a VPS with this step-by-step self-hosting guide. Perfect for developers and homelabbers aiming for private, open-source social networking.

Self-hosting a social networking platform like Plane offers privacy, customization, and control over your online presence. This comprehensive guide walks you through deploying Plane on a Virtual Private Server (VPS), using Docker for streamlined setup. Whether youโ€™re a developer, hobbyist, or homelabber, this guide empowers you to run Plane securely and efficiently.

Why Self-Host Plane?

Plane is an open-source, federated social network focused on simplicity and privacy. By self-hosting Plane, you gain:

Prerequisites

Before diving into the installation, ensure you have:

If you havenโ€™t chosen a VPS provider, consider popular options like Contabo, Hetzner Cloud, or DigitalOcean. Check out our full VPS comparison for detailed specs and prices.

Step 1: Select and Prepare Your VPS

Choose a provider and deploy an Ubuntu 22.04 server. For small-scale use, a plan costing around 4.15 EUR/month (Hetzner Cloud) or 6 USD/month (DigitalOcean/Vultr) is sufficient.

Secure your server:

sudo apt update && sudo apt upgrade -y
sudo adduser yourusername
sudo usermod -aG sudo yourusername

Configure a firewall (e.g., ufw) to permit SSH and web traffic.

Step 2: Install Docker and Docker Compose

Install Docker:

sudo apt install -y docker.io
sudo systemctl enable --now docker
sudo usermod -aG docker yourusername

Install Docker Compose:

sudo apt install -y docker-compose

Log out and log back in to apply group changes.

Step 3: Set Up the Plane Docker Configuration

Create a directory for Plane:

mkdir ~/plane
cd ~/plane

Create a docker-compose.yml file:

version: '3'
services:
  plane:
    image: planttheidea/plane:latest
    container_name: plane
    restart: always
    ports:
      - "80:80"
      - "443:443"
    environment:
      - DOMAIN=your.domain.com
      - SELFSIGNED=false
      - SECRET_KEY_BASE=your-random-secret-key
    volumes:
      - ./data:/data

Replace your.domain.com with your domain. Generate a secure secret key:

openssl rand -hex 32

Update the SECRET_KEY_BASE accordingly.

Step 4: Run Plane with Docker Compose

Start the deployment:

docker-compose up -d

Ensure the container runs:

docker ps

Your Plane instance is now accessible via your domain.

Step 5: Configure SSL with Certbot

Secure your site with HTTPS:

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d your.domain.com

Follow Certbot prompts to install SSL certificates. Amend your Nginx config if necessary to enable HTTPS support.

Step 6: Final Adjustments and Customization

Comparing VPS Options for Self-Hosting

ProviderPrice (per month)FeaturesAffiliate Link
ContaboEUR 5.99Large SSD, CPU optionsContabo
Hetzner CloudEUR 4.15Affordable, reliable, fast SSDHetzner
DigitalOceanUSD 6Easy-to-use, droplets, good docsDigitalOcean
VultrUSD 6Global data centersVultr
Linode (Akamai)USD 5Solid performance, global reachLinode

For a full VPS comparison tailored for self-hosting, visit our [full VPS comparison].

FAQs

1. Can I self-host Plane on a VPS with only 1 GB RAM?

Yes. For basic usage, a VPS with 1 GB RAM is sufficient, particularly if youโ€™re running other lightweight services on the same server. Docker helps isolate Plane efficiently. However, for larger communities or additional services, consider a VPS with at least 2-4 GB RAM to ensure smoother performance.

2. How do I update Plane to the latest version?

To upgrade Plane, pull the latest Docker image:

docker-compose pull
docker-compose up -d

This fetches the latest version and recreates the container with minimal downtime. Regular updates are recommended to benefit from security patches and new features.

3. What security precautions should I take when self-hosting Plane?

Ensure your server is securely configured: enable a firewall, keep the system updated, and use strong passwords or SSH keys. Use HTTPS to encrypt traffic via Certbot. Regular backups of your data volume are essential. Also, keep Docker and your server OS patched against vulnerabilities.

4. Is it possible to run Plane without a domain?

While technically feasible, using a domain enhances security and user trust. It also enables SSL certificates for HTTPS, which is highly recommended. For testing, you can use local IPs or self-signed certs, but not recommended for public access.

5. Do I need to configure reverse proxy for Plane?

If you plan to host multiple services or want more control over SSL, setting up Nginx as a reverse proxy is recommended. Otherwise, Docker can directly expose ports 80 and 443 as shown above.

Conclusion

Self-hosting Plane on a VPS offers full control of your social networking environment with minimal cost - starting from as low as 4.15 EUR/month. By leveraging Docker, the deployment process is streamlined, allowing you to focus on customizing and expanding your instance. As always, remember to keep your setup secure and regularly backed up.

For more self-hosting projects and tips, check out the [awesome-selfhosted] list or r/selfhosted community. Now, get your server ready, and start building your federated social network today!