Main features
- Multiple rooms with access controls
- Direct messages
- File attachments with previews
- Message search
- Web Push notifications
- @mentions
- Bot API for integrations
- First-run wizard to create the admin account
What Campfire does
Campfire is a web-based group chat from 37signals, the company behind Basecamp. It keeps to the basics: rooms with access controls, direct messages, file attachments with previews, search, @mentions and notifications through the browser’s Web Push. An API lets bots post into rooms, which is enough for simple alerts from monitoring or deployment tools. The code is published under the MIT license.
The design goal is a chat that a small team can run without thinking about it. There are no paid tiers, user limits or enterprise edition, and the codebase is small enough that the README encourages people to modify it.
Self-hosting Campfire
The official Docker image contains everything needed for a complete single-machine deployment: the Rails application, background jobs, caching, file serving and SSL. The database (SQLite) and uploaded files are kept under one path, /rails/storage, so the only requirement besides Docker is a persistent volume mounted there. Configuration is done with environment variables: a secret key base, a VAPID key pair for push notifications, which the image can generate for you, and the domain name if you want the container to obtain a Let’s Encrypt certificate automatically.
The simplest route is ONCE, 37signals’ installer, which sets up the container, keeps it updated and handles backups; it can be driven from a dashboard or a single once deploy command. Releases are tagged by major, minor and patch version, so you can pin a deployment to avoid surprises, or follow the main tag for the latest changes. On first start a wizard creates the admin account, whose email address is shown on the sign-in page as a contact for users.
The project also publishes versions of Campfire written in Django, Laravel, Express, Elixir, Go, Rust and C, with benchmark comparisons. These are separate repositories; the Rails version is the main product.
Security and privacy
Everything stays on the machine you run it on, including the database and attachments. Messages are not end-to-end encrypted, so whoever controls the server can read them. The repository includes a security policy describing how to report vulnerabilities and the project’s trust model.
Hosted version
There is no hosted Campfire service; it is distributed for self-hosting only.
Limitations
Campfire’s feature list is short. The README does not mention threads, voice or video calls, single sign-on, LDAP, guest accounts, importers from Slack or other tools, or native mobile apps; people use it in the browser. It is built for one machine, and there is no documented clustering or high-availability setup. Integrations are limited to what you build on the bot API.
Who it suits
Campfire suits small companies, clubs and project teams that want a private group chat with almost no administration and no per-user cost, and developers who want a compact Rails codebase to adapt. Teams that need threads, calls, SSO or many integrations should look at Mattermost, Zulip or Rocket.Chat.
Technical details
Self-hosting needs
- Docker
Built with
- Ruby on Rails
- Hotwire
Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.