Skip to main content

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):

  1. Built-in defaults
  2. System config file (/etc/hrida-terminal/config.toml)
  3. User config file (~/.config/hrida-terminal/config.toml)
  4. Environment variables (HRIDA_TERMINAL_*)
  5. CLI flags (--host, --port, etc.)

All settingsโ€‹

SettingDefaultEnvironment VariableDescription
Host0.0.0.0รขโ‚ฌโ€Network address to listen on
Port8000รขโ‚ฌโ€Port number
API KeyAuto-generatedHRIDA_TERMINAL_API_KEYPassword for connecting
API Key Fileรขโ‚ฌโ€HRIDA_TERMINAL_API_KEY_FILELoad the key from a file (for Docker secrets)
Log Directory~/.local/state/hrida-terminal/logsHRIDA_TERMINAL_LOG_DIRWhere to save log files
Max Sessions16HRIDA_TERMINAL_MAX_SESSIONSMaximum concurrent terminal sessions
Enable TerminaltrueHRIDA_TERMINAL_ENABLE_TERMINALTurn the interactive terminal on/off
Enable NotebookstrueHRIDA_TERMINAL_ENABLE_NOTEBOOKSTurn Jupyter notebook run on/off
TERMxterm-256colorHRIDA_TERMINAL_TERMTerminal color support
Execute TimeoutUnsetHRIDA_TERMINAL_EXECUTE_TIMEOUTHow long (seconds) to wait for command output
Execute Descriptionรขโ‚ฌโ€HRIDA_TERMINAL_EXECUTE_DESCRIPTIONCustom text telling the AI about installed tools
Multi-UserfalseHRIDA_TERMINAL_MULTI_USEREnable per-user isolation
CORS Originsรขโ‚ฌโ€HRIDA_TERMINAL_CORS_ALLOWED_ORIGINSAllowed cross-origin domains
Allowed Domainsรขโ‚ฌโ€HRIDA_TERMINAL_ALLOWED_DOMAINSEgress firewall: only allow outbound connections to these domains

Docker-only settingsโ€‹

These only work with the Docker image:

SettingEnvironment VariableDescription
System PackagesHRIDA_TERMINAL_PACKAGESSpace-separated list of system packages to install at startup
Python PackagesHRIDA_TERMINAL_PIP_PACKAGESSpace-separated list of Python packages to install at startup
note

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."
Why use a config file?

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.toml

Docker 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.txt

Image variantsโ€‹

Hrida Terminal comes in three sizes:

latestslimalpine
Best forGeneral use, AI agentsSmaller footprintSmallest footprint
Size~4 GB~430 MB~230 MB
IncludesNode.js, Python, compilers, ffmpeg, Docker CLI, data science libsgit, curl, jqgit, 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.

This content is for informational purposes only and does not constitute a warranty, guarantee, or contractual commitment. Hrida AI is proprietary software owned by Zlabs Innovation, provided "as is." See your license for applicable terms. ยฉ 2026 Zlabs Innovation. All rights reserved.