First, get everything installed and configured with:
bin/setupThis installs the system packages Campfire needs (SQLite, ffmpeg), the right Ruby version (via mise), and the app's gems; prepares the database; and starts Redis (in a Docker container called campfire-redis, if it isn't already running locally).
If you want to start over at any point, run:
bin/setup --resetStart the development server with:
bin/devYou'll be able to access the app at http://localhost:3000.
On first run you'll be guided through creating your admin account, and you can sign in with that account from then on.
Note that Campfire needs Redis (for Action Cable, caching, and background jobs), so if you've restarted your machine or stopped the container, docker start campfire-redis will bring it back.
Campfire uses VAPID (Voluntary Application Server Identification) keys to send browser push notifications. For notifications to work in development you'll need to generate a key pair and set these environment variables:
VAPID_PRIVATE_KEYVAPID_PUBLIC_KEY
You can generate a fresh pair (along with a secret key base, which you can ignore in development) by running:
script/admin/generate-secretsRun the unit tests with:
bin/rails testAnd the browser-based system tests with:
bin/rails test:systemBefore pushing your changes, you can run the full CI suite locally - style checks, security audits, and all the tests - with a single command:
bin/ciYou are welcome - and encouraged - to modify Campfire to your liking. If you'd like to contribute your changes back, please read our contributing guide first.