opensourceprojects.dev

A broadsheet for software that doesn't ask for your email

Campfire: a self-hosted chat app with Docker images and guided deployment
GitHub RepoImpressions2

Project Description

View on GitHub

Self-Host Your Team Chat Without the Setup Headache: Campfire

You know the drill: you want your team off Slack or Discord, but the thought of piecing together a chat server, a database, a file storage solution, and then maintaining SSL certificates makes you want to close the laptop. What if the entire thing—web app, background jobs, caching, and HTTPS—came in one single Docker image? That's exactly the pitch from Campfire, a web-based chat application that you can run on your own hardware with what looks like a surprisingly short path from zero to chatting.

Campfire is the open-source release from Basecamp (the folks behind the project management tool), and it's designed to be a complete, self-contained chat solution. It brings back the old-school Campfire name but with a modern, self-hosted twist, and it's built to be deployed on a single machine without requiring you to become a full-time infrastructure engineer.

What It Does

At its core, Campfire is a chat application. It hits all the standard notes you'd expect from a modern team messenger. You get multiple rooms with granular access controls, so you can have a public "watercooler" and a locked-down "finance" channel. There are direct messages for those one-on-one conversations, and you can attach files with previews so you're not just sharing a filename and hoping for the best.

The feature list goes deeper: full-text search so you can actually find that decision you made three weeks ago, notifications through Web Push (so it works on desktop without a native app), and @mentions to grab someone's attention. For the automation-minded, there's an API that supports bot integrations, meaning you can wire up your own tools to post deployment alerts or pull in GitHub notifications.

Architecturally, this is where it gets interesting. The README states that the Docker image contains everything needed for a "fully-functional, single-machine deployment." That includes the web app, background job processors, caching layer, file serving, and SSL termination. It's a monolithic deployment in the best sense—you don't need to spin up separate Redis, Postgres, and Nginx containers and wire them together. It all runs inside one container, which dramatically lowers the barrier to entry for self-hosting.

Why It's Cool

The most compelling thing about Campfire isn't any single chat feature—it's the deployment philosophy. Here's what stands out:

The "it just works" Docker image. Most self-hosted apps give you a Docker Compose file with five services and a list of environment variables that takes an afternoon to configure. Campfire's approach is refreshingly different: one image, one machine, everything included. It's the appliance model for software, and for a team chat tool, that's a huge win.

The ONCE deployment flow. This is genuinely clever. Campfire integrates with ONCE, a companion tool from Basecamp that acts as a guided installer. You run a single curl command, pick Campfire from a menu, and it walks you through setup and then handles automatic updates. For developers who want to self-host but don't want to babysit their infrastructure, this is a killer feature. It's the difference between "I run this server" and "this server runs itself."

Built-in first-run wizard. When you boot Campfire for the first time, you're guided through creating an admin account. The README includes a practical tip: the email you use for that admin account will be visible on the sign-in page so people know who to contact for help. You can use a dummy address if that bothers you, which shows a thoughtful attention to real-world deployment details.

It's from Basecamp. That carries weight. These are people who have run remote teams for decades and who understand what a chat tool actually needs to do. The feature set (rooms, access controls, search, bots) reflects that experience—no bloated extras, just the stuff you use daily.

You can hack it. The README explicitly welcomes modifications and links to a development guide. This isn't a locked-down appliance; it's a real codebase you can fork and tweak to fit your team's peculiar workflows.

How to Try It

Getting started is refreshingly straightforward. You have two primary paths, depending on how much control you want.

Path one: The easy route with ONCE. If you have a machine (a VPS, a spare box, a Raspberry Pi—anything with Docker support) and you want Campfire running with minimal fuss, install ONCE first:

curl https://get.once.com | sh

Once it launches, select Campfire from the list of applications and follow the prompts. ONCE handles the setup and keeps your instance updated automatically. If you prefer the command line over a dashboard, you can skip the menu and deploy directly:

once deploy ghcr.io/basecamp/once-campfire --host chat.example.com

Just swap in your actual domain name.

Path two: Manual Docker. If you'd rather run things yourself without the ONCE abstraction layer, you can pull the pre-built image from ghcr.io/basecamp/once-campfire:latest and run it directly. The README points to a self-hosting guide in the repo for the finer details.

Either way, when you first start the container, you'll hit a wizard to create your admin account. That's it—no environment variable soup, no external database setup. You're chatting.

You can find the full repository, including development and security guides, at github.com/basecamp/once-campfire.

Final Thoughts

Campfire is best for teams and individuals who want the privacy and control of a self-hosted chat solution but don't want to become part-time sysadmins. The single-container approach and the ONCE integration make it arguably the lowest-friction way to run your own Slack alternative that I've seen. It's not trying to be a massive platform with thousands of integrations—it's a focused, well-built chat tool that you own. If you've been hesitating to cut ties with the big chat platforms because self-hosting sounded like a weekend project, Campfire might just make it an afternoon project instead.


Follow @githubprojects for more developer tools and open source projects.

Back to Projects
Project ID: 8d7fd913-7bdf-464e-a56e-2fce95fc63f7Last updated: September 6, 2026 at 04:18 AM