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.
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
ordocker-compose
) - The Plane air-gapped package, which includes:
- Docker image files (
.tar
) - Configuration files (
docker-compose.yml
,plane.env
) - Installation script (
install.sh
)
- Docker image files (
Required files
docker-compose.yml
— Docker Compose config for service orchestrationplane.env
— Default environment variablesadmin-commercial-<version>.tar
— Admin service imagebackend-commercial-<version>.tar
— API/worker/beat-worker/migrator imageemail-commercial-<version>.tar
— Email service imagelive-commercial-<version>.tar
— Live service imagemonitor-commercial-<version>.tar
— Monitor service imageproxy-commercial-<version>.tar
— Proxy service imagesilo-commercial-<version>.tar
— Silo service imagespace-commercial-<version>.tar
— Space service imageweb-commercial-<version>.tar
— Web service imageminio-latest.tar
— MinIO service imagepostgres-15.7-alpine.tar
— Postgres service imagerabbitmq-3.13.6-management-alpine.tar
— RabbitMQ service imagevalkey-7.2.5-alpine.tar
— Redis service image
Install Plane
-
Contact sales@plane.so for your installation download URL and license file.
-
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.
-
Transfer the
airgapped-{arch}.tar.gz
file to your air-gapped machine. -
Extract the package:
mkdir -p airgapped
tar -xvzf airgapped-amd64.tar.gz -C airgapped
cd airgappedThe airgapped directory contains your
plane.env
,docker-compose.yml
, andinstall.sh
files which are used in the following steps. -
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
andplane.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.comAfter installation, your directory structure will look like this:
~/planeairgapped/
├── docker-compose.yml
├── plane.env
├── data/
└── logs/ - Copy the
Environment variables
The following key environment variables are automatically configured during installation:
MACHINE_SIGNATURE
- A unique UUID generated for your installationDOMAIN_NAME
- The domain or IP address where Plane will be accessibleWEB_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
-
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 -
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.
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.
- Go to your Workspace Settings in the Plane application.
- Select Billing and plans on the right pane.
- Click the Activate this workspace button.
- 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.
Once everything is working, you can safely delete the airgapped
folder that
contains the installation script and image files to free up space.