Try it
docker run -d --name guard -p 8443:8443 \
-v guard-data:/var/lib/runeward-guard \
ghcr.io/runeeward/runeward-guard:<release>
docker logs -f guard
The log prints the Console address and the first administrator key, once.
Warning: This is an evaluation install: one node, no redundancy and no backups. Don't enroll production endpoints into it.
Production with Docker Compose
Installs with bundled PostgreSQL, images pinned by digest, encrypted backups and upgrades with automatic rollback.
deploy/scripts/install.sh
sudo /opt/runeward-guard/scripts/generate-secrets.sh
sudo install -m 0600 images.env /etc/runeward-guard/images.env
sudo /opt/runeward-guard/scripts/deploy.sh
Using your own database? Follow Your own PostgreSQL instead.
Kubernetes
PostgreSQL is external. Create the database and guard-secrets first: see Kubernetes.
helm install guard helm-charts/guard --namespace guard \
--set host=guard.example.com \
--set secrets.existingSecret=guard-secrets \
--set ingress.tlsSecretName=guard-tls \
--set image.cloud.digest=sha256:... --set image.edge.digest=sha256:...
First organization
On Compose and Kubernetes, run this in the Guard Cloud container. It prints the first administrator key once:
guard-cloud bootstrap --organization "Your organization"
Sign in to the Console, then create an enrollment token and enroll your devices. Devices need a publicly trusted certificate, or one from a CA they trust.
Written from docs/guard-cloud.md, docs/self-hosting.md at commit fb79778d02f0. Rune Guard is in early access.