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: