Deploy Plane self-hosted project management on Ubuntu — open-source Linear and Jira alternative with issues, cycles, modules, and analytics.
Grab the automated bash script from GitHub to follow along with the video.
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/dev/plane/plane-ubuntu.sh
chmod +x plane-ubuntu.sh
sudo bash plane-ubuntu.sh
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/dev/plane/plane-ubuntu.sh
chmod +x plane-ubuntu.sh
The script installs Docker if needed, then sets up the service automatically.
sudo bash plane-ubuntu.sh
Open your browser and navigate to:
http://<your-server-ip>
Register, create a workspace and project, then start managing issues and sprints with your team.
# Register at http://<your-server-ip>/
# Create a workspace → Create a Project
# Add issues, assign to team members, and set priority
# Plane uses port 80 (HTTP) by default
# Use Nginx Proxy Manager to add HTTPS with a domain name
| Port | Purpose |
|---|---|
| 80 | Plane Web UI |
| 5432 | PostgreSQL (internal) |
| 6379 | Redis (internal) |
Plane is an open-source project management tool that brings the clean, fast experience of Linear to self-hosted infrastructure. It replaces Jira and Trello with a modern interface built around Issues (tasks), Cycles (sprints), Modules (feature groups), and Views (custom filtered boards). Teams can manage product roadmaps, track bugs, run sprint ceremonies, and generate progress analytics — all without paying per-seat SaaS fees. Plane's GitHub integration syncs issues bidirectionally, making it natural for developer teams who live in both code and project management simultaneously.
Jira is powerful but slow, expensive, and over-engineered for most teams. Linear is beautiful but cloud-only with per-seat pricing. Plane gives you Linear's interface and Jira's depth — self-hosted, with full data ownership, unlimited seats, and no usage caps. For engineering teams that want structure without bureaucracy, Plane's Cycles (time-boxed sprints) and Modules (feature groupings) provide just enough process without becoming a ceremony management tool.
Plane serves its web UI on port 80 by default via an internal nginx container. Proxy it through Nginx Proxy Manager with HTTPS. PostgreSQL (5432) and Redis (6379) are internal Docker network services and must not be exposed. The background worker and beat scheduler communicate internally and require no open ports.
Gitea Issues (simpler, no sprints — good if your team already uses Gitea), Linear (cloud-only, beautiful, $8/seat/month), Jira (enterprise-grade, very complex), Vikunja (simpler task manager, good for personal use), GitLab Issues (if you use GitLab for git hosting). Plane is the best self-hosted choice when you want sprint management, roadmaps, and analytics in a modern interface.
Skip Plane if your team is 1–3 people and a simple kanban board (Trello free tier or Gitea Issues) is enough. Also skip it if your organisation is already standardised on Jira with existing automations and integrations — migration cost outweighs the benefit. Plane needs at least 2 GB RAM and a domain with HTTPS to be usable by a real team.
PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support. Whether you need a single-server setup or a multi-site network, our team ensures your infrastructure is built right, secured properly, and maintained reliably.
Plane is closest to Linear in interface — fast, clean, keyboard-driven. It matches Jira in depth (custom states, labels, sub-issues, analytics) but lacks Jira's automation engine and marketplace. The key difference is self-hosting: Plane runs on your server with no per-seat fees. Linear is cloud-only with per-seat pricing. Jira is available self-hosted but extremely heavyweight. Plane is the best fit for teams that want Linear quality on their own infrastructure.
A Cycle is Plane's equivalent of a sprint — a time-boxed period (usually 1–2 weeks) with a defined start and end date. You add issues to a Cycle and track their completion. At the end, unfinished issues can be transferred to the next Cycle automatically. The analytics tab shows completion rate and how many issues were added mid-cycle, giving you the velocity data for sprint retrospectives.
Yes. Connect your GitHub organisation in Settings → Integrations. Once connected, you can import GitHub issues into Plane, link pull requests to Plane issues, and see PR status (open/merged/closed) directly on the issue card. Changes sync bidirectionally — closing a PR can automatically close the linked Plane issue, keeping your project board current without manual updates.
Yes. Plane supports unlimited projects within a workspace, and you can create multiple workspaces (each is a separate organisational unit with its own members, projects, and settings). This makes one Plane instance suitable for an agency managing multiple client accounts — each client gets their own workspace with isolated data and separate member invitations.
Plane provides a CSV import feature in Project Settings → Import. Export your Jira or Linear issues as CSV, map the columns (title, description, priority, assignee, labels), and import. For Jira specifically, Plane's importer understands Jira's standard CSV export format. GitHub issues can be imported via the native GitHub integration without needing CSV.
Plane's Analytics module shows: issue volume over time, issue completion rate per Cycle, issues by priority breakdown, issues by assignee, and burn-down within a Cycle. At the workspace level you can see cross-project activity. These charts are sufficient for sprint retrospectives and stakeholder reporting without needing external BI tools.
Configure SMTP in the environment variables: EMAIL_HOST, EMAIL_PORT, EMAIL_HOST_USER, EMAIL_HOST_PASSWORD, and EMAIL_USE_TLS. Restart the Plane containers after updating the variables. Members will then receive email notifications for issue assignments, comments, and mentions. Use a dedicated transactional email service (Gmail SMTP, Mailgun, SES) for reliable delivery.
Yes. Plane Community Edition is open-source under the AGPL licence and free to self-host commercially with unlimited members and projects. The cloud-hosted Plane.so has a free tier (limited members) and paid plans for advanced features like SAML SSO, priority support, and advanced analytics. Self-hosting avoids all per-seat costs entirely.