Skip to main content
IMPORTANT
Airgapped deployments are available exclusively for Business plan customers. Contact our sales team for pricing and licensing information.
This guide walks you through deploying Plane Commercial in an airgapped Kubernetes environment using Helm charts and pre-packaged Docker images.

What you’ll need

Before starting, ensure you have:
  • Kubernetes cluster (v1.31 - v1.33)
  • Helm 3.x installed
  • kubectl configured to access your cluster
  • cert-manager available in the cluster
  • A valid and working ingress controller (nginx, traefik, etc)
  • Required ports opened to access the application (80, 443)
  • SMTP ports opened if using email intake (25, 465, 587)
While Kubernetes can run stateful services with persistent volumes, and Plane’s Helm chart supports deploying PostgreSQL, MinIO, RabbitMQ, and Redis, we strongly recommend using external managed services for better reliability in backup/restore operations and disaster recovery.Consider these alternatives:
  • MinIO: Replace with AWS S3, Google Cloud Storage, or any S3-compatible service
  • Redis: Replace with Valkey or a managed Redis service
  • PostgreSQL: Use a managed PostgreSQL service
  • RabbitMQ: Use a managed message queue service
  • OpenSearch: Use a managed OpenSearch or Elasticsearch service

Install Plane

  1. Download Plane Enterprise Helm chart Get the Plane Enterprise Helm chart from the official release. Check for the latest version at Artifact Hub.
  2. Prepare Docker images for airgapped environment Refer to this document to download the Docker images from the public repository to your internal repository.
    Important
    This process will NOT download or clone these infrastructure images:
    • valkey:7.2.5-alpine
    • postgres:15.7-alpine
    • rabbitmq:3.13.6-management-alpine
    • minio/minio:latest
    • minio/mc:latest
    • opensearchproject/opensearch:3.3.2
    If you’re using local_setup: true for any of these services, you’ll need to pull and transfer these images separately.
  3. Configure custom values file a. Extract the default values from the Helm chart.
    b. Update Docker image references Edit the custom-values.yaml file to point to your local or private registry images and configure important settings. Basic configuration:
    Service images:
    Infrastructure services: Configure whether to use local (in-cluster) or external services:
    Environment variables:
    c. Configure integrations and importers To set up integrations with external systems like Slack, GitHub, and GitLab, configure these values in custom-values.yaml:
    d. Configure intake email The email intake feature in Plane lets you capture incoming emails. Before or after setting up the application, configure DNS settings following this guide. Add these required values to custom-values.yaml:
  4. Install or upgrade with custom values Install Plane Enterprise using your customized values file:
  5. Verify installation Check that all components are running:
    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.
  6. Activate your license key.

Additional configuration

For more advanced Plane configuration options, refer to the Kubernetes documentation.