53 Commits
Author SHA1 Message Date
Timothy Jaeryang Baek 8137834d19 refac 2026-11-02 09:53:08 +09:00
Timothy Jaeryang Baek 200b7ee445 refac 2026-11-02 08:27:16 +09:00
Timothy Jaeryang Baek b1fdd9ea1d refac 2026-11-02 02:20:33 +09:00
Timothy Jaeryang Baek 3994f0939b refac 2026-10-25 12:39:40 +09:00
Timothy Jaeryang Baek 173fa520ef refac 2026-10-24 04:59:11 +09:00
Timothy Jaeryang Baek 6852d4d663 refac 2026-10-19 04:00:34 +09:00
Timothy Jaeryang Baek f3d321fa4d refac 2026-10-19 03:49:20 +09:00
Timothy Jaeryang Baek f92cc22c04 refac 2026-10-19 03:33:37 +09:00
Timothy Jaeryang Baek 4240b4e934 refac 2026-10-19 03:32:20 +09:00
Classic298 542094a0ad docs: add security policy and correct multi-user mode wording (#176)
* 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
2026-09-17 17:25:06 -04:00
Timothy Jaeryang Baek c7530495a5 refac 2026-08-27 15:29:58 -04:00
Timothy Jaeryang Baek 1a71bfdd24 refac 2026-08-22 09:27:00 -04:00
Timothy Jaeryang Baek 98bd1a5fd1 refac 2026-06-23 00:08:59 +02:00
Timothy Jaeryang Baek 68f0fa1cf5 refac 2026-06-22 17:02:02 +02:00
Timothy Jaeryang BaekandDenny Pradipta 48d0ab4fe6 enh: OPEN_TERMINAL_NPM_PACKAGES
Co-Authored-By: Denny Pradipta <dennypradiptaprojects@gmail.com>
2026-03-30 19:56:58 -05:00
Timothy Jaeryang Baek 5a6747fa2d doc: readme 2026-03-19 17:36:58 -05:00
Timothy Jaeryang Baek 4ae1b1cabd refac 2026-03-15 18:29:25 -05:00
Timothy Jaeryang Baek ae89d2ed11 security: pin base images to python:3.12.13, remove apt/apk upgrade
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.
2026-03-13 16:35:51 -05:00
Timothy Jaeryang Baek e42e5c58dd docs: expand Image Variants section with feature comparison and guidance 2026-03-13 16:04:32 -05:00
Timothy Jaeryang Baek 980292b134 feat: add slim and alpine Docker image variants
- Dockerfile.slim: multi-stage Debian slim (~200 MB)
- Dockerfile.alpine: multi-stage Alpine (~100 MB)
- entrypoint-slim.sh: hardened shared entrypoint (no sudo, no runtime installs)
- CI: build matrix expanded to 3 variants × 2 platforms
- README: image variants table with example commands
2026-03-13 15:50:14 -05:00
Timothy Jaeryang Baek 7d835d6aa4 refac 2026-03-11 15:56:46 -05:00
Timothy Jaeryang Baek 3035e49562 doc: readme 2026-03-11 15:55:25 -05:00
Timothy Jaeryang Baek 4d57926ff9 docs: add production warning for multi-user mode 2026-03-09 18:37:13 -05:00
Timothy Jaeryang Baek 436a246bfe docs: add production warning for multi-user mode 2026-03-09 18:34:08 -05:00
Timothy Jaeryang Baek dabf1d4071 docs: note shared network namespace limitation 2026-03-09 18:33:29 -05:00
Timothy Jaeryang Baek ab873e11fe docs: update multi-user description in README 2026-03-09 18:33:03 -05:00
Timothy Jaeryang Baek 4983a48377 docs: add multi-user mode to README 2026-03-09 17:36:42 -05:00
Timothy Jaeryang Baek 858c39fc05 doc: readme 2026-03-07 15:44:03 -06:00
Timothy Jaeryang Baek dea489e2ef doc: readme 2026-03-06 22:04:06 -06:00
Timothy Jaeryang Baek 553db84542 feat: bundle Docker CLI, Compose, and Buildx in container image
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
2026-03-06 22:01:14 -06:00
Timothy Jaeryang Baek 60d82485ef refac 2026-03-05 15:13:09 -06:00
Timothy Jaeryang Baek fb2870fab1 feat: startup package installation via env vars (0.9.1) 2026-03-05 15:08:37 -06:00
Timothy Jaeryang Baek bab6a5a079 feat: add configurable execute_timeout for default command wait
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
2026-03-04 13:41:06 -06:00
Timothy Jaeryang Baek f94fa3cec6 feat: add TOML configuration file support
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
2026-03-02 12:52:33 -06:00
Timothy Jaeryang Baek 35a7b5788b doc: wording 2026-03-01 13:22:22 -06:00
Timothy Jaeryang Baek 061643cd8d doc: wording 2026-03-01 11:16:13 -06:00
Timothy Jaeryang Baek 9c0308a208 doc: wording 2026-03-01 03:14:10 -06:00
Timothy Jaeryang Baek 2beb208e56 refac 2026-03-01 03:06:27 -06:00
Timothy Jaeryang Baek 1ee96beb6d refac 2026-03-01 02:58:51 -06:00
Timothy Jaeryang Baek 150af47399 refac 2026-02-28 21:46:17 -06:00
Timothy Jaeryang Baek 2aef7ad7ad refac 2026-02-25 20:17:56 -06:00
Timothy Jaeryang Baek ad2d12ec8a refac 2026-02-25 17:24:52 -06:00
Timothy Jaeryang Baek c51cffb590 refac 2026-02-17 19:05:25 -06:00
Timothy Jaeryang Baek 8c17fb2fa9 refac 2026-02-14 18:43:29 -06:00
Timothy Jaeryang Baek 7747f76b0e refac 2026-02-14 18:40:57 -06:00
Timothy Jaeryang Baek c448c55d14 refac 2026-02-12 14:43:33 -06:00
Timothy Jaeryang Baek a6df118dfd refac 2026-02-12 14:29:31 -06:00
Timothy Jaeryang Baek bf00a389f1 refac 2026-02-12 14:24:46 -06:00
Timothy Jaeryang Baek 4a98745671 refac 2026-02-12 14:06:50 -06:00
Timothy Jaeryang Baek 65c5dfa79b refac 2026-02-12 14:00:02 -06:00