Skip to main content

Setting Up Open Terminal for a Team

When multiple people on your team need terminal access through Open WebUI, you have two options.

Single ContainerPer-User Containers
HowOne container, separate accounts insideEach user gets their own container
IsolationFiles are separate, but they share the same systemFully isolated — separate everything
SetupOne extra settingAdditional orchestration service
Best forSmall teams you trustProduction, larger teams, untrusted users
Included inOpen Terminal (free)Terminals (enterprise)

Option 1: Built-in multi-user mode

The simplest approach. Add one setting and each person automatically gets a separate workspace.

docker run -d --name open-terminal -p 8000:8000 \
-v open-terminal:/home \
-e OPEN_TERMINAL_MULTI_USER=true \
-e OPEN_TERMINAL_API_KEY=your-secret-key \
ghcr.io/open-webui/open-terminal

What happens

When someone uses the terminal through Open WebUI, Open Terminal automatically:

  1. Creates a personal account for that user (based on their Open WebUI user ID)
  2. Sets up a private home folder at /home/{user-id}
  3. Runs all their commands under their own account
  4. Restricts their file access to their own folder

Each user sees only their own files in the file browser.

What's shared vs. separate

Separate per userShared
Home folder and files
Running commands
System packages
CPU and memory
Network access
Good for small teams, not production

This mode gives everyone their own workspace, but they're all running inside the same container. If one user runs a script that uses too much memory, it can slow things down for everyone. Use this for small, trusted groups — not for wide-open deployments.


Option 2: Per-user containers with Terminals

For larger deployments or when you need real isolation, Terminals gives each user their own container, completely separate from everyone else.

  • Full isolation — each user's container is independent with its own files, processes, and resources
  • On-demand provisioning — containers are created when users start a session and cleaned up when idle
  • Resource controls — set CPU, memory, and storage limits per user or per environment
  • Multiple environments — different setups for different teams (e.g., data science, development)
  • Kubernetes support — works with Docker, Kubernetes, and k3s

See the Terminals repository for setup instructions and documentation.

Enterprise license required

Terminals requires an Open WebUI Enterprise License.