TruthGate configuration has three layers.
Host-facing values belong in .env:
- image tag;
- host ports;
- persistent host paths;
- build versions;
- certificate mode;
- selected Kubo overrides.
On first boot TruthGate creates:
data/truthgate/config/kubo-settings.json
This stores the managed Kubo policy. Environment variables take precedence over it.
Changing the file requires a container restart for current settings to be reapplied.
Advanced values can be placed in:
data/truthgate/config/kubo-overrides.json
Example:
{
"Swarm.ConnMgr.LowWater": 100,
"Swarm.ConnMgr.HighWater": 300,
"Routing.AcceleratedDHTClient": false
}Overrides run after the normal managed defaults.
Addresses.API and Addresses.Gateway are protected and cannot be changed through this file. TruthGate relies on those listeners remaining loopback-only.
The Compose file passes optional variables as empty strings when they are unset. Startup logic treats an empty value as “use the persistent setting or default,” not as a literal Kubo value.
TRUTHGATE_ACME_STAGING=false
TRUTHGATE_CERT_IPS=Use ACME staging for repeated certificate testing.
TRUTHGATE_CERT_IPS is a comma-separated override for the IP addresses included in the self-signed fallback certificate.
Do not edit generated application configuration while TruthGate is actively writing it. Back up the file first and stop the container for manual recovery work.