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

87 lines
2.1 KiB
Markdown

# 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)
```bash
# 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
```bash
./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:
```bash
# 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`)