Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Configuration

Everything is configured via environment variables. Defaults are production-safe except for the lack of authentication.

VariableDefaultPurpose
FLOOTYPST_BIND0.0.0.0:3000Socket address to listen on.
FLOOTYPST_MAX_BODY_BYTES33554432 (32 MiB)Max size of an incoming multipart body.
FLOOTYPST_MAX_OUTPUT_BYTES67108864 (64 MiB)Max size of a rendered PDF before the request is rejected.
FLOOTYPST_MAX_CONCURRENT_COMPILEShost CPU countCap on simultaneous worker subprocesses. Surplus requests get 503.
FLOOTYPST_COMPILE_TIMEOUT_SECS10Worker is SIGKILLed past this. Request returns 408.
FLOOTYPST_WORKER_PATH$(current_exe)Override for the worker binary. Useful when running under a supervisor.
FLOOTYPST_FETCH_TIMEOUT_SECS15Per-URL GET timeout (URL mode).
FLOOTYPST_UPLOAD_TIMEOUT_SECS30PUT timeout (URL mode).
FLOOTYPST_MAX_FETCH_BYTES33554432 (32 MiB)Per-URL body size cap (URL mode).
FLOOTYPST_HOST_ALLOWLIST(unset = allow all public hosts)Comma-separated host patterns. *.googleapis.com supported.
FLOOTYPST_ALLOW_PRIVATE_IPSfalseSet true only for local development.
FLOOTYPST_REQUIRE_HTTPStrueAllow plain HTTP for outbound fetch/upload. Production: leave true.
RUST_LOGinfoStandard tracing-subscriber filter.

Common configurations

Locked-down GCS deployment

FLOOTYPST_BIND=127.0.0.1:3000
FLOOTYPST_HOST_ALLOWLIST=storage.googleapis.com
FLOOTYPST_COMPILE_TIMEOUT_SECS=30
FLOOTYPST_MAX_OUTPUT_BYTES=33554432

Multi-cloud deployment

FLOOTYPST_HOST_ALLOWLIST=storage.googleapis.com,*.amazonaws.com,*.r2.cloudflarestorage.com

Local development against a fixture server

FLOOTYPST_ALLOW_PRIVATE_IPS=true
FLOOTYPST_REQUIRE_HTTPS=false