From 7c319b9a28dabfcb3318cbcb25f306603521ccca Mon Sep 17 00:00:00 2001 From: danciaclara Date: Wed, 1 Apr 2026 16:46:40 +0530 Subject: [PATCH 1/5] Update Airgapped Edition --- docs/.vitepress/config.mts | 14 ++++++ .../update-airgapped-docker.md | 46 +++++++++++++++++ .../update-airgapped-kubernetes.md | 50 +++++++++++++++++++ 3 files changed, 110 insertions(+) create mode 100644 docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-docker.md create mode 100644 docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-kubernetes.md diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 78158c8..8d76c8d 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -305,6 +305,20 @@ export default withMermaid( items: [ { text: "Update to latest version", link: "/self-hosting/manage/upgrade-plane" }, { text: "For versions before 0.14.0", link: "/self-hosting/manage/upgrade-from-0.13.2-0.14.0" }, + { + text: "Airgapped Edition", + collapsed: true, + items: [ + { + text: "On Docker", + link: "/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-docker", + }, + { + text: "On Kubernetes", + link: "/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-kubernetes", + }, + ], + }, ], }, { diff --git a/docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-docker.md b/docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-docker.md new file mode 100644 index 0000000..28680ca --- /dev/null +++ b/docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-docker.md @@ -0,0 +1,46 @@ +--- +title: Upgrade Airgapped Edition (Docker) +description: Upgrade your airgapped Plane instance running on Docker by cloning images, replacing configuration files, and uploading a new license. +--- + +# Update Airgapped Edition on Docker + +Since airgapped instances can't pull updates from the internet, updating the version requires manually transferring the latest Docker images and configuration files from a machine with internet access. + +## Prerequisites + +- A machine with internet access to download images and files. +- Access to your airgapped Docker registry. +- Your current `plane.env` file backed up. + +## Update Plane + +1. On a machine with internet access, pull the latest Plane images and push them to your airgapped Docker registry. Follow the guide for [cloning and pushing Plane Docker images](https://developers.plane.so/self-hosting/methods/clone-docker-images). + + Once complete, the latest Plane images are available in your internal registry. + +2. On the same machine with internet access, download the updated `docker-compose.yml` and environment template for your target version. + + ```bash + # Download docker-compose.yml + curl -fsSL https://prime.plane.so/releases//docker-compose-airgapped.yml -o docker-compose.yml + + # Download environment template + curl -fsSL https://prime.plane.so/releases//variables-airgapped.env -o plane.env + ``` + + Transfer both files to your airgapped instance and replace the existing ones. If you've made custom changes to your `plane.env`, merge them into the new template before replacing. + + :::info + Replace `` with the version you're upgrading to (e.g., v2.5.2). Check the [release notes](https://plane.so/changelog?category=self-hosted) for the latest available release version. + ::: + +3. Download the latest license file for the new version from [prime.plane.so](https://prime.plane.so). Follow [this guide](https://developers.plane.so/self-hosting/manage/manage-licenses/activate-airgapped) to activate license. + +4. Restart the instance to bring the instance back up with the new configuration. + + ```bash + docker compose up -d + ``` + +Verify the upgrade by checking the version in your Plane application. diff --git a/docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-kubernetes.md b/docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-kubernetes.md new file mode 100644 index 0000000..2d1634e --- /dev/null +++ b/docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-kubernetes.md @@ -0,0 +1,50 @@ +--- +title: Upgrade Airgapped Edition on Kubernetes +description: Upgrade your airgapped Plane instance running on Kubernetes by cloning images, updating the Helm chart, and redeploying. +--- + +# Update Airgapped Edition on Kubernetes + +Since airgapped clusters can't pull updates from the internet, upgrading requires manually transferring Docker images to your private registry and updating the Helm chart. + +## Prerequisites + +- A machine with internet access to download images and the Helm chart. +- Access to your airgapped Docker registry used by the cluster. +- Your current Helm `values.yaml` file backed up. + +## Update Plane + +1. On a machine with internet access, pull the latest Plane images and push them to your air-gapped Docker registry. Follow the guide for [cloning and pushing Plane Docker images](https://developers.plane.so/self-hosting/methods/clone-docker-images). + + Once complete, the latest Plane images are available in your internal registry. + +2. Download the latest Plane Enterprise Helm chart. You can check the most recent version on [Artifact Hub](https://artifacthub.io/packages/helm/makeplane/plane-enterprise). + + ```bash + # Using wget + wget https://github.com/makeplane/helm-charts/releases/download/plane-enterprise-/plane-enterprise-.tgz + + # Using curl + curl -L -O https://github.com/makeplane/helm-charts/releases/download/plane-enterprise-/plane-enterprise-.tgz + ``` + + Transfer the `.tgz` file to a machine that can access the cluster. + + :::info + Replace with the latest Helm chart version (e.g., 2.2.4). You can check the most recent version on [Artifact Hub](https://artifacthub.io/packages/helm/makeplane/plane-enterprise). + ::: + +3. In your `values.yaml`, update `planeVersion` to match the version of Plane images you pushed to the registry: + + ```yaml + planeVersion: + ``` + + :::info + Replace `` with the version you're upgrading to (e.g., v2.5.2). Check the [release notes](https://plane.so/changelog?category=self-hosted) for the latest available release version. + ::: + +4. Once the Helm chart and `values.yaml` file are updated, redeploy the Helm release in your Kubernetes cluster to complete the update. + +Verify the upgrade by checking the version in your Plane application. From c60abfbbe632a58bd48d511881bd30bf2c4566e5 Mon Sep 17 00:00:00 2001 From: danciaclara Date: Wed, 1 Apr 2026 16:57:13 +0530 Subject: [PATCH 2/5] Updated requirements page and plan tags --- .../methods/airgapped-edition-kubernetes.md | 4 ++-- docs/self-hosting/methods/airgapped-edition.md | 4 ++-- .../methods/airgapped-requirements.md | 15 ++++++++++++++- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/docs/self-hosting/methods/airgapped-edition-kubernetes.md b/docs/self-hosting/methods/airgapped-edition-kubernetes.md index dc08a76..222878b 100644 --- a/docs/self-hosting/methods/airgapped-edition-kubernetes.md +++ b/docs/self-hosting/methods/airgapped-edition-kubernetes.md @@ -4,10 +4,10 @@ description: Deploy Plane on Kubernetes using Helm charts. Complete guide for pr keywords: plane airgapped kubernetes, offline k8s deployment, air-gapped helm, kubernetes offline, plane helm airgapped, self-hosting --- -# Deploy Plane with airgapped Kubernetes +# Deploy Plane with airgapped Kubernetes ::: info -Airgapped deployments are available exclusively for Business plan customers. Contact our [sales team](mailto:sales@plane.so) for pricing and licensing information. +Airgapped deployments are available exclusively for Enterprise Grid customers. Contact our [sales team](mailto:sales@plane.so) for trials, pricing and license information. ::: This guide walks you through deploying Plane Commercial in an airgapped Kubernetes environment using Helm charts and pre-packaged Docker images. diff --git a/docs/self-hosting/methods/airgapped-edition.md b/docs/self-hosting/methods/airgapped-edition.md index 76fd1a0..9d9d207 100644 --- a/docs/self-hosting/methods/airgapped-edition.md +++ b/docs/self-hosting/methods/airgapped-edition.md @@ -4,10 +4,10 @@ description: Deploy Plane in airgapped environment without internet access. Comp keywords: plane airgapped, offline deployment, air-gapped docker, plane offline install, disconnected environment, self-hosting --- -# Deploy Plane with Airgapped Docker +# Deploy Plane with Airgapped Docker :::info -Airgapped deployments are available exclusively for Business plan customers. Contact our [sales team](mailto:sales@plane.so) for pricing and licensing information. +Airgapped deployments are available exclusively for Enterprise Grid customers. Contact our [sales team](mailto:sales@plane.so) for trials, pricing and license information. ::: This guide walks you through deploying Plane Commercial in an airgapped Docker environment using Docker Compose and pre-configured images from your private registry. diff --git a/docs/self-hosting/methods/airgapped-requirements.md b/docs/self-hosting/methods/airgapped-requirements.md index 9649e92..25520ce 100644 --- a/docs/self-hosting/methods/airgapped-requirements.md +++ b/docs/self-hosting/methods/airgapped-requirements.md @@ -7,7 +7,7 @@ keywords: plane airgapped requirements, air-gapped architecture, offline prerequ # Airgapped deployment architecture ::: info -Airgapped deployments are available exclusively for Business plan customers. Contact our [sales team](mailto:sales@plane.so) for pricing and licensing information. +Airgapped deployments are available exclusively for Enterprise Grid customers. Contact our [sales team](mailto:sales@plane.so) for trials, pricing and license information. ::: This document explains Plane's architecture and specific requirements for airgapped deployments. Review this before beginning your airgapped installation on [Docker](/self-hosting/methods/airgapped-edition) or [Kubernetes](/self-hosting/methods/airgapped-edition-kubernetes). @@ -18,6 +18,19 @@ An airgapped deployment operates in a completely isolated network environment wi Plane supports fully airgapped deployments where all components - application services, databases, storage, and integrations - operate entirely within your isolated network perimeter. +## Deployment methods + +Plane's Airgapped Edition can be deployed using Docker or Kubernetes. Choose the method that best fits your infrastructure. + + + + Deploy on a single machine using Docker. + + + Deploy on a Kubernetes cluster using Helm charts. + + + ## Airgapped cluster architecture Here's how Plane operates in an airgapped environment with internal enterprise applications: From 3688496301f6a356613511dd5c1b58cf148cb0e6 Mon Sep 17 00:00:00 2001 From: danciaclara Date: Wed, 1 Apr 2026 17:29:27 +0530 Subject: [PATCH 3/5] minor fixes --- docs/.vitepress/config.mts | 4 ++-- .../update-plane/airgapped-edition/update-airgapped-docker.md | 2 +- .../airgapped-edition/update-airgapped-kubernetes.md | 4 +++- docs/self-hosting/methods/airgapped-edition-kubernetes.md | 4 ++-- docs/self-hosting/methods/airgapped-edition.md | 4 ++-- docs/self-hosting/methods/airgapped-requirements.md | 2 +- 6 files changed, 11 insertions(+), 9 deletions(-) diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 8d76c8d..aa0b72d 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -235,8 +235,8 @@ export default withMermaid( collapsed: true, items: [ { text: "Overview", link: "/self-hosting/methods/airgapped-requirements" }, - { text: "For Docker", link: "/self-hosting/methods/airgapped-edition" }, - { text: "For Kubernetes", link: "/self-hosting/methods/airgapped-edition-kubernetes" }, + { text: "On Docker", link: "/self-hosting/methods/airgapped-edition" }, + { text: "On Kubernetes", link: "/self-hosting/methods/airgapped-edition-kubernetes" }, { text: "Clone Docker Images", link: "/self-hosting/methods/clone-docker-images" }, ], }, diff --git a/docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-docker.md b/docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-docker.md index 28680ca..3362139 100644 --- a/docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-docker.md +++ b/docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-docker.md @@ -29,7 +29,7 @@ Since airgapped instances can't pull updates from the internet, updating the ver curl -fsSL https://prime.plane.so/releases//variables-airgapped.env -o plane.env ``` - Transfer both files to your airgapped instance and replace the existing ones. If you've made custom changes to your `plane.env`, merge them into the new template before replacing. + Transfer both files to your airgapped instance and replace the existing ones. Before replacing your existing `plane.env`, compare it with the new template. Copy over any custom values from your old plane.env into the new template. The new template may include additional variables required by the latest version, so always use the new file as the base and bring your existing values into it. :::info Replace `` with the version you're upgrading to (e.g., v2.5.2). Check the [release notes](https://plane.so/changelog?category=self-hosted) for the latest available release version. diff --git a/docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-kubernetes.md b/docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-kubernetes.md index 2d1634e..6544af3 100644 --- a/docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-kubernetes.md +++ b/docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-kubernetes.md @@ -35,7 +35,9 @@ Since airgapped clusters can't pull updates from the internet, upgrading require Replace with the latest Helm chart version (e.g., 2.2.4). You can check the most recent version on [Artifact Hub](https://artifacthub.io/packages/helm/makeplane/plane-enterprise). ::: -3. In your `values.yaml`, update `planeVersion` to match the version of Plane images you pushed to the registry: + Before replacing your existing `values.yaml`, compare it with the new Helm chart's default values. Copy over any custom configuration from your old `values.yaml` into the new template. The new chart version may include additional or renamed fields, so always use the new default values as the base and bring your existing configuration into it. + +3. In your `values.yaml`, update `planeVersion` to match the version of Plane images you pushed to the registry. ```yaml planeVersion: diff --git a/docs/self-hosting/methods/airgapped-edition-kubernetes.md b/docs/self-hosting/methods/airgapped-edition-kubernetes.md index 222878b..743ca3f 100644 --- a/docs/self-hosting/methods/airgapped-edition-kubernetes.md +++ b/docs/self-hosting/methods/airgapped-edition-kubernetes.md @@ -4,10 +4,10 @@ description: Deploy Plane on Kubernetes using Helm charts. Complete guide for pr keywords: plane airgapped kubernetes, offline k8s deployment, air-gapped helm, kubernetes offline, plane helm airgapped, self-hosting --- -# Deploy Plane with airgapped Kubernetes +# Deploy Plane Airgapped on Kubernetes ::: info -Airgapped deployments are available exclusively for Enterprise Grid customers. Contact our [sales team](mailto:sales@plane.so) for trials, pricing and license information. +Airgapped deployments are available exclusively for for Enterprise Grid customers with a minimum commitment of 100 seats. Contact our [sales team](mailto:sales@plane.so) for trials, tailor-made pricing for lesser seats, and license information. ::: This guide walks you through deploying Plane Commercial in an airgapped Kubernetes environment using Helm charts and pre-packaged Docker images. diff --git a/docs/self-hosting/methods/airgapped-edition.md b/docs/self-hosting/methods/airgapped-edition.md index 9d9d207..5e64d5f 100644 --- a/docs/self-hosting/methods/airgapped-edition.md +++ b/docs/self-hosting/methods/airgapped-edition.md @@ -4,10 +4,10 @@ description: Deploy Plane in airgapped environment without internet access. Comp keywords: plane airgapped, offline deployment, air-gapped docker, plane offline install, disconnected environment, self-hosting --- -# Deploy Plane with Airgapped Docker +# Deploy Plane Airgapped on Docker :::info -Airgapped deployments are available exclusively for Enterprise Grid customers. Contact our [sales team](mailto:sales@plane.so) for trials, pricing and license information. +Airgapped deployments are available exclusively for for Enterprise Grid customers with a minimum commitment of 100 seats. Contact our [sales team](mailto:sales@plane.so) for trials, tailor-made pricing for lesser seats, and license information. ::: This guide walks you through deploying Plane Commercial in an airgapped Docker environment using Docker Compose and pre-configured images from your private registry. diff --git a/docs/self-hosting/methods/airgapped-requirements.md b/docs/self-hosting/methods/airgapped-requirements.md index 25520ce..1a4816c 100644 --- a/docs/self-hosting/methods/airgapped-requirements.md +++ b/docs/self-hosting/methods/airgapped-requirements.md @@ -7,7 +7,7 @@ keywords: plane airgapped requirements, air-gapped architecture, offline prerequ # Airgapped deployment architecture ::: info -Airgapped deployments are available exclusively for Enterprise Grid customers. Contact our [sales team](mailto:sales@plane.so) for trials, pricing and license information. +Airgapped deployments are available exclusively for for Enterprise Grid customers with a minimum commitment of 100 seats. Contact our [sales team](mailto:sales@plane.so) for trials, tailor-made pricing for lesser seats, and license information. ::: This document explains Plane's architecture and specific requirements for airgapped deployments. Review this before beginning your airgapped installation on [Docker](/self-hosting/methods/airgapped-edition) or [Kubernetes](/self-hosting/methods/airgapped-edition-kubernetes). From 49359b530fb2360de8e6f71d6d8ce0d32e295cb0 Mon Sep 17 00:00:00 2001 From: danciaclara Date: Wed, 1 Apr 2026 17:32:25 +0530 Subject: [PATCH 4/5] added keywords --- .../update-plane/airgapped-edition/update-airgapped-docker.md | 1 + .../airgapped-edition/update-airgapped-kubernetes.md | 1 + 2 files changed, 2 insertions(+) diff --git a/docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-docker.md b/docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-docker.md index 3362139..4333d10 100644 --- a/docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-docker.md +++ b/docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-docker.md @@ -1,6 +1,7 @@ --- title: Upgrade Airgapped Edition (Docker) description: Upgrade your airgapped Plane instance running on Docker by cloning images, replacing configuration files, and uploading a new license. +keywords: plane airgapped upgrade, air-gapped docker upgrade, plane offline update --- # Update Airgapped Edition on Docker diff --git a/docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-kubernetes.md b/docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-kubernetes.md index 6544af3..a6c5095 100644 --- a/docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-kubernetes.md +++ b/docs/self-hosting/manage/update-plane/airgapped-edition/update-airgapped-kubernetes.md @@ -1,6 +1,7 @@ --- title: Upgrade Airgapped Edition on Kubernetes description: Upgrade your airgapped Plane instance running on Kubernetes by cloning images, updating the Helm chart, and redeploying. +keywords: plane airgapped kubernetes upgrade, air-gapped helm chart upgrade, plane offline k8s update --- # Update Airgapped Edition on Kubernetes From b37d96d3d020d9c613a91c171eecfc4b25f7f6ce Mon Sep 17 00:00:00 2001 From: danciaclara Date: Wed, 1 Apr 2026 17:35:16 +0530 Subject: [PATCH 5/5] coderabbit fixes --- docs/self-hosting/methods/airgapped-edition-kubernetes.md | 2 +- docs/self-hosting/methods/airgapped-edition.md | 2 +- docs/self-hosting/methods/airgapped-requirements.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/self-hosting/methods/airgapped-edition-kubernetes.md b/docs/self-hosting/methods/airgapped-edition-kubernetes.md index 743ca3f..fbd6ec4 100644 --- a/docs/self-hosting/methods/airgapped-edition-kubernetes.md +++ b/docs/self-hosting/methods/airgapped-edition-kubernetes.md @@ -7,7 +7,7 @@ keywords: plane airgapped kubernetes, offline k8s deployment, air-gapped helm, k # Deploy Plane Airgapped on Kubernetes ::: info -Airgapped deployments are available exclusively for for Enterprise Grid customers with a minimum commitment of 100 seats. Contact our [sales team](mailto:sales@plane.so) for trials, tailor-made pricing for lesser seats, and license information. +Airgapped deployments are available exclusively for Enterprise Grid customers with a minimum commitment of 100 seats. Contact our [sales team](mailto:sales@plane.so) for trials, tailor-made pricing for lesser seats, and license information. ::: This guide walks you through deploying Plane Commercial in an airgapped Kubernetes environment using Helm charts and pre-packaged Docker images. diff --git a/docs/self-hosting/methods/airgapped-edition.md b/docs/self-hosting/methods/airgapped-edition.md index 5e64d5f..28bd75e 100644 --- a/docs/self-hosting/methods/airgapped-edition.md +++ b/docs/self-hosting/methods/airgapped-edition.md @@ -7,7 +7,7 @@ keywords: plane airgapped, offline deployment, air-gapped docker, plane offline # Deploy Plane Airgapped on Docker :::info -Airgapped deployments are available exclusively for for Enterprise Grid customers with a minimum commitment of 100 seats. Contact our [sales team](mailto:sales@plane.so) for trials, tailor-made pricing for lesser seats, and license information. +Airgapped deployments are available exclusively for Enterprise Grid customers with a minimum commitment of 100 seats. Contact our [sales team](mailto:sales@plane.so) for trials, tailor-made pricing for lesser seats, and license information. ::: This guide walks you through deploying Plane Commercial in an airgapped Docker environment using Docker Compose and pre-configured images from your private registry. diff --git a/docs/self-hosting/methods/airgapped-requirements.md b/docs/self-hosting/methods/airgapped-requirements.md index 1a4816c..24225b4 100644 --- a/docs/self-hosting/methods/airgapped-requirements.md +++ b/docs/self-hosting/methods/airgapped-requirements.md @@ -7,7 +7,7 @@ keywords: plane airgapped requirements, air-gapped architecture, offline prerequ # Airgapped deployment architecture ::: info -Airgapped deployments are available exclusively for for Enterprise Grid customers with a minimum commitment of 100 seats. Contact our [sales team](mailto:sales@plane.so) for trials, tailor-made pricing for lesser seats, and license information. +Airgapped deployments are available exclusively for Enterprise Grid customers with a minimum commitment of 100 seats. Contact our [sales team](mailto:sales@plane.so) for trials, tailor-made pricing for lesser seats, and license information. ::: This document explains Plane's architecture and specific requirements for airgapped deployments. Review this before beginning your airgapped installation on [Docker](/self-hosting/methods/airgapped-edition) or [Kubernetes](/self-hosting/methods/airgapped-edition-kubernetes).