Super simple group chat, without a subscription
  • Ruby 48%
  • HTML 22.8%
  • JavaScript 16.9%
  • CSS 11.4%
  • Shell 0.5%
  • Other 0.4%
Find a file
Jeremy Daer 9310b002d7
Drop the unsupported semver cooldown keys from the docker ecosystem (#251)
The docker block copied bundler's cooldown wholesale, but Dependabot only
accepts semver-major/minor/patch-days for ecosystems whose versions it
classifies as semver, and container tags aren't. One invalid property
invalidates the entire file rather than the block it sits in, so since
this config landed in #248 the version updater has not run for any
ecosystem at all:

  Your .github/dependabot.yml contained invalid details
  The property '#/updates/2/cooldown/semver-major-days' is not supported
  for the package ecosystem 'docker'. (and -minor-, -patch-)

That is why #249's cooldown exclude for brakeman never took effect, and
why #250 had to bump the workflow linter pins by hand while every other
repo got a Dependabot PR. It also left `bin/brakeman --ensure-latest 15`
armed with nothing to disarm it: the lock pins brakeman 8.0.6, and CI
would have gone red roughly 15 days after 8.0.7 shipped.

Security updates were never affected — those don't read this file, which
is why the only four Dependabot runs here are single-gem security bumps.

docker keeps default-days, which is supported for every ecosystem.
2026-08-21 21:49:40 -07:00
.github Drop the unsupported semver cooldown keys from the docker ecosystem (#251) 2026-08-21 21:49:40 -07:00
app Scope boosts to the current message 2026-08-11 14:33:05 +02:00
bin Bump brakeman to 8.0.6 and stop --ensure-latest reddening CI (#249) 2026-08-19 09:27:49 -07:00
config Allow bots to delete their own boosts 2026-08-11 14:13:01 +02:00
db Address race condition during "first run" account creation 2025-12-12 10:51:28 -05:00
docs Recommend the latest tag over main 2026-07-16 21:17:17 +02:00
hooks Add ONCE backup and restore hooks 2026-08-03 12:41:01 +01:00
lib Take the SSRF address policy from surfguard instead of keeping our own copy (#241) 2026-08-20 01:59:19 -07:00
log Hello world 2025-08-21 09:31:59 +01:00
public Hello world 2025-08-21 09:31:59 +01:00
script Improve self-hosting instructions 2026-07-15 13:29:13 +02:00
test Take the SSRF address policy from surfguard instead of keeping our own copy (#241) 2026-08-20 01:59:19 -07:00
tmp Hello world 2025-08-21 09:31:59 +01:00
vendor dep: update action_text-trix 2.1.15 → 2.1.19 2026-06-09 12:42:51 -04:00
.dockerignore Port over release script 2025-12-01 10:40:24 +01:00
.env.erb Fix 1Password account ID (was user UUID) (#156) 2025-12-31 13:59:12 -08:00
.gitattributes Hello world 2025-08-21 09:31:59 +01:00
.gitignore Hello world 2025-08-21 09:31:59 +01:00
.pumaenv Hello world 2025-08-21 09:31:59 +01:00
.rubocop.yml Hello world 2025-08-21 09:31:59 +01:00
.ruby-version Upgrade to Rails 8 and Ruby 3.4.5 (#1) 2025-09-02 17:02:41 +02:00
config.ru Hello world 2025-08-21 09:31:59 +01:00
CONTRIBUTING.md Add contributing guide 2025-09-18 14:51:42 +02:00
Dockerfile Add ONCE backup and restore hooks 2026-08-03 12:41:01 +01:00
Dockerfile-export Port over release script 2025-12-01 10:40:24 +01:00
Gemfile Take the SSRF address policy from surfguard instead of keeping our own copy (#241) 2026-08-20 01:59:19 -07:00
Gemfile.lock Take the SSRF address policy from surfguard instead of keeping our own copy (#241) 2026-08-20 01:59:19 -07:00
MIT-LICENSE Hello world 2025-08-21 09:31:59 +01:00
Procfile Hello world 2025-08-21 09:31:59 +01:00
Rakefile Hello world 2025-08-21 09:31:59 +01:00
README.md Document the self-hosted trust model in SECURITY.md (#230) 2026-07-31 13:09:59 -04:00
SECURITY.md Document the self-hosted trust model in SECURITY.md (#230) 2026-07-31 13:09:59 -04:00

Campfire

Campfire is a 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

Running your own Campfire instance

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. You can use our pre-built image at ghcr.io/basecamp/once-campfire:latest, or build your own from this repo.

Deploying with ONCE

The easiest way to self-host Campfire is with ONCE. It will guide you through the initial set up and then keep your instance up to date automatically.

If you don't already have once installed, run this on the machine you want to run Campfire on:

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

once will launch as soon as the install is finished.

Choose Campfire from the list of applications, follow the instructions, and ONCE will take care of the rest.

If you prefer the command line to the dashboard, you can deploy directly:

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

Deploying with Docker

If you'd rather run the Docker image yourself, you can read more about that in the self-hosting guide.

Tip

When you start Campfire for the first time, you'll be guided through a wizard to create an admin account. The email address that you enter for the admin account will be visible on the sign-in page, it's there so that people have someone to contact if they need help with their account. If that bothers you, put in any email address you want and create yourself a new admin account.

Development

You are welcome - and encouraged - to modify Campfire to your liking. Please see our development guide for how to get Campfire set up for local development.

Security

See SECURITY.md for how to report a vulnerability and a description of our trust model.