Campfire Campfire is web-based chat application. It supports many of the features you'd expect, including: Multiple rooms, with access controls Direct messages File attachments with previews Search Notifications (via Web Push) @mentions API, with support for bot integrations Campfire is single-tenant: any rooms designated "public" will be accessible by all users in the system. To support entirely distinct groups of customers, you would deploy multiple instances of the application. Running in development bin/setup bin/rails server Deploying with Docker Campfire's Docker image contains everything needed for a fully-functional, single-machine deployment. This includes the web app, background jobs, caching, file serving, and SSL. To persist storage of the database and file attachments, map a volume to /rails/storage . To configure additional features, you can set the following environment variables: SSL_DOMAIN - enable automatic SSL via Let's Encrypt for the given domain name - enable automatic SSL via Let's Encrypt for the given domain name DISABLE_SSL - alternatively, set DISABLE_SSL to serve over plain HTTP - alternatively, set to serve over plain HTTP VAPID_PUBLIC_KEY / VAPID_PRIVATE_KEY - set these to a valid keypair to allow sending Web Push notifications. You can generate a new keypair by running /script/admin/create-vapid-key / - set these to a valid keypair to allow sending Web Push notifications. You can generate a new keypair by running SENTRY_DSN - to enable error reporting to sentry in production, supply your DSN here For example: