Skip to content

Commit 59aa211

Browse files
committed
Airgapped Commercial Edition
1 parent cef0363 commit 59aa211

File tree

5 files changed

+244
-21
lines changed

5 files changed

+244
-21
lines changed
39.6 KB
Binary file not shown.

mint.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@
7171
"self-hosting/methods/docker-swarm",
7272
"self-hosting/methods/kubernetes",
7373
"self-hosting/methods/coolify",
74-
"self-hosting/methods/portainer"
74+
"self-hosting/methods/portainer",
75+
"self-hosting/methods/airgapped-edition"
7576
]
7677
},
7778
{
@@ -112,6 +113,7 @@
112113
"group": "Manage",
113114
"pages": [
114115
"self-hosting/upgrade-from-community",
116+
"self-hosting/manage/community-to-airgapped",
115117
"self-hosting/manage/backup-restore",
116118
{
117119
"group": "Update Plane",
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
title: Upgrade from Community to Airgapped Edition
3+
sidebarTitle: Upgrade to Airgapped Edition
4+
---
5+
6+
This guide walks you through migrating your existing Plane Community Edition data to an air-gapped environment. You'll backup your current installation, transfer the data, and restore it in your air-gapped setup.
7+
8+
<Warning>
9+
**Important**
10+
Make sure you already have Commercial Airgapped Edition installed on a fresh machine before starting this migration. If you haven't installed it yet, follow our [airgapped installation guide](/self-hosting/methods/airgapped-edition) first.
11+
</Warning>
12+
13+
## Prerequisites
14+
15+
- Install the [Commercial Airgapped Edition](/self-hosting/methods/airgapped-edition) on a fresh machine, not the one running the Community Edition.
16+
- Be sure to log in as the root user or as a user with sudo access. The `/opt` folder requires sudo or root privileges.
17+
18+
## Backup data on Community instance
19+
20+
1. Download the latest version of `setup.sh`.
21+
```bash
22+
curl -fsSL https://github.com/makeplane/plane/releases/latest/download/setup.sh -o setup.sh
23+
```
24+
25+
2. Run the setup.sh backup script to take the backup of the Community Edition instance.
26+
```bash
27+
./setup.sh backup
28+
```
29+
This will create a backup of the plane community instance in the `backup/` folder with the timestamp as the folder name.
30+
```bash
31+
backup/
32+
└── 20250605-0938
33+
├── pgdata.tar.gz
34+
├── rabbitmq_data.tar.gz
35+
├── redisdata.tar.gz
36+
└── uploads.tar.gz
37+
```
38+
39+
## Restore data on Airgapped instance
40+
41+
1. Download the latest version of `restore-airgapped.sh`
42+
```bash
43+
curl -fsSL https://github.com/makeplane/plane/releases/latest/download/restore-airgapped.sh -o restore-airgapped.sh
44+
chmod +x restore-airgapped.sh
45+
```
46+
This allows you to restore the Community Edition data to the Commercial Airgapped instance.
47+
48+
2. Copy the `restore-airgapped.sh` script into your backup folder.
49+
50+
3. Move your entire backup folder to the server running the Commercial Airgapped Edition.
51+
52+
4. Open terminal, and execute the following command:
53+
```bash
54+
sudo bash restore-airgapped.sh ./20250605-0938
55+
```
56+
This will prompt you to enter the Commercial Airgapped Edition installation folder using whatever secure method works in your environment.
57+
58+
5. After the data restore is finished, start the instance.
59+
```bash
60+
cd <airgapped-instance-folder>
61+
sudo docker compose -f docker-compose.yml --env-file plane.env up -d
62+
```
63+
64+
You can now access the Commercial Airgapped instance at `http://<ip-address|domain-name>`
65+
66+
Once your migration is complete, verify that all your projects, issues, and team data have been successfully transferred to your air-gapped environment.
Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
---
2+
title: Commercial Airgapped Edition
3+
sidebarTitle: Airgapped Edition
4+
---
5+
6+
This guide walks you through setting up the Commercial Airgapped Edition in an offline environment using our pre-packaged installation bundle.
7+
8+
<Warning>
9+
**IMPORTANT**
10+
These instructions are for new installations only. If you're migrating from an existing Community Edition to an air-gapped setup, follow [this guide](/self-hosting/manage/community-to-airgapped).
11+
</Warning>
12+
13+
## Prerequisites
14+
Before we get started, make sure your air-gapped machine has:
15+
16+
- Docker (version 24 or later) up and running
17+
- Docker Compose Plugin installed (you should be able to run docker compose or docker-compose)
18+
- The Plane air-gapped package (`airgapped.tar.gz`) that we'll provide, which includes:
19+
- Docker image files (`.tar` format)
20+
- Configuration files (`docker-compose.yml` and `plane.env`)
21+
- Installation script (`install.sh`)
22+
23+
## Install Plane
24+
1. Reach out to [email protected] to get your installation download URL and the license file.
25+
26+
2. On a machine that has internet access, download the installation package:
27+
28+
```bash
29+
curl -LO <asset-download-url>
30+
```
31+
32+
3. Transfer the `airgapped.tar.gz` file to your offline machine using whatever method works in your environment.
33+
34+
4. Once you have the file on your air-gapped machine, extract the package.
35+
36+
```bash
37+
mkdir -p airgapped
38+
tar -xvzf airgapped.tar.gz -C airgapped
39+
cd airgapped
40+
```
41+
42+
5. Run the installation script:
43+
```bash
44+
bash install.sh
45+
```
46+
47+
The script will guide you through the process. Here's what to expect:
48+
49+
The installer will ask you a few questions:
50+
```bash
51+
**********************************************************
52+
You are about to install/upgrade Plane as airgapped setup
53+
54+
Pre-requisites:
55+
- Docker installed and running
56+
- Docker version 24 or higher
57+
- docker-compose or docker compose installed
58+
- A tarball of all the images
59+
- A docker-compose.yml file (docker-compose.yml)
60+
- A plane.env file (plane.env)
61+
**********************************************************
62+
63+
Enter the directory to install Plane (default: /home/ubuntu/planeairgapped):
64+
65+
Enter the domain or ip address to access Plane (default: 127.0.0.1): plane.mycompany.com
66+
67+
**********************************************************
68+
Verify the final configuration:
69+
- Setup Directory: /home/ubuntu/planeairgapped
70+
- App Domain: plane.mycompany.com
71+
- Installation Type: New
72+
**********************************************************
73+
```
74+
75+
Once you confirm your settings, the installer will:
76+
- Copy the `docker-compose.yml` and `plane.env` files to your chosen installation directory.
77+
- Create the necessary folders for data and logs.
78+
- Load all the Docker images into your local Docker registry.
79+
- Show you the next steps to get Plane running
80+
81+
You'll see something like this when the installation completes:
82+
```bash
83+
**********************************************************
84+
Plane Setup is ready to configure and start
85+
86+
Use below commands to configure and start Plane
87+
88+
Switch to the setup directory
89+
cd /home/ubuntu/planeairgapped
90+
91+
Start the services
92+
docker compose -f docker-compose.yml --env-file plane.env up -d
93+
94+
Check logs of migrator service and wait for it to finish using below command
95+
docker compose logs -f migrator
96+
97+
Check logs of api service and wait for it to start using below command
98+
docker compose logs -f api
99+
100+
Once the api service is started, you can access Plane at http://plane.mycompany.com
101+
102+
**********************************************************
103+
Installation completed successfully
104+
105+
You can access Plane at http://plane.mycompany.com
106+
```
107+
108+
After installation, your directory structure will look like this:
109+
```bash
110+
~/planeairgapped/
111+
├── docker-compose.yml
112+
├── plane.env
113+
├── data/
114+
└── logs/
115+
```
116+
<Tip>
117+
Once everything is working, you can safely delete the `airgapped` folder that contains the installation script and image files to free up space.
118+
</Tip>
119+
120+
## Start Plane
121+
1. To get Plane up and running, navigate to your installation directory and start the services:
122+
```bash
123+
cd ~/planeairgapped
124+
docker compose --env-file plane.env up -d
125+
```
126+
127+
2. Watch the logs to make sure everything starts properly:
128+
- Monitor the database migration process:
129+
```bash
130+
docker compose logs -f migrator
131+
```
132+
133+
- Monitor the API service startup:
134+
```bash
135+
docker compose logs -f api
136+
```
137+
138+
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.
139+
140+
## Activate your license
141+
142+
Once your air-gapped installation is running, you'll need to activate your workspace with the provided license file.
143+
<Note>
144+
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.
145+
</Note>
146+
147+
1. Go to your **Workspace Settings** in the Plane application.
148+
2. Select **Billing and plans** on the right pane.
149+
3. Click the **Activate this workspace** button.
150+
![Upload license file](/images/activate-license/upload-license-file.webp)
151+
4. Upload the license file `license_key.json` to activate your workspace.
152+
---
153+
You should now have Plane Business plan running in your air-gapped environment. If you run into any issues, reach out to our support team for assistance.

self-hosting/upgrade-from-community.mdx

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,40 +5,45 @@ sidebarTitle: Upgrade to Commercial Edition
55
The Commercial edition comes with the free plan and the flexibility to upgrade to a paid plan at any point.
66

77
<Warning>
8-
Follow the instructions below first all the way to the end of the section **Restore data**.
8+
**IMPORTANT**
99

10-
The instructions provided on this page are specific to installations using Docker. If you are running Plane on Kubernetes, you'll need to manually create a database dump and back up your file storage by copying the relevant volumes or storage paths.
10+
Make sure you already have Commercial Edition installed on a fresh machine before starting this migration. If you haven’t installed it yet, follow our [Commercial Edition](/self-hosting/methods/docker-compose#recommended-edition) installation guide first.
11+
12+
The instructions provided on this page are specific to installations using Docker. If you are running Plane on Kubernetes, you'll need to manually create a database dump and back up your file storage by copying the relevant volumes or storage paths.
1113
</Warning>
1214

1315
## Prerequisites
14-
15-
- Install on a fresh machine, not the one running the Plane Community Edition.
16+
- Install the [Commercial Edition](/self-hosting/methods/docker-compose#recommended-edition) on a fresh machine, not the one running the Plane Community Edition.
1617
- Be sure to log in as the root user or as a user with sudo access. The `/opt` folder requires sudo or root privileges.
1718

19+
## Back up data on Community instance
20+
1. Download the latest version of `setup.sh`.
21+
```bash
22+
curl -fsSL https://github.com/makeplane/plane/releases/latest/download/setup.sh -o setup.sh
23+
```
1824

19-
## Back up data on Community Edition
20-
21-
`setup.sh` in the Community Edition now comes with an option to back up your data.
22-
23-
1. Use `./setup.sh` to open the operator menu and select `7` to backup your Plane data.
24-
2. When done, your data will be backed up to the folder shown on the screen.
25-
e.g., `/plane-selfhost/plane-app/backup/20240522-1027`
26-
3. This folder will contain 3 `tar.gz` files.
25+
2. Run the setup.sh backup script to take the backup of the Community Edition instance.
26+
```bash
27+
./setup.sh backup
28+
```
29+
3. When done, your data will be backed up to the folder shown on the screen.
30+
e.g., `/plane-selfhost/plane-app/backup/20240522-1027`
31+
This folder will contain 3 `tar.gz` files.
2732
- `pgdata.tar.gz`
2833
- `redisdata.tar.gz`
2934
- `uploads.tar.gz`
30-
4. Copy all the 3 files from the server running the Community Edition to any folder on the server running Plane One on any folder of your choice.
3135

32-
e.g., `~/ce-backup`
36+
4. Copy all the 3 files from the server running the Community Edition to any folder on the server running the Commercial Edition on any folder of your choice.
37+
38+
e.g., `~/ce-backup`
3339

34-
## Restore data and install Commercial Edition
40+
## Restore data on Commercial instance
3541
1. Start any command-line interface like Terminal and go into the folder with the back-up files.
3642
```
3743
cd ~/ce-backup
3844
```
3945
2. Copy and paste the script below on Terminal and hit Enter.
4046
```
41-
4247
TARGET_DIR=/opt/plane/data
4348
sudo mkdir -p $TARGET_DIR
4449
for FILE in *.tar.gz; do
@@ -55,7 +60,4 @@ e.g., `~/ce-backup`
5560
mkdir -p $TARGET_DIR/minio
5661
mv $TARGET_DIR/uploads/ $TARGET_DIR/minio/uploads/
5762
```
58-
3. This script will extract your Community Edition data and restore it to /opt/plane/data.
59-
4. Install the **Commercial** Edition.
60-
- Using [Docker](/self-hosting/methods/docker-compose#recommended-edition)
61-
- Using [Kubernetes](/self-hosting/methods/kubernetes#recommended-edition)
63+
3. This script will extract your Community Edition data and restore it to `/opt/plane/data`.

0 commit comments

Comments
 (0)