How to Self‑Host Plane (Commercial Edition) on Ubuntu: A Complete Guide

How to Self‑Host Plane (Commercial Edition) on Ubuntu: A Complete Guide

You can find the official self-hosting guide for Plane at:
https://developers.plane.so/self-hosting/

Prerequisites:

  • A fresh machine (virtual or on-prem)
  • Minimum system requirements:
    • 2 vCPUs
    • 4 GB RAM
  • Supported CPU architectures:
    • x64 (AMD64)
    • AArch64 (ARM64)
  • Supported OS:
    • Ubuntu

🔐 Step 1: SSH into Your Server

SSH into your machine as the root user or a user with sudo privileges.

🧪 Step 2: Run the Plane Installation Script

Execute the following command to start the installation:

curl -fsSL https://prime.plane.so/install/ | sh -

⚙️ Step 3: Configure Your Self-Hosted Plane Installation

During the setup, you’ll be prompted to enter several configuration options:

🔗 Set Your Domain Name:

Enter your domain name.

⚠️ Important: This cannot be changed later if you upgrade to the paid version. Double-check the domain before proceeding.

🛠 Installation Type:

Choose between:
. Express: Installs Plane with default settings.
. Advanced: Customize the installation with your own PostgreSQL database, Redis, S3 storage, and other parameters.
In this tutorial, we’ll proceed with the Advanced setup.

🌐 Set Port Number:

Choose the port you want to use to access Plane.
I’m using the default HTTP port: 80.

📁 Configure File Upload Limits:

Set the maximum file size allowed for uploads.
I’m setting it to: 15 MB.

🗄 Connect Your PostgreSQL Database

Choose Yes to use your own PostgreSQL database.
You’ll need to enter the connection string in the following format:

postgresql://<username>:<password>@<host>:<port>/<database_name>

🔁 Redis Configuration:

Use Plane Default Redis or Provide Your Own. For simplicity, we’ll stick with the default (select No).

☁️ S3 Storage Configuration:

Choose Yes to use your own S3 bucket for file storage.
You will be prompted to provide:
- Access Key ID
- Secret Access Key
- Bucket Name
- S3 Region
- S3 Endpoint URL

🧩 Step 4: Finalize DNS Configuration:

Once the setup completes:

  • Update your domain's DNS record to point to your Plane host's IP address.
  • You can now access your Plane instance through the domain you provided during setup.

✅ Conclusion: Why Self-Hosting Plane Is the Best Move

Self-hosting Plane gives your team complete control over your infrastructure, project data, and customization options. With this guide, you’ve deployed a secure and scalable instance using:

  • 📂 Your own PostgreSQL database and S3 storage
  • ⚡ Dedicated CPU/RAM for performance scaling
  • 🔁 Easy updates and maintenance routines

Whether you’re deploying Plane for agile workflows, internal documentation, or team collaboration, this self-hosted approach ensures your tools align perfectly with your infrastructure and policies.


  • How to self-host Plane
  • Install Plane project management tool on Ubuntu
  • Plane open-source installation tutorial
  • Plane commercial edition setup with PostgreSQL and S3
  • Best way to deploy Plane on your own server
  • Configure Plane with custom Redis and S3

If you found this guide helpful, consider supporting me!

Read more