.env.example is the authoritative list. This page covers the variables specific
to FaPost, and the Laravel ones whose value matters here.
Application
Tenancy and webhooks
WEBHOOK_INGRESS_DRIVER applies to newly registered channels only. The
Laravel route always stays live, so switching it does not move channels that
already exist — use ops:ingress-migrate for those. See
Webhook gateway.Database
PostgreSQL is required, not one option among several — landlord and tenant
connections both depend on it. The database user needs the
CREATE privilege; see
Requirements.
Redis, cache, queues, sessions
Redis is not optional: it carries queues, cache, locks, and the webhook routing
registry. The registry is what keeps the landlord database off the inbound hot
path — see Runtime architecture.
Localisation
This is the admin UI language. Content language — what the assistant says to a
contact — is resolved separately at runtime; see
Multilingual extensions.
Mail, logging, other
MAIL_* follow Laravel’s conventions; the default MAIL_MAILER=log writes mail to
the log rather than sending it. LOG_CHANNEL=stack with LOG_LEVEL=debug is the
development default — raise the level in production.
TELESCOPE_ENABLED defaults to true locally and should be false in production.
HCAPTCHA_SITE_KEY and HCAPTCHA_SECRET_KEY ship with hCaptcha’s public test
values, which always pass — replace them before exposing any public form.