前言
在日常沟通中,我们经常会使用 Discord、Slack、Teams 等第三方即时通讯工具进行交流,但这些平台的数据、服务器以及服务规则都掌握在平台方手中,对于注重隐私和数据自主控制的用户来说,自建一个属于自己的聊天平台无疑是一个更好的选择。
本期给大家介绍一个非常不错的开源项目 —— Haven。
Haven 是一个类似 Discord 的开源、自托管实时通信平台,通过 Docker 可以快速部署到自己的 VPS 或服务器上,搭建一个完全属于自己的私有聊天服务器。
它不仅支持基础的文字聊天,还提供了频道管理、语音交流、视频通话、屏幕共享、文件传输等功能,能够满足个人团队、小型组织以及技术社区的日常沟通需求。
相比传统第三方聊天工具,使用 Haven 最大的优势就是:
✅ 数据存储在自己的服务器中,隐私更加可控
✅ 开源项目,代码透明,可自由部署和扩展
✅ Docker 一键部署,降低搭建门槛
✅ 支持自定义域名和 HTTPS 安全访问
✅ 无需依赖第三方平台,打造专属通信空间
本教程将详细介绍如何在 Linux VPS 服务器上通过 Docker 部署 Haven,包括环境准备、Docker Compose 配置、域名绑定、HTTPS 配置以及功能测试等完整流程。
如果你拥有一台闲置 VPS,或者希望搭建一个属于自己的私有聊天平台,那么 Haven 将会是一个非常值得尝试的开源项目。
下面我们开始部署 Haven,打造属于自己的 Discord 替代方案。
项目图示
主界面-web页面

Haven主题——全桌面聊天

活动——游戏、Flash 模拟等等

屏幕共享 — 支持多流语音聊天

屏幕共享

视频聊天

项目简介
免费私密聊天,就在你的电脑上
Haven官网
Haven 是一个功能齐全的聊天服务器,您可以自行托管。它提供语音聊天、屏幕共享、25 多个主题、GIF 动图、子频道、端到端加密的私信、文件共享等功能——无需云端,无需大型科技公司账户,您的消息不会被任何人读取

这是给谁用的?
- 想要找个私密场所聊天的小型朋友团体
- 自托管用户,在自己的硬件上运行服务
- 注重隐私的社区,已经厌倦大型科技公司
- 需要语音和屏幕共享,但又不想使用 Discord
- 局域网游戏团队,需要轻量级聊天服务
- 家庭实验室爱好者,正在寻找轻量级的聊天服务
Haven vs 主流聊天平台对比
| 功能 | Haven | Fluxer | Discord | Slack | Signal |
|---|---|---|---|---|---|
| 自托管(数据完全属于自己) | ✅ | ✅ | ❌ | ❌ | ❌ |
| 无需注册企业账号 | ✅ | ✅ | ❌ | ❌ | ❌ |
| 端到端加密私信 | ✅ | ❌ | ❌ | ❌ | ✅ |
| 语音聊天 | ✅ | ✅ | ✅ | 付费 | ✅ |
| 屏幕共享 | ✅ | ✅ | ✅ | 付费 | ❌ |
| 开源项目 | ✅ | ✅ | ❌ | ❌ | ✅ |
| 主题 / 自定义 | 25+主题 | CSS自定义 | 有限 | 有限 | ❌ |
| 群组频道 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 无需邮箱 / 手机注册 | ✅ | ❌ | ❌ | ❌ | ❌ |
| 永久免费(无付费版本限制) | ✅ | Freemium(免费增值) | Freemium(免费增值) | Freemium(免费增值) | ✅ |
| 好友加入无需安装 | ✅ | ✅ | ❌ | ❌ | ❌ |
| 支持手机浏览器 | ✅ | ✅ | 仅App | 仅App | 仅App |
| 导入 Discord 历史记录 | ✅ | ❌ | - | ❌ | ❌ |
✨ 功能特性
Haven v2.0 功能列表
| 分类 | 功能 | 说明 |
|---|---|---|
| 数据迁移 | Discord 历史记录导入 | 支持直接导入 Discord 服务器完整数据,无需第三方工具和命令行 |
| 数据迁移 | 导入内容 | 支持频道、主题、论坛帖子、表情、置顶消息、附件、头像、历史聊天记录 |
| 数据迁移 | 导入方式 | 粘贴 Discord Token,选择服务器即可完成迁移 |
| 平台支持 | 桌面端支持 | 支持 Windows、Linux、macOS 浏览器访问 |
| 平台支持 | 移动端支持 | 支持手机和平板浏览器访问,无需安装 App |
| 平台支持 | 自适应界面 | 根据屏幕尺寸自动调整布局 |
| 平台支持 | 移动端功能 | 支持频道、私信、语音聊天、文件共享、侧边栏等完整功能 |
| 聊天功能 | 实时消息 | 支持实时聊天和消息同步 |
| 聊天功能 | 图片上传 | 支持发送图片文件 |
| 聊天功能 | 文件分享 | 支持用户之间共享文件 |
| 聊天功能 | 输入状态 | 支持输入中提示 |
| 聊天功能 | 消息编辑 | 支持修改已发送消息 |
| 聊天功能 | 消息回复 | 支持引用回复消息 |
| 聊天功能 | Emoji反应 | 支持消息表情互动 |
| 聊天功能 | @提醒 | 支持成员提及提醒 |
| 聊天功能 | 子频道管理 | 支持频道名称修改和子频道折叠 |
| 搜索功能 | 消息搜索 | 支持 Ctrl+F 搜索任意频道消息 |
| 搜索功能 | 搜索结果 | 高亮关键词并快速跳转消息 |
| 语音功能 | P2P语音聊天 | 用户之间直接点对点传输音频 |
| 语音功能 | 音量控制 | 每个用户可单独调节音量 |
| 语音功能 | 静音功能 | 支持用户静音和屏蔽 |
| 语音功能 | 说话指示器 | 显示当前发言用户 |
| 语音功能 | 提示音 | 支持加入/退出提示音 |
| 语音功能 | 降噪 | 支持语音降噪处理 |
| 视频功能 | 屏幕共享 | 支持语音频道内共享屏幕 |
| 视频功能 | 多人直播 | 支持多人同时共享屏幕 |
| 视频功能 | 网格布局 | 支持多视频流网格显示 |
| 视频功能 | 窗口调整 | 支持调整观看窗口大小 |
| 视频功能 | 使用场景 | 适合会议、办公、游戏直播、在线教学 |
| 隐私安全 | 加密私信 | 私信采用端到端加密 |
| 隐私安全 | 加密算法 | 使用 ECDH + AES-256-GCM |
| 隐私安全 | 本地存储 | 消息保存在用户设备 |
| 隐私安全 | 无云端传输 | 私信不会经过云端服务器 |
| 隐私安全 | 无遥测 | 不收集用户行为数据 |
| 隐私安全 | 无数据分析 | 不进行用户数据分析 |
| 音视频娱乐 | 音乐同步 | 支持多人同步播放音乐 |
| 音视频娱乐 | 支持平台 | 支持 Spotify、YouTube、SoundCloud |
| 音视频娱乐 | 播放同步 | 支持播放进度同步 |
| 音视频娱乐 | 视频共享 | 支持屏幕共享观看视频 |
| 主题系统 | 主题数量 | 内置 25+ 个主题 |
| 主题系统 | 主题类型 | 支持 Haven、Discord、Matrix、Tron、HALO 等主题 |
| 主题系统 | 游戏主题 | 支持 Minecraft、塞尔达、Fallout、Elden Ring 等风格 |
| GIF功能 | GIF搜索 | 支持 GIPHY 动图搜索 |
| GIF功能 | 快捷命令 | 支持 /gif 命令快速发送 GIF |
| GIF功能 | 管理配置 | 管理员可快速开启配置 |
| 文件功能 | 文件上传 | 支持 PDF、文档、音频、视频、压缩文件 |
| 文件功能 | 文件大小 | 最大支持 1.5GB 文件 |
| 文件功能 | 管理设置 | 管理员可调整文件大小限制 |
| 文件功能 | 媒体播放 | 内置音频和视频播放器 |
| 链接功能 | 链接预览 | 自动生成网页预览卡片 |
| 链接功能 | OpenGraph | 显示标题、描述和缩略图 |
| 命令功能 | 斜杠命令 | 支持快捷命令操作 |
| 命令功能 | 内置命令 | /shrug、/tableflip、/roll、/flip、/me、/tts |
| 命令功能 | 自动补全 | 输入命令自动提示 |
| 管理功能 | 置顶消息 | 管理员可置顶重要消息 |
| 管理功能 | 置顶面板 | 集中查看频道置顶内容 |
| 管理功能 | 用户管理 | 支持踢出、禁言、封禁用户 |
| 管理功能 | 频道管理 | 支持创建、修改和管理频道 |
| 管理功能 | 自动清理 | 支持自动清理旧消息 |
| 多服务器 | 多服务器连接 | 支持添加多个 Haven 服务器 |
| 多服务器 | 状态显示 | 实时显示服务器在线状态 |
| 通知功能 | 通知音 | 提供 5 种提示音 |
| 通知功能 | 独立设置 | 每个频道可单独控制通知 |
| 通知功能 | 未读提醒 | 保留未读消息标记 |
| 游戏功能 | 内置游戏 | 支持 Shippy Container、Flight 等小游戏 |
| 游戏功能 | Flash游戏 | 通过 Ruffle 模拟器运行 Flash 游戏 |
| 游戏功能 | 排行榜 | 支持服务器级游戏排行榜 |
Haven v2.0 特性总结
| 项目 | 支持情况 |
|---|---|
| Discord替代 | ✅ |
| 自托管部署 | ✅ |
| 开源项目 | ✅ |
| Web访问 | ✅ |
| 手机访问 | ✅ |
| 聊天系统 | ✅ |
| 私信系统 | ✅ |
| P2P语音 | ✅ |
| 屏幕共享 | ✅ |
| 文件共享 | ✅ |
| 音视频同步 | ✅ |
| Discord迁移 | ✅ |
| 端到端加密 | ✅ |
| 多服务器管理 | ✅ |
| 社区管理 | ✅ |
| 多主题界面 | ✅ |
| 游戏活动 | ✅ |
部署方法
使用Docker安装
本教程使用docker的方式安装部署,简单便捷

准备条件
1)一台服务器
我们使用莱卡云VPS来演示
需要vps的可以看以下信息,配置尽量选择大点的比如2核心4G内存
莱卡云官网
2)本教程使用到的项目
本教程使用的官方github地址
https://github.com/ancsemi/Haven

目前有498 stars
3)域名(可选)
根据自己的需求,web界面建议绑定域名
VPS部署
一、Docker环境部署
在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04
推荐直接用一键脚本
docker安装脚本
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)
docker-compose安装脚本
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
二、部署命令
登录服务器使用root账户执行以下步骤
docker-compose命令
创建一个目录,并进入此目录
mkdir haven ;cd haven
请自行安装vim编辑器
然后再新建docker-compose.yml
vim docker-compose.yml
services:
haven:
image: ywsj/haven:latest # Haven 镜像
container_name: haven # 容器名称
ports:
- "0.0.0.0:3000:3000" # HTTPS 服务端口
- "0.0.0.0:3001:3001" # HTTP 跳转 HTTPS 端口
volumes:
- ./haven-data:/data # 数据持久化目录
environment:
PORT: 3000 # 服务监听端口
HOST: 0.0.0.0 # 监听所有地址
SERVER_NAME: Haven # 页面显示名称
TZ: Asia/Shanghai # 时区
restart: always # 自动重启
注意端口如有冲突自行修改
三、执行容器运行命令
docker-compose up -d #运行容器
docker-compose ps #查看是否启动成功
正常启动如下所示
docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
haven ghcr.io/ancsemi/haven:latest "/sbin/tini -- /entr…" haven 5 hours ago Up 5 hours (healthy) 0.0.0.0:3000-3001->3000-3001/tcp
四、web界面
打开web页面使用
成功以后需要打开自己相应的端口3000)防火墙就可以web端访问了
主界面
https://ip:3000
注意是https
初始化管理员账号

初始化向导

正常使用

其他功能自行探索
绑定域名
VPS上的建议绑定下域名,方便管理。
绑定域名的教程参考以下内容
绑定域名视频教程
B站
YouTube
绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
欢迎关注我们的微信公众号!


评论区