once-campfire README

The project's README from github.com/basecamp/once-campfire. As one markdown file: README.md.

Campfire

Campfire is a web-based chat application. It supports many of the features you'd expect, including:

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.

Other implementations

Campfire also has implementations in Django, Laravel, Express, Elixir, Go and Rust:

HTTP workload (requests/sec) Rails Django Laravel Express Elixir Go Rust
Room page 241 170 164 559 722 3,860 36,260
Messages page 413 196 175 777 1,053 5,573 40,872
Sidebar 552 615 715 4,125 1,275 19,753 34,672
Search 435 315 305 1,294 1,156 7,053 33,299
Post a message 273 154 137 256 801 4,767 6,896

Measured with 16 concurrent clients on an AMD Ryzen AI MAX+ 395, with four hardware threads allocated to each app.

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.

once-campfire (basecamp/once-campfire)

Searching Database…

这是什么?Campfire 是一个超级简单的网页版群聊应用,你可以自行托管它,而不必付费订阅聊天服务。
这是托管服务,还是我自己运行的东西?它是一个自托管 Web 应用:你使用一个 Docker 镜像在自己的机器上运行,该镜像打包了 Web 应用、后台任务、缓存、文件服务和 SSL。
怎么让我自己的实例跑起来?最简单的方式是用 ONCE 安装器,它会引导你完成设置并自动保持更新;也可以直接运行 ghcr.io/basecamp/once-campfire:latest 的预构建 Docker 镜像,或者从仓库自行构建。
运行它需要 Docker 吗?需要——Campfire 以 Docker 镜像的形式分发和运行(或者通过 ONCE 安装器,它会替你处理 Docker 部署)。
第一次启动会发生什么?首次启动时,你会经过一个设置向导来创建管理员账户,你提供的邮箱会公开显示在登录页面上,作为支持联系方式。
它运行在什么平台上?它以自托管 Linux Docker 容器的形式运行,可以通过任何网页浏览器访问。
我的聊天数据会留在我自己的服务器上吗?会的,由于它完全自托管在你自己的机器上,所有聊天数据、文件和搜索索引都在你的掌控之下。
Campfire 开箱即支持哪些功能?多个带访问控制的房间、私信、带预览的文件附件、搜索、Web Push 通知、@提及,以及一个支持机器人集成的 API。
机器人能与 Campfire 集成吗?可以,Campfire 提供了一个专门为支持机器人集成而设计的 API。
有其他语言实现的版本吗?有,README 链接了 Django、Laravel、Express、Elixir、Go 和 Rust 的社区实现,在它们各自的基准测试中,Rust 和 Go 版本每秒处理的请求数要高得多。
我可以按自己的需求修改 Campfire 吗?可以,项目明确欢迎并鼓励定制,还提供了用于搭建本地开发环境的开发指南。
What are similar projects?novu, zulip, pi-pocket, sphere, element-web, zapfast, YYeTsBot, server
Creator
basecamp
Size
59 MB
Stars
4.8K
Age
1y
Commits · 90 Days