Customer support runs Chatwoot from the helpdesk/ package, deployed to Fly.io.
Dependencies
Section titled “Dependencies”- Neon Postgres: primary database
- Upstash Redis: Sidekiq job queue and cache
- Cloudflare R2: file attachments (S3-compatible)
- Mailgun: optional inbound/outbound email
Local development
Section titled “Local development”pnpm --filter soultales-helpdesk devUses Docker Compose with Postgres and Redis.
Production deploy
Section titled “Production deploy”pnpm deploy:helpdeskSee helpdesk/README.md for first-time Fly setup, secrets, and worker process configuration.
Widget integration
Section titled “Widget integration”After deploy, configure the Chatwoot website widget on the dashboard with the production FRONTEND_URL and inbox settings from the Chatwoot admin. The public frontend syncs contact forms via the Chatwoot REST API: it does not embed the live chat widget.