Skip to main content

Deploy Plane Commercial Airgapped Edition

This guide walks you through setting up the Commercial Airgapped Edition in an offline environment using our pre-packaged installation bundle.

warning

IMPORTANT These instructions are for new installations only. If you're migrating from Community Edition to air-gapped, follow this guide.

Prerequisites

Before you start, ensure your air-gapped machine has:

  • Docker (v24 or later)
  • Docker Compose Plugin (should be able to run docker compose or docker-compose)
  • The Plane air-gapped package, which includes:
    • Docker image files (.tar)
    • Configuration files (docker-compose.yml, plane.env)
    • Installation script (install.sh)

Required files

  • docker-compose.yml — Docker Compose config for service orchestration
  • plane.env — Default environment variables
  • admin-commercial-<version>.tar — Admin service image
  • backend-commercial-<version>.tar — API/worker/beat-worker/migrator image
  • email-commercial-<version>.tar — Email service image
  • live-commercial-<version>.tar — Live service image
  • monitor-commercial-<version>.tar — Monitor service image
  • proxy-commercial-<version>.tar — Proxy service image
  • silo-commercial-<version>.tar — Silo service image
  • space-commercial-<version>.tar — Space service image
  • web-commercial-<version>.tar — Web service image
  • minio-latest.tar — MinIO service image
  • postgres-15.7-alpine.tar — Postgres service image
  • rabbitmq-3.13.6-management-alpine.tar — RabbitMQ service image
  • valkey-7.2.5-alpine.tar — Redis service image

Install Plane

  1. Contact sales@plane.so for your installation download URL and license file.

  2. On a machine with internet access, download the installation package:

    curl -LO <asset-download-url>

    The download may take 15 minutes. Once complete, you no longer need internet access.

  3. Transfer the airgapped-{arch}.tar.gz file to your air-gapped machine.

  4. Extract the package:

    mkdir -p airgapped
    tar -xvzf airgapped-amd64.tar.gz -C airgapped
    cd airgapped

    The airgapped directory contains your plane.env, docker-compose.yml, and install.sh files which are used in the following steps.

  5. Run the installation script:

    bash install.sh

    The script will guide you through the process step by step. Here's what to expect:

    **********************************************************
    You are about to install/upgrade Plane as airgapped setup

    Pre-requisites:

    - Docker installed and running
    - Docker version 24 or higher
    - docker-compose or docker compose installed
    - A tarball of all the images
    - A docker-compose.yml file (docker-compose.yml)
    - A plane.env file (plane.env)
    **********************************************************

    Enter the directory to install Plane (default: /home/ubuntu/planeairgapped):

    Enter the domain or ip address to access Plane (default: 127.0.0.1): plane.mycompany.com

    **********************************************************
    Verify the final configuration:
    - Setup Directory: /home/ubuntu/planeairgapped
    - App Domain: plane.mycompany.com
    - Installation Type: New
    **********************************************************

    Once you confirm your settings, the installer will:

    • Copy the docker-compose.yml and plane.env files to your chosen installation directory.
    • Create the necessary folders for data and logs.
    • Load all the Docker images into your local Docker registry.

    You'll see something like this when the installation completes:

    ****************************\*\*****************************
    Plane Setup is ready to configure and start

    Use below commands to configure and start Plane
    Switch to the setup directory
    cd /home/ubuntu/planeairgapped
    Start the services
    docker compose -f docker-compose.yml --env-file plane.env up -d
    Check logs of migrator service and wait for it to finish using below command
    docker compose logs -f migrator
    Check logs of api service and wait for it to start using below command
    docker compose logs -f api
    Once the api service is started, you can access Plane at http://plane.mycompany.com
    **********************************************************
    Installation completed successfully
    You can access Plane at http://plane.mycompany.com

    After installation, your directory structure will look like this:

    ~/planeairgapped/
    ├── docker-compose.yml
    ├── plane.env
    ├── data/
    └── logs/

Environment variables

The following key environment variables are automatically configured during installation:

  • MACHINE_SIGNATURE - A unique UUID generated for your installation
  • DOMAIN_NAME - The domain or IP address where Plane will be accessible
  • WEB_URL - The full URL where Plane will be accessible (e.g., http://your-domain)
  • CORS_ALLOWED_ORIGINS - Allowed origins for CORS (Cross-Origin Resource Sharing)

Start Plane

  1. To get Plane up and running, navigate to your installation directory and start the services:

    cd ~/planeairgapped
    docker compose --env-file plane.env up -d
  2. Watch the logs to make sure everything starts properly.

    • To monitor the database migration process:
    docker compose logs -f migrator
    • To monitor the API service startup:
    docker compose logs -f api

    The api is healthy when you see: api-1 listening at

    Once both services are running smoothly, you can access Plane by opening your browser and going to the domain or IP address you configured during installation.

Activate your license

Once your air-gapped installation is running, you'll need to activate your workspace with the provided license file.

note

You should have received the license_key.json file as part of your air-gapped package. If you don't have this file, contact our support team.

  1. Go to your Workspace Settings in the Plane application.
  2. Select Billing and plans on the right pane.
  3. Click the Activate this workspace button. Upload license file
  4. Upload the license file license_key.json to activate your workspace.

You now have Plane running in your air-gapped environment. If you run into any issues, check the logs using the commands above, or reach out to our support team for assistance.

Optional

Once everything is working, you can safely delete the airgapped folder that contains the installation script and image files to free up space.