Skip to content

Hub configuration ​

MeshSat Hub is configured via environment variables with the HUB_* prefix, or via config.yaml.

Core ​

VariableDefaultDescription
HUB_PORT6070HTTP server port
HUB_MODEstandalonestandalone, cluster, or kubernetes
HUB_LOG_LEVELinfodebug, info, warn, error
HUB_LOG_FORMATjsonjson or text

Database ​

VariableDefaultDescription
HUB_DB_DRIVERsniffedsqlite or postgres
HUB_DATABASE_URL:PostgreSQL DSN (cluster and kubernetes modes)
HUB_SQLITE_PATH/data/hub.dbSQLite file (standalone mode)
HUB_REDIS_URL:Redis or KeyDB URL (cluster and kubernetes modes)
HUB_NATS_URL:NATS URL

Without HUB_DB_DRIVER the driver is worked out from the rest: a postgres:// DSN means Postgres, so does HUB_MODE=cluster or kubernetes, and anything else means SQLite. MariaDB and Galera are no longer supported.

See Database for what each engine is used for.

MQTT ​

VariableDefaultDescription
HUB_MQTT_BROKER_URLtcp://mqtt:1883MQTT broker URL
HUB_MQTT_CLIENT_IDmeshsat-hubMQTT client ID

Authentication ​

VariableDefaultDescription
HUB_AUTH_MODEauto-detectnone, token, local, oidc
HUB_AUTH_TOKEN:Bearer token (mode=token)
HUB_JWT_SIGNING_KEY:HMAC key for local JWT (min 32 chars)
HUB_OIDC_ISSUER_URL:OIDC issuer URL
HUB_OIDC_AUDIENCE:Expected JWT audience
HUB_OIDC_CERT_PIN:TLS SPKI pin (base64 SHA256)
HUB_TENANT_ENFORCEfalseRequire tenant context

Satellite Constellations ​

VariableDefaultDescription
HUB_CLOUDLOOP_API_KEY:Cloudloop API key (Iridium MT)
HUB_CLOUDLOOP_API_URLhttps://api.cloudloop.comCloudloop endpoint
HUB_ROCKBLOCK_SECRET:RockBLOCK webhook HMAC secret
HUB_GLOBALSTAR_API_KEY:Globalstar API key
HUB_GLOBALSTAR_API_URLhttps://api.globalstar.com/v1Globalstar endpoint

Integrations ​

VariableDefaultDescription
HUB_TAK_ENABLEDfalseEnable TAK/CoT gateway
HUB_TAK_HOST:OpenTAKServer hostname
HUB_APRSIS_ENABLEDfalseEnable APRS-IS IGate
HUB_APRSIS_CALLSIGN:Amateur radio callsign
HUB_SMS_ENABLEDfalseEnable Twilio SMS
HUB_EMAIL_ENABLEDfalseEnable PGP email gateway
HUB_APPRISE_ENABLEDfalseEnable Apprise notifications
HUB_NTFY_ENABLEDfalseEnable ntfy push
HUB_WG_ENABLEDfalseEnable WireGuard VPN

Rate Limiting ​

VariableDefaultDescription
HUB_RATELIMIT_BURST10Max burst tokens per device
HUB_RATELIMIT_REFILL_PER_MIN1.0Tokens per minute
HUB_RATELIMIT_DAILY_CAP100Max sends per device per day
HUB_RATELIMIT_MONTHLY_CAP0Max sends per device per month (0=unlimited)