Core Configuration
Used to verify the integrity of signed cookies. Must be alphanumeric without special characters or symbols.Generate using:
rake secretSecurity: Ensure this is a lengthy, secure, random value unique to your installation.The URL where your Chatwoot application will be accessible.Example:
https://chatwoot.example.comDefault: http://0.0.0.0:3000Dedicated URL for help center pages if you want to host them on a separate domain.Example:
https://help.example.comRails environment mode.Options:
development, production, stagingDefault: developmentMaximum number of threads for the Rails application server.Default:
5Security & Encryption
Force all access to the app over SSL and use secure cookies.Default:
falseRecommendation: Set to true in production environments.Primary encryption key for Active Record Encryption. Required for MFA/2FA functionality.Generate using:
rails db:encryption:initImportant: Use different keys for each environment (development, staging, production).Deterministic encryption key for Active Record Encryption. Required for MFA/2FA functionality.Generate using:
rails db:encryption:initKey derivation salt for Active Record Encryption. Required for MFA/2FA functionality.Generate using:
rails db:encryption:initAccount & Signup Management
Controls new sign ups on your Chatwoot installation.Options:
true- Default option, allows sign upsfalse- Disables all endpoints related to sign upsapi_only- Disables UI for signup, but allows sign ups via account APIs
falseDefault locale for the application.If set, all non-authenticated pages will fallback to this locale. When a new account is created, this will be the default language.Default:
enAsset & CDN Configuration
CDN host URL for serving static assets.Example:
https://cdn.example.comEnable serving static files from the
/public folder.Default: trueNote: In production, it’s recommended to use NGINX or Apache to serve static files.Logging Configuration
Write logs to stdout instead of log files.Default:
trueNote: Useful for containerized deployments and cloud platforms.Application log level.Options:
debug, info, warn, error, fatalDefault: infoMaximum log file size in megabytes (when not logging to stdout).Default:
500Use lograge for structured logging instead of default Rails logger.Default:
falseSocial Media Channels
Facebook webhook verification token.See Facebook Setup Documentation
Facebook app secret key.
Facebook app ID.
Instagram webhook verification token.See Instagram Setup Documentation
Twitter app ID.See Twitter Setup Documentation
Twitter consumer key.
Twitter consumer secret.
Twitter environment name for Account Activity API.
Slack
Slack OAuth client ID.
Slack OAuth client secret.
OAuth Integration
Google OAuth
Google OAuth client ID.
Google OAuth client secret.
Google OAuth callback URL.
Microsoft Azure OAuth
Microsoft Azure application ID.
Microsoft Azure application secret.
Mobile App Configuration
iOS app bundle identifier.Default:
L7YLMN4634.com.chatwoot.appNote: Only change if using a custom build mobile app.Android app bundle identifier.Default:
com.chatwoot.appAndroid SHA256 certificate fingerprint for app verification.See Google Android Client Auth
Push Notifications
Enable push notification relay via Chatwoot server for official mobile app.Default:
trueVAPID public key for web push notifications.Generate at: VAPID Key Generator
VAPID private key for web push notifications.
Firebase Cloud Messaging server key for mobile app push notifications.
APM & Monitoring
Elastic APM
Elastic APM server URL.See Elastic APM Ruby Agent
Elastic APM secret token for authentication.
Sentry
Sentry DSN (Data Source Name) for error tracking.
Scout APM
Scout APM key.See Scout APM Configuration
Scout APM application name.Example:
Chatwoot (Production)Enable Scout APM monitoring.
New Relic
New Relic license key.See New Relic Ruby Agent Configuration
Enable New Relic application logging.Default:
falseDatadog
Datadog trace agent URL.See Datadog APM Ruby
Additional Services
IP Lookup
MaxMindDB API key to download GeoLite2 City database for IP geolocation.
Stripe
Stripe API secret key for payment processing.
Stripe webhook signing secret.
AI Features
OpenAI API key for AI-powered features.
Performance & Rate Limiting
Rack Attack
Enable Rack Attack for rate limiting and abuse prevention.Default:
falseMaximum number of requests per period.Default:
300Enable rate limiting for widget API endpoints.Default:
falseComma-separated list of trusted IPs that bypass Rack Attack throttling rules.Example:
127.0.0.1,::1,192.168.0.10Sidekiq
Number of concurrent Sidekiq worker threads.Default:
10Enable verbose logging each time a job is dequeued in Sidekiq.Default:
falseDatabase Performance
Frequency in seconds to periodically run the connection pool reaper.Default:
30Housekeeping
Remove stale contact inboxes with no conversation older than 90 days.Default:
falseAdvanced Configuration
Run Chatwoot as an API-only server, disabling frontend dashboard endpoints.Default:
falseEnable direct uploads to cloud storage using signed URLs.Note: Requires proper CORS configuration on your cloud storage. See Active Storage CORSDefault:
falseDevelopment Only
Use letter_opener gem to preview emails in development.Default:
falseWebpacker dev server public URL (for GitHub Codespaces).

