Get started

Pick the path that matches your environment. Docker for laptops, Helm for production clusters.

Quick start (Docker)

Three commands to a running SparkLabX. Requires Docker + Docker Compose v2.

git clone https://github.com/sparklabx/sparklabx.git
cd sparklabx
./quickstart.sh

The script generates random secrets, pulls public Docker images from ghcr.io/sparklabx/, starts the stack, and prints the admin password. Open http://localhost:3000, log in as admin.

First-time install: the kernel image is ~1.2 GB compressed. On average broadband expect 5–15 min for the initial pull. Subsequent starts are instant.

Kubernetes (Helm)

Single source of truth in chart/. Works on EKS, GKE, AKS, k3s, and bare-metal with a default StorageClass and ingress controller.

helm install sparklabx ./chart \
  --namespace sparklabx --create-namespace \
  --set secrets.jwtSecretKey="$(openssl rand -base64 48)" \
  --set secrets.seedAdmin.password="$(openssl rand -base64 16)" \
  --set secrets.minio.rootPassword="$(openssl rand -base64 24)" \
  --set ingress.host=notebook.example.com

Cluster requirements

  • Default StorageClass with dynamic provisioning
  • An ingress controller (nginx-ingress, traefik) if ingress.enabled=true
  • cert-manager + a ClusterIssuer for automatic TLS — optional

Uninstall

# Docker
docker compose down -v

# Kubernetes
helm uninstall sparklabx -n sparklabx
kubectl delete pvc --all -n sparklabx
kubectl delete namespace sparklabx