FchatFchat Docs
Fchat
Fchat Documentation
Everything you need to install, run and operate your platform.
v1.0.0
Step 4

Configuration

Where things live and how to change them after the install wizard.

The .env file

Everything the platform needs is in a single file called .env at the root of the project. The install wizard writes it; you can also edit it by hand.

!
After editing .env
Run docker compose exec app php artisan config:clear for changes to take effect, or restart the stack with docker compose restart.

Most-edited settings

KeyDefaultPurpose
APP_NAMEFchatPlatform name, shown in emails and titles.
APP_URLhttp://localhost:8000Public URL the browser uses to reach the platform.
APP_CENTRAL_DOMAINSlocalhostComma-separated list of central (non-tenant) domains.
APP_DEBUGfalseSet to true only temporarily for debugging. Never on production.
MAIL_*logSMTP details for transactional email.
FILESYSTEM_DISKminiominio for bundled, s3 for AWS / Wasabi / R2.
PLATFORM_STRIPE_SECRET(empty)Used to bill tenants for their platform subscription.

Super admin panel

Most settings can also be edited from the super-admin UI at admin.your-domain.com:

  • Tenants - create, suspend, impersonate, drop.
  • Plans - define the platform subscription plans you sell to tenants.
  • Branding - logo, colours and the public landing page.
  • Platform gateways - Stripe / PayPal / CCBill etc. credentials for tenant billing.
  • Token packs - configure the platform-credit packs tenants can buy.
  • Translations - edit UI strings without touching code.
  • Languages - enable / disable locales for the whole platform.

Per-tenant configuration

Each tenant has its own admin panel at their-subdomain.your-domain.com/admin:

  • Their own users, channels and livestreams.
  • Their own payment gateways (so each tenant can bill their end users).
  • Their own KYC integration (Yoti), legal pages, branding and domains.

Storage

Avatars, attachments and recordings go to whichever storage you picked in step 4 of the wizard. To switch later:

.env
FILESYSTEM_DISK=s3        # or: minio, wasabi, r2
AWS_ACCESS_KEY_ID=AKIA...
AWS_SECRET_ACCESS_KEY=...
AWS_BUCKET=fchat-prod
AWS_DEFAULT_REGION=eu-west-1
AWS_ENDPOINT=             # leave blank for AWS, set for MinIO/Wasabi/R2

Real-time (Reverb)

Chat, notifications and call signalling go through Reverb (WebSockets). The wizard sets it up; nothing to do unless you put a load balancer in front.

Livestream (LiveKit)

LiveKit handles WebRTC. The default LIVEKIT_API_KEY and LIVEKIT_API_SECRET in .env are randomly generated for you. Rotate them periodically if you want.