* docs: add security policy and correct multi-user mode wording
The README promised that files, commands and terminals are isolated between users in multi-user mode. A single shared container cannot hold that promise: everyone shares one kernel, one process list, one network stack and one temp directory, and provisioning per-user accounts requires elevated privileges inside that container. The wording now says what the mode actually gives you, which is a separate workspace per user so people and their agents do not walk over each other's files, and it points at Terminals for deployments where users have to be protected from each other.
The new SECURITY.md adopts the Open WebUI security policy wherever it is semantically applicable, names this repository as the reporting channel, and writes down what is designed behaviour here: the API key is a full-access credential, X-User-Id is asserted by the caller, the latest image gives its user passwordless sudo, and bare metal runs as your own user. It also states what remains in scope, so that reports crossing out of the instance still get the attention they deserve.
* docs: point per-user isolation at Terminals and its enterprise license
The pointer to Terminals now says what it actually gives you, a separate container per user with its own files, processes, limits and network boundary, and states that production use needs an Open WebUI Enterprise License, with the deployment and licensing docs linked. The same note is added where the security policy sends people to Terminals.
* docs: link the enterprise license to the docs page
Per Docker best practices, security patching should come from rebuilding
with updated base image tags, not from apt-get upgrade inside the
Dockerfile. Pinning to a specific patch version ensures reproducible
builds. Bump the version and rebuild to pick up new patches.
Install Docker CLI, Compose, and Buildx via get.docker.com so agents can
build images and run containers when the host Docker socket is mounted.
The entrypoint automatically fixes socket group permissions.
Closes#19
When OPEN_TERMINAL_EXECUTE_TIMEOUT is set (env var or execute_timeout
in config.toml), the execute and get_process_status endpoints will use
it as the default wait time when the caller omits the wait parameter.
This helps smaller LLM models get command output inline without needing
to call get_process_status separately.
Closes#17
Load settings from /etc/open-terminal/config.toml (system) and
$XDG_CONFIG_HOME/open-terminal/config.toml (user). Supports host, port,
api_key, cors_allowed_origins, log_dir, and binary_mime_prefixes.
CLI flags and environment variables still take precedence. A --config
flag allows pointing to a custom config file.
Closes#11