Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
FREEDOM251

Freedom251 › Blog › Campfire

How to Self-Host Campfire Chat From ONCE on a VPS

By Freedom251 Team · · 10 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Yes. Campfire can run on a VPS you control, either through ONCE’s guided installer or as the official Docker image. ONCE is the easier route because it integrates installation, updates and backups; Docker gives you finer control over image tags, environment variables, storage and TLS. For a small installation, ONCE publishes a baseline of 2 GB RAM and one CPU for up to 250 concurrent users. Whatever size you choose, reserve additional capacity for the operating system, monitoring, backups and traffic bursts.

What Campfire is and what self-hosting changes

Campfire is ONCE’s installable, self-hosted group-chat application. It provides rooms, direct messages, mentions, search, file attachments, mobile web and PWA support, and an HTTP API that bots can use. The software is free and released under the MIT License. Self-hosting means the application, database, uploaded files and encryption secrets live on infrastructure you administer rather than on a shared Campfire service.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A cloud VPS from AWS, DigitalOcean or Hetzner is a suitable location. You receive a virtual machine with a public IP address, install Campfire there, point a domain name at it and keep the machine patched and backed up. The trade-off is operational responsibility: DNS, firewall rules, disk space, upgrades, TLS and recovery are yours to manage.

Campfire is single-tenant. Every user in one installation can see its public rooms, so it is not a way to host isolated customer communities in one shared instance. If groups must be separated, deploy a separate Campfire instance for each group.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.

Choose ONCE or manual Docker

Both methods run the same Campfire application. The practical difference is how much of the surrounding operations are automated for you.

Decision point ONCE deployment Manual Docker deployment
Setup effort Guided installer and Campfire selection You configure the container, storage, secrets and TLS
Updates Installation checks for updates daily; automatic checking can be disabled for manual control You pull an image and recreate the container
Backups Integrated ONCE workflow You run the backup preparation command and archive the storage volume
Version control Managed by the ONCE installation flow Choose a specific image tag or use latest
TLS Handled as part of the guided setup Campfire can obtain certificates itself, or you can terminate TLS at another reverse proxy
Operational burden Lower; ONCE handles more lifecycle tasks Higher; you own container recreation, secrets, storage, TLS and backups

Use ONCE when you want the shortest path to a maintained installation. Choose Docker when you already operate containers, need explicit control over image versions or environment variables, or have an existing reverse-proxy and backup system.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Size the VPS for concurrent users

ONCE publishes the following concurrency guidance. These figures describe simultaneous users, not total registered accounts or monthly visitors.

Published concurrent users RAM CPU
250 2 GB 1 CPU
1,000 8 GB 4 CPUs
5,000 32 GB 16 CPUs
10,000 64 GB 32 CPUs

Treat those values as a starting point rather than a reservation to consume completely. Select the next larger VPS when the machine will also run monitoring, log processing, scheduled backup jobs or other services. Leave room for short-lived traffic spikes and database maintenance. File attachments consume disk independently of the RAM and CPU figures, so choose storage capacity and an expansion plan as well as compute resources.

Prepare the VPS and domain

Domain and DNS

Choose a hostname such as chat.example.com and create an A record pointing to the VPS public IPv4 address. If you use IPv6, create the corresponding AAAA record only when the server is configured to accept IPv6 traffic. Wait for the record to resolve before requesting a certificate or starting the first-run setup.

Machine access

Provision a supported Linux VPS with administrative access over SSH. Apply the provider’s security updates, create an operator account, and use SSH keys where possible. Keep the Campfire host dedicated enough that another workload cannot exhaust its memory or disk.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.

Network ports

Allow inbound TCP 80 and 443 when Campfire will obtain or serve HTTPS directly. Port 80 is also needed for certificate issuance and renewal in a direct TLS configuration. If a separate reverse proxy handles certificates, expose the proxy’s public ports and connect it to Campfire over the internal HTTP port described in the Docker configuration.

Storage planning

Campfire stores its SQLite database and uploaded attachments under /rails/storage. Put that path on persistent storage, monitor free space and include it in every backup. Replacing a container without preserving this volume removes the application’s data.

Path A: deploy with the ONCE CLI

ONCE is the recommended route when you want installation, update checks and backups integrated into one workflow.

  1. Provision the VPS. Point chat.example.com (or your chosen hostname) at the machine and verify that you can log in over SSH.
  2. Install ONCE. Run the official installer on the server:
    curl https://get.once.com | sh

    Use an account with the privileges required by the installer, and review your provider’s policy before piping a remote script directly into a shell.

  3. Select Campfire. The ONCE setup flow presents Campfire as an application choice and asks for the host name and initial configuration.
  4. Deploy directly when needed. If you are operating ONCE from its command line, the Campfire deployment command is:
    once deploy ghcr.io/basecamp/once-campfire --host chat.example.com

    Replace the host value with your real DNS name.

  5. Open the HTTPS address. Continue to the first-run wizard to create the initial administrator account and finish the application setup.

ONCE installations check for updates daily. You can disable that behavior if you need a change-controlled maintenance window and prefer to update manually. The guided route is especially useful when you do not already have a container, certificate-renewal and backup process.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Path B: deploy the official Docker image

The official image is ghcr.io/basecamp/once-campfire:latest. It bundles the web application, background jobs, caching, file serving and SSL support. Manual deployment requires Docker, a persistent storage mount and the configuration variables below.

1. Generate and store the secrets

Run the image’s secret generator before creating the production container:

Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
docker run --rm ghcr.io/basecamp/once-campfire:latest script/admin/generate-secrets

Save the resulting values in a protected secret store or root-readable environment file. SECRET_KEY_BASE, VAPID_PRIVATE_KEY and VAPID_PUBLIC_KEY must remain unchanged through restarts and upgrades. Generating new values for an existing installation can invalidate encrypted data or browser push registrations.

2. Create persistent storage

Create a named Docker volume or a carefully permissioned host directory and mount it at /rails/storage. This location contains the SQLite database and all uploaded attachments. The container itself should be disposable; the storage volume is the durable part of the installation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

3. Let Campfire manage HTTPS

For direct HTTPS, publish ports 80 and 443 and set TLS_DOMAIN to the DNS name that resolves to the VPS. Campfire can then manage certificates through Let’s Encrypt.

docker run 
  --name campfire 
  --publish 80:80 --publish 443:443 
  --restart unless-stopped 
  --volume campfire:/rails/storage 
  --env SECRET_KEY_BASE=$YOUR_SECRET_KEY_BASE 
  --env VAPID_PUBLIC_KEY=$YOUR_PUBLIC_KEY 
  --env VAPID_PRIVATE_KEY=$YOUR_PRIVATE_KEY 
  --env TLS_DOMAIN=chat.example.com 
  ghcr.io/basecamp/once-campfire:latest

Replace the shell variables with the values generated for this instance and replace the example host with your real domain. The first certificate request will fail if DNS does not resolve to the VPS or if ports 80 and 443 are blocked.

4. Use an existing reverse proxy instead

If Nginx, Caddy or another reverse proxy already terminates TLS, set DISABLE_SSL=true and publish the container’s HTTP port rather than asking Campfire to obtain certificates. The proxy must forward requests and WebSocket traffic to the Campfire container, while the public certificate remains managed by the proxy.

docker run 
  --name campfire 
  --publish 80:80 
  --restart unless-stopped 
  --volume campfire:/rails/storage 
  --env SECRET_KEY_BASE=$YOUR_SECRET_KEY_BASE 
  --env VAPID_PUBLIC_KEY=$YOUR_PUBLIC_KEY 
  --env VAPID_PRIVATE_KEY=$YOUR_PRIVATE_KEY 
  --env DISABLE_SSL=true 
  ghcr.io/basecamp/once-campfire:latest

Do not expose an unencrypted HTTP endpoint directly to the public internet when the reverse proxy is not actually providing HTTPS. Keep the proxy and container on a private network when your topology allows it.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.

Complete the first-run wizard

On the first launch, Campfire presents an administrator-account wizard. Enter an email address that the operator monitors: that address is shown on the login page as the contact for password-help requests. Choose the initial administrator credentials, sign in, create rooms and invite users, then test sending a message, uploading an attachment and receiving notifications before announcing the service.

Because the installation is single-tenant, explain your room visibility model to users. Public rooms are visible to everyone in that Campfire installation. Use direct messages or appropriately restricted rooms for conversations that should not be public within the tenant, and deploy another instance when a completely separate user population is required.

Updates and version control

ONCE-managed installation

ONCE checks for updates daily by default. This minimizes the time you spend tracking releases, but it also means an update can occur outside your preferred maintenance window. Disable automatic checking when you need to approve and schedule each change, and keep a tested backup before maintenance.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Docker installation

To upgrade, pull a newer image and recreate the container with the same environment variables and storage mount. Pending database migrations run automatically at boot. A typical lifecycle is:

  1. Record the current image tag and confirm that a recent storage backup exists.
  2. Pull the chosen release image.
  3. Stop and remove the old container without deleting the campfire volume.
  4. Recreate the container with the unchanged secrets, TLS settings and storage mount.
  5. Watch startup logs until migrations finish, then test login, room loading, messages and attachments.

Use a version tag when you want to avoid unexpected changes and schedule upgrades deliberately. Use latest when you prefer the most recent tagged release and accept responsibility for checking it before production rollout. Never rotate the three generated secrets merely to perform an image upgrade.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Back up SQLite and attachments correctly

Campfire’s database is SQLite in /rails/storage, alongside uploaded files. Do not copy a live SQLite database file while the application is running; the copy may be internally inconsistent. First ask Campfire to create a consistent snapshot.

  1. Run the administrative backup-preparation script inside the running container:
    docker exec campfire script/admin/prepare-backup
  2. Confirm that the resulting snapshot appears in storage/backups/ inside the mounted storage volume.
  3. Archive the complete storage volume, not only the SQLite file. The archive must include the prepared backup and uploaded attachments.
  4. Copy the archive to storage outside the VPS account or region. An off-server copy is essential when the VPS disk, account or provider becomes unavailable.
  5. Periodically test restoring the archive to a separate instance. A backup that has never been restored is an assumption, not a recovery plan.

Protect archives because they contain user conversations, account data and uploaded files. Retain enough dated copies to recover from accidental deletion as well as from a recent hardware or provider failure.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Operate the VPS safely

  • Monitor disk usage. Attachments, container logs and backup archives can grow at different rates. Alert before the filesystem reaches capacity.
  • Keep secrets private. Restrict permissions on environment files and never paste secret values into tickets, chat rooms or public repositories.
  • Limit exposed services. Keep only SSH and the required web ports reachable from the internet; place databases and administrative services on the private side of the host.
  • Plan maintenance. Record the running image tag, backup timestamp and rollback procedure before each upgrade.
  • Check certificate renewal. For direct TLS, verify that Campfire can reach Let’s Encrypt and that port 80 remains available for renewal challenges. For proxy TLS, monitor the proxy’s certificate job instead.
  • Separate tenants physically. Use separate VPS instances or isolated deployments when users must not share public rooms or storage.

Troubleshooting common failures

The domain opens the wrong server

Check the A and AAAA records, DNS propagation and the VPS public address. Remove stale records that point to an old host. Certificate issuance cannot succeed until the requested hostname resolves to the machine running Campfire.

Let’s Encrypt cannot issue a certificate

Confirm that TCP 80 and 443 reach the container, that no other service is occupying those ports, and that the firewall allows the traffic. If another proxy already owns the ports, use DISABLE_SSL=true and let that proxy handle certificates instead of running two TLS terminators.

Users lose data after a restart

Inspect the container definition and verify that the same named volume or host directory is mounted at /rails/storage. Recreating a container without that mount creates a new empty SQLite database and attachment store.

Push notifications or encrypted data stop working after an upgrade

Check that SECRET_KEY_BASE, VAPID_PRIVATE_KEY and VAPID_PUBLIC_KEY are identical to the values used when the installation was created. Restore the original secret values before attempting further troubleshooting.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The application fails during startup after an image change

Read the container logs and allow the automatic migrations to finish. If the failure persists, stop the rollout, preserve the current storage volume, and recreate the previous known-good image tag with the same configuration. Do not delete the volume while investigating.

The VPS becomes slow under load

Compare observed concurrent users and attachment activity with the published RAM and CPU guidance. Check memory pressure, CPU saturation, disk latency and free space. Move to the next sizing tier before the operating system begins swapping or the disk fills, and leave headroom for backups and bursts.

Which deployment should you use?

Your situation Best fit Reason
You want Campfire online with minimal container work ONCE The installer guides setup and integrates update and backup workflows
You already run Docker and a reverse proxy Manual Docker You can keep TLS, networking and image lifecycle in your existing platform
You require tightly controlled release versions Manual Docker Pin an image tag and recreate the container on your schedule
You do not want to maintain certificates and backup jobs yourself ONCE More of those tasks are handled by the ONCE environment
You need isolated customer communities Multiple installations Campfire is single-tenant; one instance does not isolate public rooms between customers

For a first VPS deployment, start with ONCE on a properly sized machine, a real DNS name and persistent storage. Move to the Docker path when you have a specific need for version pinning, custom environment settings or an established reverse-proxy and backup stack.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

CampfireDockerONCEself-hostingSQLiteVPS

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.