OpenGUI Docker images run the web backend with the Bun runtime. Dependencies are installed from pnpm-lock.yaml, and the frontend bundle is built with Vite+ (vp build).
docker compose up -dThe default compose file binds OpenGUI to 127.0.0.1:${PORT:-4839} and enables host-control mode.
Contained mode runs tools inside the container. Use this when projects and agent CLIs are installed in the container image or mounted into it.
Important environment variables:
HOST: bind address, defaults to0.0.0.0in the imagePORT: web server port, defaults to3000in the imageOPENGUI_ALLOWED_ROOTS: colon-separated roots the browser file picker may access
Host-control mode lets OpenGUI call host CLIs through nsenter. The compose file enables it with:
network_mode: host
pid: host
privileged: true
OPENGUI_HOST_EXEC: "1"The wrapper exposes common commands such as git, opencode, claude, codex, pi, bun, node, python, and rg through /usr/local/host-bin.
Set these variables to match the host user:
OPENGUI_HOST_UIDOPENGUI_HOST_GIDOPENGUI_HOST_HOMEOPENGUI_HOST_PATH
For internet-facing deployments, bind OpenGUI to localhost and put HTTPS/auth in front of it.