Macha Logo

CLI flags & environment variables

Every flag has a corresponding environment variable. Flags take precedence.

FlagEnv varDescription
--port, -pPORTRequired. Local port to expose
--subdomain, -sSUBDOMAINSubdomain to register — myappmyapp.macha.live. If omitted, a random 8-character subdomain is generated.
--serverMACHA_SERVERTunnel server hostname (default: macha.live)
--control-portCONTROL_PORTServer control plane port (default: 9000)
--data-portDATA_PORTServer data plane port (default: 9001)
--tokenMACHA_TOKENAuth token (required when server has AUTH_TOKEN set)
--tlsEnable TLS using Mozilla root certs (for macha.live)
--tls-ca <PATH>Enable TLS with a custom CA certificate (for self-signed certs)
--tls-insecureEnable TLS without cert verification — dev only
--no-reconnectExit on disconnect instead of reconnecting
--ttl, -t <SECS>Registration TTL in seconds (default: 3600 = 1 hour). When it elapses the server drops the subdomain; with auto-reconnect (default) the agent re-registers immediately with a fresh TTL.
--dashboard-portMACHA_DASHBOARD_PORTDashboard HTTP port (default: 4040, set 0 to disable)

Examples

# Basic — random subdomain
macha --port 3000

# Pick your own subdomain
macha --port 3000 --subdomain myapp

# Using env vars (good for .env files)
PORT=3000 SUBDOMAIN=myapp macha

# Self-hosted server with auth token
macha --port 3000 --subdomain myapp \
      --server tunnel.yourcompany.com \
      --token my-secret-token \
      --tls

# Run once (no reconnect), custom dashboard port
macha --port 8080 --subdomain staging \
      --no-reconnect \
      --dashboard-port 5050

# Shorter TTL — drop registration after 10 minutes if not renewed
macha --port 3000 --subdomain myapp --ttl 600