Fluxheim/Docs/Configuration Basics

Configuration Basics

Fluxheim uses TOML. Unknown fields are rejected, so spelling mistakes fail before restart.

Main shape

[server]
listen = ["0.0.0.0:8080"]
default_vhost = "site"

[[vhosts]]
name = "site"
hosts = ["example.com"]

How config is organised

AreaWhat belongs there
serverListeners, global limits, trusted proxy handling, and redirects.
tlsGlobal TLS backend and compatibility policy.
cacheProcess-wide cache defaults and storage tiers.
vhostsHostnames, routes, web roots, proxy settings, PHP, TLS, and access policy.
metricsPrometheus and export listeners for operational visibility.

Route shape

[[vhosts.routes]]
name = "app"
path_prefix = "/app/"
methods = ["GET", "HEAD", "POST"]
max_request_body_bytes = "16MiB"

[vhosts.routes.proxy]
upstreams = ["127.0.0.1:3000"]

A route has one matcher and one action. Exact paths win first, then longest prefixes, then regex routes when regex support is enabled, then one fallback route.

Safe habits

  • Run fluxheim --check-config before reloads.
  • Use one vhost per site or application boundary.
  • Keep secrets in files, environment, or container secrets, not in public docs.
  • Use route-level limits for uploads and expensive application paths.
  • Keep admin and metrics listeners private.
English (UK)