This repository was archived by the owner on Oct 16, 2026. It is now read-only.
Repository navigation
Docker
LazyGreed edited this page Sep 19, 2026
·
1 revision
Kinetix ships a multi-stage Dockerfile and a docker-compose.yml.
# With compose (recommended)
docker compose up -d --build
# Or plain Docker
docker build -t kinetix:local .
docker run -d --name kinetix \
-e KINETIX_ADMIN_TOKEN=change-me \
-p 127.0.0.1:8080:8080 \
-v kinetix-data:/data \
kinetix:local serveThe image:
- Builds the dashboard first (stage 1), then the Rust binary with the dashboard assets present (stage 2), then copies the binary into a slim runtime (stage 3).
- Runs as a non-root
kinetixuser. - Sets
KINETIX_HOME=/data,KINETIX_BIND=0.0.0.0:8080,KINETIX_LOG_JSON=true. - Persists everything under the
/datavolume. - Has a
curl /healthzhealthcheck.
On first start with no KINETIX_ADMIN_TOKEN, Kinetix generates an admin password
and prints it once. Retrieve it from the logs:
docker compose logs kinetix | grep -i passwordOr set it explicitly via .env.docker.example:
cp .env.docker.example .env
# edit KINETIX_MASTER_KEY / KINETIX_ADMIN_TOKEN, then
docker compose up -d-
kinetix — the proxy, publishing
127.0.0.1:8080:8080(so cloudflared or a reverse proxy sits in front), with thekinetix-datavolume. -
cloudflared (optional, profile
tunnel) — runscloudflared tunnel runwithTUNNEL_TOKEN. Enable withdocker compose --profile tunnel up -d.
docker compose exec kinetix kinetix status
docker compose exec kinetix kinetix provider add --name ... --base-url ... --api-key ...
docker compose exec kinetix kinetix key create --name pi --owner me-
KINETIX_ALLOW_PRIVATE_UPSTREAMS/KINETIX_ALLOW_INSECURE_TLSare dev-only. -
.dockerignorekeepstarget/,node_modules/,dashboard/dist/,*.db,.env, andconfig.tomlout of the build context. - To persist the master key (so credentials survive recreation), set
KINETIX_MASTER_KEYexplicitly or keep the/datavolume.