Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 16 additions & 2 deletions docs/.vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -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" },
],
},
Expand Down Expand Up @@ -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",
},
],
},
],
},
{
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
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

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/<plane_version>/docker-compose-airgapped.yml -o docker-compose.yml

# Download environment template
curl -fsSL https://prime.plane.so/releases/<plane_version>/variables-airgapped.env -o plane.env
```

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 `<plane_version>` 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.
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
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

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-<chart_version>/plane-enterprise-<chart_version>.tgz

# Using curl
curl -L -O https://github.com/makeplane/helm-charts/releases/download/plane-enterprise-<chart_version>/plane-enterprise-<chart_version>.tgz
```

Transfer the `.tgz` file to a machine that can access the cluster.

:::info
Replace <chart_version> 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).
:::

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: <plane_version>
```

:::info
Replace `<plane_version>` 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.
4 changes: 2 additions & 2 deletions docs/self-hosting/methods/airgapped-edition-kubernetes.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 <Badge type="tip" text="Business" />
# Deploy Plane Airgapped on Kubernetes <Badge type="warning" text="Enterprise Grid" />

::: 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 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.
Expand Down
4 changes: 2 additions & 2 deletions docs/self-hosting/methods/airgapped-edition.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 <Badge type="tip" text="Business" />
# Deploy Plane Airgapped on Docker <Badge type="warning" text="Enterprise Grid" />

:::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 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.
Expand Down
15 changes: 14 additions & 1 deletion docs/self-hosting/methods/airgapped-requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 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).
Expand All @@ -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.

<CardGroup>
<Card title="Docker" icon="docker" href="/self-hosting/methods/airgapped-edition">
Deploy on a single machine using Docker.
</Card>
<Card title="Kubernetes" icon="kubernetes" href="/self-hosting/methods/airgapped-edition-kubernetes">
Deploy on a Kubernetes cluster using Helm charts.
</Card>
</CardGroup>

## Airgapped cluster architecture

Here's how Plane operates in an airgapped environment with internal enterprise applications:
Expand Down
Loading