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.
🔎 Related Searches People Use to Find This Guide
- 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!