Skip to main content

Deploy Plane with Docker

This guide shows you how to deploy a self-hosted instance of Plane using Docker.

tip

To upgrade from Community to Commercial edition, see Upgrade to Commercial Edition.

Install Plane

Plane Pro and Plane Business are enabled on this edition, so the Free plan is ideal for trialing paid features.

Prerequisites

  • A virtual or on-prem machine with at least 2 vCPUs and 4 GB RAM (8 GB recommended)
  • x64 (AMD 64) or AArch 64 (ARM 64) CPUs
  • Supported operating systems:
    • Ubuntu
    • Debian
    • CentOS
    • Amazon Linux 2 or Linux 2023
tip

Use the latest version of Docker Compose. Check with docker-compose --version and update if needed.

Procedure

  1. SSH into your machine as root or a user with sudo access.
  2. Run:
    curl -fsSL https://prime.plane.so/install/ | sh -
  3. Follow the terminal instructions. Press Enter to continue.
  4. Enter the domain name where you will access Plane (e.g., domain.tld or subdomain.domain.tld). For paid plans, the domain linked to the license cannot be changed later.
  5. Choose one of the following:
    • Express: Installs Plane with default configurations.
    • Advanced: Lets you customize the database, Redis, storage, and other settings.
      warning

      For production, configure external database and storage to ensure data security and reliability. Relying on local storage increases the risk of data loss and service disruption.

  6. Wait for installation to complete. When you see Plane has successfully installed, access Plane at the domain you provided.
tip

To upgrade to a paid plan, see Plan upgrades.

Install Community Edition

The Commercial edition includes a free plan and the flexibility to upgrade. If you want to install the Community edition, follow these steps:

Prerequisites

  • Docker installed and running. Choose one of the following options:
    • Option 1 Create an EC2 machine on AWS. It must of minimum t3.medium/t3a.medium. Run the below command to install docker engine.
      curl -fsSL https://get.docker.com | sh -
    • Option 2 Install Docker Desktop.
  • OS with bash scripting enabled (Ubuntu, Linux AMI, macos). Windows systems need to have gitbash.
  • User context used must have access to docker services. In most cases, use sudo su to switch as root user.
  • Use the terminal (or gitbash) window to run all the future steps.

Installation

  1. Create a folder named plane-selfhost on your machine for deployment and data storage.

    mkdir plane-selfhost
  2. Navigate to this folder using the cd command.

    cd plane-selfhost
  3. Download the latest stable release.

    curl -fsSL -o setup.sh https://github.com/makeplane/plane/releases/latest/download/setup.sh
  4. Make the file executable.

    chmod +x setup.sh
  5. Run the following command:

    ./setup.sh

    This will prompt you with the below options.

    Select a Action you want to perform:
    1) Install (arm64)
    2) Start
    3) Stop
    4) Restart
    5) Upgrade
    6) View Logs
    7) Backup Data
    8) Exit
    Action [2]: 1
  6. Enter 1 as input. This will create a folder plane-app or plane-app-preview (in case of preview deployment) and will download the docker-compose.yaml and plane.env files.

  7. Enter 8 to exit.

  8. Set up the environment variables. You can use any text editor to edit this file. Below are the most importants keys you must refer to:

    • NGINX_PORT: This is set to 80 by default. Make sure the port you choose to use is not preoccupied. For example, NGINX_PORT=8080
    • WEB_URL: This is set to http://localhost by default. Change this to the FQDN you plan to use along with NGINX_PORT. For example, https://plane.example.com:8080 or http://[IP-ADDRESS]:8080.
    • CORS_ALLOWED_ORIGINS: This is set to http://localhost by default. Change this to the FQDN you plan to use along with NGINX_PORT. For example, https://plane.example.com:8080 or http://[IP-ADDRESS]:8080.
  9. Run the following command to continue with the setup.

    ./setup.sh
  10. Enter 2 as input to start the services. You will something like this:

    Downloading docker images

    Be patient as it might take some time based on your download speed and system configuration. If all goes well, you must see something like this:

    Downloading completed

    This is the confirmation that all images were downloaded and the services are up and running.

You have successfully self-hosted the Plane instance. Access the application by going to IP or domain you have configured it on. For example, https://plane.example.com:8080 or http://[IP-ADDRESS]:8080.

Stop server

In case you want to make changes to the environment variables in the plane.env file, we recommend that you stop the services before doing that.

Run the ./setup.sh command. Enter 3 to stop the services.

If all goes well, you will see something like this:

Stop Services

Restart server

In case you want to make changes to plane.env variables without stopping the server or noticed some abnormalities in services, you can restart the services.

Run the ./setup.sh command. Enter 4 to restart the services.

If all goes well, you will see something like this:

Restart Services

Troubleshoot