Skip to content

FastTAK Configuration

FastTAK configuration is spread across a few files, each with a distinct purpose.

.env

The primary configuration interface. All deployment settings — hostnames, credentials, feature flags, database tuning, data retention, and monitoring threshold overrides — are set here. See .env.example for all available variables with inline documentation.

Monitoring threshold overrides

The monitoring system's default thresholds are defined in thresholds.yml (see below), but you should override them via .env rather than editing the YAML directly. This keeps your customizations separate from the defaults that ship with FastTAK. Use the FASTAK_MON_ prefix:

# Override disk warning from 80% to 85%
FASTAK_MON_DISK__THRESHOLDS__PERCENT__WARNING=85

# Poll database health every 2 minutes instead of 60 seconds
FASTAK_MON_DATABASE__INTERVAL=120

# Only email on config drift if it reaches warning level
FASTAK_MON_CONFIG__ALERT_MIN_LEVEL=warning

The naming convention: FASTAK_MON_<SERVICE>__<KEY> for top-level settings, FASTAK_MON_<SERVICE>__THRESHOLDS__<METRIC>__<LEVEL> for threshold values. See .env.example for more examples.

monitor/config/thresholds.yml

Monitoring policy defaults: health check intervals, alert levels, and numeric thresholds (e.g., when disk usage triggers a warning vs. critical alert). This file ships with FastTAK and defines sensible defaults for all services.

Do not edit this file for deployment-specific tuning. Use .env overrides instead (see above). Direct edits to thresholds.yml will be overwritten on upgrades. The YAML file is the reference for what settings are available and what the defaults are.

tak/conf/ (init-config output)

TAK Server XML configuration, generated by the init-config container at startup from your .env values. You generally don't edit these files directly — set the corresponding .env variable and recreate init-config:

docker compose up -d --force-recreate init-config tak-server

See database-management.md for the one case where direct YAML editing is appropriate (retention for files/missions when no .env retention variables are set).