Lightweight, self-hosted configuration and secrets management
1.4K
Lightweight, self-hosted configuration and secrets management. Store config and secrets with versioning, RBAC, audit logs, and live watch โ one container, no external dependencies.
Documentation: keyraft.github.ioโ ยท Source: github.com/keyraft/keyraftedโ
docker run -d -p 7200:7200 \
-e KEYRAFT_MASTER_KEY=$(openssl rand -base64 32) \
-v keyraft-data:/data \
--name keyraft \
keyraft/keyrafted:latest
The image auto-initializes on first run. Open the web UI at http://localhost:7200โ after you have a token.
docker logs keyraft
Look for the Root token line in the output. Save it โ you need it for the API and web UI.
/v1| Tag | Description |
|---|---|
latest | Latest stable release |
x.y.z | Specific release (e.g. 0.3.0) |
Also published on GitHub Container Registry: ghcr.io/keyraft/keyrafted
| Variable | Description |
|---|---|
KEYRAFT_MASTER_KEY | Master encryption key for secrets (required in production; use openssl rand -base64 32) |
KEYRAFT_DATA_DIR | Data directory inside the container (default: /data) |
KEYRAFT_LISTEN | HTTP listen address (default: :7200) |
Mount a volume at /data to persist the database, tokens, and audit logs across restarts:
-v keyraft-data:/data
services:
keyraft:
image: keyraft/keyrafted:latest
ports:
- "7200:7200"
environment:
KEYRAFT_MASTER_KEY: ${KEYRAFT_MASTER_KEY}
volumes:
- keyraft-data:/data
restart: unless-stopped
volumes:
keyraft-data:
Generate a master key before docker compose up:
export KEYRAFT_MASTER_KEY=$(openssl rand -base64 32)
curl http://localhost:7200/v1/health
The image includes a built-in HEALTHCHECK against /v1/health.
KEYRAFT_MASTER_KEY explicitly โ do not rely on auto-generated keys across redeployments/dataApache License 2.0
Content type
Image
Digest
sha256:1f97c7033โฆ
Size
9.9 MB
Last updated
3 months ago
docker pull keyraft/keyrafted