loop-onprem-charts/airgap/README-airgap.md
2026-03-02 14:57:56 +03:00

2.1 KiB

Loop Air-Gapped Installation

This bundle contains everything needed to deploy Loop without internet access.

Contents

  • images/ — Docker images (pre-pulled, saved as tar archives)
  • helm/ — Helm charts with vendored dependencies
  • docker-compose/ — Docker Compose files
  • install.sh — Installation script

Prerequisites

For Kubernetes (Helm) deployment:

  • Kubernetes cluster (v1.21+)
  • helm CLI (v3.x)
  • kubectl configured for your cluster
  • docker or ctr (containerd) on nodes for image loading

For Docker Compose deployment:

  • Docker Engine (v20+)
  • Docker Compose (v2+)

Quick Start

Option A: Kubernetes (Helm)

# 1. Load images on the current machine
#    (repeat on ALL cluster nodes, or use --nodes flag)
./install.sh helm --namespace loop

# With SSH to cluster nodes (loads images on all nodes automatically):
./install.sh helm --namespace loop --nodes node1,node2,node3

# With LiveKit:
./install.sh helm --namespace loop --with-livekit

# With custom values:
./install.sh helm --namespace loop --values my-values.yaml

Option B: Docker Compose

./install.sh compose

# With LiveKit:
./install.sh compose --with-livekit

Manual Image Loading (Kubernetes)

If you cannot use --nodes, load images manually on EACH cluster node:

# For containerd (most K8s distributions):
for f in images/*.tar; do
  sudo ctr -n k8s.io images import "$f"
done

# For Docker:
for f in images/*.tar; do
  docker load -i "$f"
done

Configuration

Edit helm/loop-enterprise-stack/values.yaml before installation to customize:

  • global.siteUrl — your Loop URL (REQUIRED)
  • global.loopLicense — your license key (REQUIRED)
  • PostgreSQL credentials
  • MinIO credentials
  • Ingress settings

The values-airgap.yaml file is applied automatically and sets:

  • imagePullPolicy: IfNotPresent (prevents pull attempts)
  • Push notifications disabled (external server unreachable)

Updating

To update Loop in an air-gapped environment:

  1. Receive a new bundle from your provider
  2. Extract and run ./install.sh again (uses helm upgrade --install)