- Docker
- Docker + HTTPS
- Kubernetes
- Helm
- Podman
1
Install with docker compose
git clone https://github.com/apowerb/apowerb-hosting.git && cd apowerb-hosting
cp .env.example .env && ./scripts/generate-secrets.sh
docker compose -f docker-compose/docker-compose.yml --env-file .env up -d
2
Create the first admin
Set
DEFAULT_SUPERADMIN_EMAIL=you@example.com in .env, run the last
command again, then sign up with that address at
http://localhost:3000.Needs a domain pointing at the server and ports 80 and 443 open.Details: Single VM / HTTPS.
1
Install with docker compose and Traefik
git clone https://github.com/apowerb/apowerb-hosting.git && cd apowerb-hosting
cp .env.example .env && ./scripts/generate-secrets.sh
# set APP_HOST and ACME_EMAIL in .env
docker compose -f docker-compose/docker-compose.yml -f docker-compose/docker-compose.traefik.yml --env-file .env up -d
2
Create the first admin
Set
DEFAULT_SUPERADMIN_EMAIL=you@example.com in .env, run the last
command again, then sign up with that address at https://<APP_HOST>.Needs a cluster with a default storage class.Then sign up at http://localhost:13000. Keep
Details: Kubernetes.
1
Install with kubectl
git clone https://github.com/apowerb/apowerb-hosting.git && cd apowerb-hosting
./scripts/generate-k8s-secret.sh
kubectl apply -f k8s/apowerb/00-namespace.yaml -f k8s/secret.yaml
kubectl apply -f k8s/apowerb/
2
Open the interface
kubectl -n apowerb port-forward svc/apowerb-frontend 13000:3000
k8s/secret.yaml: it holds the encryption key.Needs a cluster with a default storage class.Sign up at http://localhost:13000 with the
Details: Helm chart.
1
Install with Helm
umask 077; cat > values-secrets.yaml <<YAML
backend: {env: {encryptKey: "$(openssl rand -base64 32)"}}
th2etl: {apiKey: "$(openssl rand -hex 32)"}
th2pulse: {ingestToken: "$(openssl rand -hex 32)", queryToken: "$(openssl rand -hex 32)"}
postgres: {password: "$(openssl rand -hex 16)"}
YAML
helm upgrade --install apowerb oci://registry-1.docker.io/apowerb/apowerb-chart \
--namespace apowerb --create-namespace --values values-secrets.yaml \
--set superadmin.email=you@example.com --timeout 10m
2
Open the interface
kubectl -n apowerb port-forward svc/apowerb-frontend 13000:3000
superadmin.email address; the next backend start makes it admin.
Keep values-secrets.yaml and pass it to every helm upgrade.Not tested yet. Needs Podman 4.7 or later.Details: Podman.
1
Install with podman compose
git clone https://github.com/apowerb/apowerb-hosting.git && cd apowerb-hosting
cp .env.example .env && ./scripts/generate-secrets.sh
podman compose -f docker-compose/docker-compose.yml --env-file .env up -d
2
Create the first admin
Set
DEFAULT_SUPERADMIN_EMAIL=you@example.com in .env, run the last
command again, then sign up at http://localhost:3000.