icon

Campfire

A web-based chat application with multiple rooms, direct messages, file attachments, and real-time notifications.

PlatformZeabur
Deployed4
Publisherleechenghsiu
Deployed4 times
Publisherleechenghsiu
Created2025-09-13
Services
service icon
Tags
ChatCommunicationTeam CollaborationReal-time

Campfire

Campfire is a web-based chat application developed by Basecamp. It's a self-contained application that includes everything needed for team communication.

Features

  • Multiple Rooms: Create and manage chat rooms with access controls
  • Direct Messages: Private one-on-one conversations
  • File Attachments: Upload and share files with automatic previews
  • Search: Find messages and files across all conversations
  • Real-time Updates: Live chat updates without page refresh
  • @Mentions: Notify specific users with @username
  • Web Push Notifications: Get notified even when the app is closed (optional)
  • API Support: REST API for building custom integrations and bots

Getting Started

  1. After deployment, access your Campfire instance using the provided domain
  2. Create your first account - the first user becomes the admin
  3. Create rooms and invite users to start chatting
  4. Optionally configure Web Push notifications using VAPID keys

Web Push Notifications (Optional)

Web Push notifications allow users to receive chat notifications even when the browser is closed. This feature is completely optional - Campfire works perfectly without it.

Option 1: Online Generator (Easiest)

  1. Visit https://vapidkeys.com
  2. Click "Generate VAPID Keys"
  3. Copy the Public Key and Private Key
  4. Paste them into the template variables during deployment

Option 2: Command Line

# Install web-push globally
npm install -g web-push

# Generate VAPID keys
web-push generate-vapid-keys

Option 3: After Deployment

If you deploy without VAPID keys, you can add them later:

  1. Generate keys using one of the methods above
  2. Go to your Zeabur project → Campfire service → Variables
  3. Add VAPID_PUBLIC_KEY and VAPID_PRIVATE_KEY
  4. Restart the service

SSL Configuration

SSL is automatically handled when you bind a domain to your service. The application will automatically obtain and renew Let's Encrypt certificates.

Storage

All chat data, user information, and file attachments are automatically persisted in the /rails/storage volume. This includes:

  • User accounts and authentication data
  • Chat messages and room configurations
  • Uploaded files and attachments
  • Application settings and preferences

API Access

Campfire provides a REST API for building integrations and bots. API documentation is available within the application after deployment.

Architecture

Campfire is a self-contained Rails application that includes:

  • Web Server: Handles HTTP/HTTPS requests
  • Database: Built-in SQLite for data persistence
  • Background Jobs: Built-in job processing for async tasks
  • File Storage: Local file system for attachments
  • WebSocket: Real-time communication support

Support

For issues and questions about Campfire, visit the official repository.