Air-Gapped & Disconnected Installation Procedure¶
For secure facilities without internet access, follow this procedure to pre-package and import container images and model weights.
flowchart LR
subgraph Connected["1. Online Staging Host"]
Pull["docker pull & save"]
Weights["Download Models"]
Tar["Create Tarballs"]
end
subgraph Transfer["2. Secure Transport"]
Media["Approved Optical Media / Hard Drive"]
end
subgraph Airgap["3. Air-Gapped Server"]
Load["docker load -i"]
Models["Extract to /opt/vda/models"]
Compose["docker compose up -d"]
end
Pull & Weights --> Tar
Tar --> Media
Media --> Load & Models
Load & Models --> Compose
Phase 1: On an Internet-Connected Machine¶
-
Pull and Save All Container Images:
# Pull all platform images docker pull whiteklay/vda-client:latest docker pull whiteklay/vda-server:latest docker pull whiteklay/vda-metadata:latest docker pull postgres:15-alpine docker pull quay.io/keycloak/keycloak:24.0.5 docker pull surrealdb/surrealdb:v2.1.4 docker pull qdrant/qdrant:v1.11.0 docker pull temporalio/auto-setup:1.24.2 docker pull temporalio/ui:2.30.0 docker pull ollama/ollama:latest # Export all images into a single tar archive docker save -o vda-images.tar \ whiteklay/vda-client:latest \ whiteklay/vda-server:latest \ whiteklay/vda-metadata:latest \ postgres:15-alpine \ quay.io/keycloak/keycloak:24.0.5 \ surrealdb/surrealdb:v2.1.4 \ qdrant/qdrant:v1.11.0 \ temporalio/auto-setup:1.24.2 \ temporalio/ui:2.30.0 \ ollama/ollama:latest -
Pre-Download Ollama Model Blobs:
# Run temporary ollama container to pull model docker run -d --name temp-ollama -v $(pwd)/ollama-data:/root/.ollama ollama/ollama:latest docker exec -it temp-ollama ollama pull qwen2.5:7b docker stop temp-ollama && docker rm temp-ollama # Package model weights tar -czvf vda-ollama-models.tar.gz ollama-data/
Phase 2: Transfer to the Air-Gapped Host¶
Transfer vda-images.tar, vda-ollama-models.tar.gz, docker-compose.yml, and .env via approved physical transfer media according to your organization's security policy.
Phase 3: Load and Launch on the Air-Gapped Host¶
- Load Container Images:
- Unpack Model Weights:
- Launch Platform in Offline Mode: