Configuration Reference
Hrida Terminal has sensible defaults out of the box. This page covers all the settings you can customize if you need to.
Settings are applied in this order (later ones override earlier ones):
- Built-in defaults
- System config file (
/etc/hrida-terminal/config.toml) - User config file (
~/.config/hrida-terminal/config.toml) - Environment variables (
HRIDA_TERMINAL_*) - CLI flags (
--host,--port, etc.)
All settingsโ
| Setting | Default | Environment Variable | Description |
|---|---|---|---|
| Host | 0.0.0.0 | รขโฌโ | Network address to listen on |
| Port | 8000 | รขโฌโ | Port number |
| API Key | Auto-generated | HRIDA_TERMINAL_API_KEY | Password for connecting |
| API Key File | รขโฌโ | HRIDA_TERMINAL_API_KEY_FILE | Load the key from a file (for Docker secrets) |
| Log Directory | ~/.local/state/hrida-terminal/logs | HRIDA_TERMINAL_LOG_DIR | Where to save log files |
| Max Sessions | 16 | HRIDA_TERMINAL_MAX_SESSIONS | Maximum concurrent terminal sessions |
| Enable Terminal | true | HRIDA_TERMINAL_ENABLE_TERMINAL | Turn the interactive terminal on/off |
| Enable Notebooks | true | HRIDA_TERMINAL_ENABLE_NOTEBOOKS | Turn Jupyter notebook run on/off |
| TERM | xterm-256color | HRIDA_TERMINAL_TERM | Terminal color support |
| Execute Timeout | Unset | HRIDA_TERMINAL_EXECUTE_TIMEOUT | How long (seconds) to wait for command output |
| Execute Description | รขโฌโ | HRIDA_TERMINAL_EXECUTE_DESCRIPTION | Custom text telling the AI about installed tools |
| Multi-User | false | HRIDA_TERMINAL_MULTI_USER | Enable per-user isolation |
| CORS Origins | รขโฌโ | HRIDA_TERMINAL_CORS_ALLOWED_ORIGINS | Allowed cross-origin domains |
| Allowed Domains | รขโฌโ | HRIDA_TERMINAL_ALLOWED_DOMAINS | Egress firewall: only allow outbound connections to these domains |
Docker-only settingsโ
These only work with the Docker image:
| Setting | Environment Variable | Description |
|---|---|---|
| System Packages | HRIDA_TERMINAL_PACKAGES | Space-separated list of system packages to install at startup |
| Python Packages | HRIDA_TERMINAL_PIP_PACKAGES | Space-separated list of Python packages to install at startup |
These packages are reinstalled every time the container starts. If you need many packages, consider building a custom image instead.
Config fileโ
Instead of environment variables, you can put settings in a file:
host = "0.0.0.0"
port = 8000
api_key = "your-secret-key"
log_dir = "/var/log/hrida-terminal"
max_terminal_sessions = 16
enable_terminal = true
enable_notebooks = true
execute_timeout = 5
execute_description = "This terminal has ffmpeg and ImageMagick installed."It keeps your API key out of the command line and shell history. Anyone running ps or htop on the machine won't see it.
To use a config file in a custom location:
hrida-terminal run --config /path/to/my-config.tomlDocker secretsโ
For production Docker deployments, you can load the API key from a secret file:
services:
hrida-terminal:
image: ghcr.io/hrida-ai/hrida-terminal
environment:
- HRIDA_TERMINAL_API_KEY_FILE=/run/secrets/terminal_api_key
secrets:
- terminal_api_key
secrets:
terminal_api_key:
file: ./terminal_api_key.txtImage variantsโ
Hrida Terminal comes in three sizes:
latest | slim | alpine | |
|---|---|---|---|
| Best for | General use, AI agents | Smaller footprint | Smallest footprint |
| Size | ~4 GB | ~430 MB | ~230 MB |
| Includes | Node.js, Python, compilers, ffmpeg, Docker CLI, data science libs | git, curl, jq | git, curl, jq |
| Can install packages | รขลโ (has sudo) | รขลห | รขลห |
| Multi-user | รขลโ | รขลห | รขลห |
If you're not sure, use latest. It has everything pre-installed so the AI can work with any tool without waiting for installs.