开始使用
在自己的服务器上运行 Antimatter
一个文件、三条命令、约十分钟:在任意装有 Docker 的 Linux 服务器上运行 Antimatter 及其数据库、文件存储和 GIF 服务。
十分钟上线
您需要一台 Linux 服务器,装有 Docker 及其 Compose 插件,并具备至少 2 个 CPU 核心和 4 GB 内存。
1. 下载 compose 文件
$ mkdir antimatter && cd antimatter
$ curl -fsSLO https://antimatter.chat/compose.yaml
$ curl -fsSLO https://antimatter.chat/compose.yaml
2. 创建配置,并生成随机密码
$ cat > .env <<EOF
SITE_URL=http://localhost:8065
POSTGRES_PASSWORD=$(openssl rand -hex 24)
S3_SECRET_KEY=$(openssl rand -hex 24)
GIFS_API_KEY=$(openssl rand -hex 24)
EOF
SITE_URL=http://localhost:8065
POSTGRES_PASSWORD=$(openssl rand -hex 24)
S3_SECRET_KEY=$(openssl rand -hex 24)
GIFS_API_KEY=$(openssl rand -hex 24)
EOF
将 SITE_URL 设为用户访问时使用的地址,例如局域网中的 http://192.168.1.20:8065。
3. 启动
$ docker compose up -d
首次启动需要一两分钟来创建数据库。之后在浏览器中打开 SITE_URL 并创建账号:第一个账号将成为系统管理员,设置向导会引导您创建第一个社区。
使用自己的域名和 HTTPS
将域名的 DNS 记录指向服务器,开放 80 和 443 端口,然后把域名添加到 .env 中:
$ cat >> .env <<EOF
DOMAIN=chat.example.com
EOF
$ sed -i 's|^SITE_URL=.*|SITE_URL=https://chat.example.com|' .env
$ docker compose --profile https up -d
DOMAIN=chat.example.com
EOF
$ sed -i 's|^SITE_URL=.*|SITE_URL=https://chat.example.com|' .env
$ docker compose --profile https up -d
Caddy 会从 Let's Encrypt 获取证书,并自动续期。
运行的服务
- antimatter:服务器及其应用(笔记、白板、语音频道、通话、投票等)。它不在磁盘上保存任何内容:设置存放在数据库中,文件存放在存储服务中,因此容器可以随时替换。
- postgres:数据库。
- files:RustFS,用于存放上传文件的 S3 兼容存储。
- gifs:Antimatter 的 GIF 和贴纸服务,附带一套入门贴纸包。
- https:Caddy,仅在启用
httpsprofile 时运行。
数据库、存储和 GIF 服务位于一个私有网络中,只有 Antimatter 能够访问。
如果 GIF 选择器一直为空,请打开系统控制台 › 插件 › GIFs,将服务 URL 设为
http://gifs:8080/v2,并将 API 密钥设为 .env 中的 GIFS_API_KEY。升级与备份
# 升级到最新镜像
$ docker compose pull && docker compose up -d
# 备份数据库
$ docker compose exec postgres pg_dump -U antimatter antimatter > antimatter.sql
$ docker compose pull && docker compose up -d
# 备份数据库
$ docker compose exec postgres pg_dump -U antimatter antimatter > antimatter.sql
同时请备份 files 卷,或使用任意 S3 工具复制存储内容。如需使用 nginx 和自有证书的部署方案,请参阅 antimatter-docker 中的生产环境文件。
使用发布包安装
- 准备好 PostgreSQL 数据库和用户。
- 解压发布包(
antimatter-<os>-<arch>.tar.gz),例如解压到/opt/antimatter,然后将config/config.json中的SqlSettings.DataSource(或环境变量AM_SQLSETTINGS_DATASOURCE)指向该数据库。 - 以非特权用户身份运行
bin/antimatter启动服务器,然后打开http://localhost:8065。创建的第一个账号将成为系统管理员。
bin/amctl 可在命令行中管理正在运行的服务器(在服务器本机上使用 bin/amctl --local,需启用 ServiceSettings.EnableLocalMode)。
后续步骤
- 通话:开放通话端口(默认为 UDP 和 TCP 8443),让语音和视频能够到达服务器。
- 邮件:配置 SMTP,用于发送邀请和通知。
- AI:在智能体设置中添加模型;任何兼容 OpenAI 的 API 都可以使用,包括您自行运行的服务器。
- 语音与翻译:将通话转录、朗读和自动翻译指向您自行运行的语音识别、语音合成和翻译模型。