Skip to content

Configuration and CLI

Ordinary local use needs no configuration: start ttdash and use the generated local authentication URL.

ttdash [options]
ttdash stop
OptionAliasesDefaultDescription
--port <port>-p3000Set the first port to try; valid values are integers from 1 through 65535
--help-hPrint version, usage, options, and examples, then exit
--no-open-nooffDo not open a browser automatically
--auto-load-aloffRun one auto-import during startup; failure does not prevent startup
--background-b, -bgoffStart a detached managed instance
--dockeroffBind with container defaults, disable browser opening, and require remote authentication

When the requested port is occupied, TTDash tries the requested port and up to 100 following ports without exceeding 65535. The startup summary prints the selected URL, API URL, bind host, storage files, authentication mode, and data status.

ttdash --background starts a detached child, waits for it to become reachable, and records its identity. Run ttdash stop to manage it:

  • one live instance is stopped directly
  • several live instances are listed for selection; an empty answer cancels
  • stale registry entries are removed during inspection
  • no live instance produces an informational result

Logs are stored in background/ below the cache directory.

Boolean variables are enabled only by the literal value 1.

VariableDefaultDescription
PORT3000First server port to try; --port takes precedence
HOST127.0.0.1; 0.0.0.0 in Docker modeBind host; non-loopback values require explicit remote access
NO_OPEN_BROWSER=1offDisable automatic browser opening
TTDASH_ALLOW_REMOTE=1offPermit a non-loopback HOST; also requires a remote token
TTDASH_REMOTE_TOKENunsetMaster token for remote/Docker authentication; minimum 24 characters
TTDASH_DOCKER=1offEnable the same runtime behavior as --docker
TTDASH_TRUSTED_HOSTSDocker loopback names; otherwise none addedComma-separated exact DNS names or IP addresses accepted in browser Host headers
TTDASH_SECURE_COOKIE=1offMark browser session cookies Secure; use only with HTTPS clients
TTDASH_TRUST_PROXY=1offUse the last valid X-Forwarded-For address for login rate limits
TTDASH_DATA_DIRplatform defaultAbsolute directory containing data.json
TTDASH_CONFIG_DIRplatform defaultAbsolute directory containing settings, auth state, and background registry
TTDASH_CACHE_DIRplatform defaultAbsolute directory for package-runner cache and background logs
TTDASH_TOKTRACK_LOCAL_BINpackage-local executableExplicit preferred toktrack path; version must match the pinned release

The three directory overrides can be set independently but must be absolute paths.

TTDASH_PUBLISH_ADDRESS is not a TTDash runtime variable. It is consumed by the repository’s compose.yaml to choose the host-side publish address.

Variables used internally for subprocess coordination, tests, and package verification are not supported configuration APIs.

  • --port overrides PORT.
  • --docker or TTDASH_DOCKER=1 enables Docker mode.
  • HOST overrides the mode’s default bind host.
  • --no-open, NO_OPEN_BROWSER=1, Docker mode, non-interactive output, and CI can each prevent browser opening.
  • Docker mode permits its non-loopback bind but never removes token authentication.
  • An explicit non-empty trusted-host list replaces the Docker loopback defaults instead of extending them.
PlatformDataConfigurationCache
macOS~/Library/Application Support/TTDashsame~/Library/Caches/TTDash
Linux${XDG_DATA_HOME:-~/.local/share}/ttdash${XDG_CONFIG_HOME:-~/.config}/ttdash${XDG_CACHE_HOME:-~/.cache}/ttdash
Windows%LOCALAPPDATA%\TTDash%APPDATA%\TTDash%LOCALAPPDATA%\TTDash\Cache

The runtime uses:

  • data.json for normalized usage
  • settings.json for persisted preferences and data-load metadata
  • session-auth.json for current local bootstrap authentication state
  • background-instances.json for the managed-instance registry
  • background/ for background logs
  • npx-cache/ for the isolated npx fallback cache

At startup, a legacy repository-local data.json is migrated when the destination file does not yet exist.

Local background instance on a preferred port:

Terminal window
ttdash --background --port 3010 --auto-load

Isolated storage:

Terminal window
TTDASH_DATA_DIR=/srv/ttdash/data \
TTDASH_CONFIG_DIR=/srv/ttdash/config \
TTDASH_CACHE_DIR=/srv/ttdash/cache \
ttdash --no-open

Remote access on a trusted LAN or VPN:

Terminal window
export TTDASH_REMOTE_TOKEN="$(openssl rand -hex 32)"
TTDASH_ALLOW_REMOTE=1 HOST=0.0.0.0 ttdash --no-open

Read Remote access and security before exposing the service beyond loopback.