Plane.so on Debian 12 (Docker Compose + PostgreSQL + Redis + SSL)

Plane.so is an open-source project and issue tracking platform designed for modern software teams. Comparable to tools like Jira, Linear, and ClickUp, it helps you manage projects, plan sprints, and track issues — but with full self-hosting capabilities, giving you total control of your data. Built with React (Next.js), Django (Python), PostgreSQL, and Redis, Plane combines speed, flexibility, and a clean user interface ideal for developers and teams alike.

Running Plane on Debian 12 (Bookworm) with Docker Compose offers a stable, secure, and long-term supported foundation for deployment. Debian’s reliability, combined with systemd 252, OpenSSL 3, and the latest Docker Engine and Compose, makes it an excellent environment for production-grade Plane installations with SSL and reverse proxy support.


Architecture Overview

LayerComponentRole
OSDebian 12 (Bookworm)Stable, secure Linux base with long-term support
Container RuntimeDocker Engine + ComposeOrchestrates Plane and its dependent services
DatabasePostgreSQL 15Stores issues, users, projects, and configuration data
Cache QueueRedisHandles real-time updates, background tasks, and session caching
BackendDjango (Python)Manages API logic, authentication, and business rules
FrontendNext.js (React)Delivers the web interface for project management
Reverse ProxyNginx (optional)Provides TLS termination, caching, and HTTP routing
TLSLet’s Encrypt / PKIEnables HTTPS for secure access to the Plane dashboard

Why Use Plane.so?

  • Open-source alternative to Jira, Linear, or ClickUp.
  • Self-hosted – maintain privacy and full control over your data.
  • Agile-ready – supports sprints, epics, issues, and roadmaps.
  • API-first design – integrates easily with CI/CD or automation pipelines.
  • Modern UI – optimized for developers and teams that value simplicity.

Plane.so vs Other Project Management Tools

Feature/CapabilityPlane.so (Self-hosted)Jira (Cloud)Linear (Cloud)ClickUp (Cloud)
HostingSelf-hosted (Docker)SaaS onlySaaS onlySaaS only
CostFree, open-sourceSubscription-basedSubscription-basedSubscription-based
DatabasePostgreSQLProprietaryProprietaryProprietary
Real-time updatesYes (Redis backend)YesYesYes
CustomizationHigh (open codebase)LimitedModerateLimited

Plane is perfect for teams that want Jira-like capabilities with complete data ownership and no licensing restrictions.


Security & Best Practices

  • Deploy behind Nginx with SSL for secure HTTPS access.
  • Use Docker secrets or environment variables to manage credentials.
  • Restrict PostgreSQL and Redis to internal Docker networks.
  • Schedule automatic PostgreSQL backups (e.g., via pg_dump).
  • Keep Debian, Docker, and Plane images regularly updated.
  • Use UFW or nftables to restrict public access to ports 80/443 only.
  • Automate SSL renewals with Certbot or Traefik ACME integration.

Typical Use Cases

  • Agile development teams tracking tasks and sprints.
  • Startups and software agencies managing projects in-house.
  • Enterprises needing on-premise issue tracking for compliance.
  • Freelancers managing multiple clients and deliverables.
  • Open-source communities coordinating releases and bug reports.

Deploying Plane.so on Debian 12 with Docker Compose gives you a powerful, self-hosted project management platform that rivals Jira and Linear — secure, flexible, and fully under your control.


Step 1: Create a Server Instance on Shape.Host

Log in to your Shape.Host dashboard.

Click Create → Instance.

Shape.host Resources dashboard with Create > Instance highlighted.

Select your preferred data center location.

Shape.host instance form with the data center location selector highlighted.

Choose a plan with at least 4 CPUs, 8 GB RAM, and 40 GB SSD (recommended for Plane).

Select Debian 12 (64-bit) as your OS.

Shape.host instance form with the operating system image selector highlighted.

Click Create Instance.

Shape.host instance form with the Create Instance button highlighted.

Once the instance is ready, copy its public IP address from the Resources section.

Shape.host Resources dashboard with the server IP address highlighted.

Step 2: Connect to Your Server

  • Linux/macOS: ssh root@your_server_ip
  • Windows (PuTTY):
    1. Enter your server’s IP address.
    2. Choose SSH as the connection type.
    3. Click Open and log in with your Shape.Host credentials.

Step 3: Install Docker and Docker Compose

Update package repositories:

apt update
Terminal showing APT package management commands and output.

Install required packages:

apt install ca-certificates curl gnupg lsb-release
Terminal showing APT package management commands and output.

Create a directory for Docker’s keyring:

install -m 0755 -d /etc/apt/keyrings

Add Docker’s official GPG key:

curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Adjust file permissions:

chmod a+r /etc/apt/keyrings/docker.gpg

Add the Docker repository to APT sources:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
Terminal showing APT package management commands and output.

Update again and install Docker components:

apt update
apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Terminal showing APT package management commands and output.

Enable and start Docker:

systemctl enable --now docker

Check if Docker Compose is available:

docker compose version
Terminal showing systemd service management commands or output.

Step 4: Run the Plane Installer

Download and execute the official Plane self-hosting installer:

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

This script automatically pulls all Plane.so Docker images and deploys them via Docker Compose.


Step 5: Complete the Setup

During installation, follow the prompts:

  • Enter your domain name (e.g., plane.example.com)
  • Choose installation mode:
    • Express → for quick local or testing environments
    • Advanced → for production deployments
  • The installer will automatically download and start all necessary services (backend, frontend, PostgreSQL, Redis, etc.)

Once completed, Plane will be available at your domain.

Plane self-hosted installer welcome prompt.
Terminal showing ip commands or output.
Terminal showing ip commands or output.
Plane installer edition selection prompt.
Terminal displaying Plane container image download progress.
Terminal showing Plane installation completion and database migration output.

Step 6: Access the Web Interface

Open your browser and visit:

https://YOUR_DOMAIN

You’ll see Plane’s setup interface, where you can create your first workspace, project, and user.

Plane initial instance and administrator setup form.
Plane administration interface with instance configuration controls.

You’ve successfully installed Plane.so on Debian 12 using Docker Compose.
Your instance now hosts a full-featured, modern project management system — ideal for software teams that need visibility, control, and flexibility.

For best performance and uptime, deploy Plane on Shape.Host Linux SSD VPS, optimized for containerized workloads and production-grade reliability.