Skip to content

hopboxd configuration

hopboxd is the control plane. All settings are flags (env/file config is on the roadmap). Run hopboxd --help for the authoritative list.

Core

FlagDefaultDescription
--api-addr:7700gRPC API listen address (CLI clients).
--agent-listen:7777Address agents dial in on.
--agent-advertisehost.docker.internal:7777Address agents are told to dial back (must be reachable from inside a workspace).
--db./hopbox.dbSQLite database path.
--tenantdefaultSingle-tenant id.

Compute & storage

FlagDefaultDescription
--computedockerCompute provider: docker | kubernetes.
--storagelocalfsStorage provider: localfs | k8spvc.
--agent-bin./bin/hopbox-agent-linux-<arch>Host path of the agent binary side-loaded into workspaces.

Kubernetes options: --kube-namespace, --kubeconfig, --kube-storageclass, --kube-home-size.

Auth (multi-user)

FlagDefaultDescription
--users(empty)Token→principal file (<token> <principal> per line). Enables multi-user auth. Empty = open single-user mode.
--oidc-issuer(empty)OIDC issuer URL for SSO auth. Overrides --users.
--oidc-audience(empty)Expected token audience (client id).
--oidc-principal-claimsubClaim used as the principal id: sub | email.
--oidc-admin-groups(empty)Comma-separated groups granted the tenant-admin role.

See Auth & multi-user.

SSH certificates

FlagDefaultDescription
--ssh-ca./hopbox-ssh-caBuilt-in SSH user-CA private key (auto-created). Workspaces trust its public key; hopbox login issues certs from it.
--ssh-ca-pub(empty)Trust an external SSH CA public key instead. Disables built-in issuance — your own tooling mints certs.
--authorized-keys(empty)Fallback static authorized_keys file injected into workspaces (no-login mode).

Gateway (HTTPS ingress)

FlagDefaultDescription
--gateway-addr:8088Service gateway HTTP listen address; empty disables.
--gateway-zonegw.example.comWildcard DNS zone for the subdomain ingress provider.
--tunnel-addr:7701Gateway tunnel listen address for a standalone hopbox-gw; empty disables.

Self-hosted · open source