開始使用
在您自己的伺服器上執行 Antimatter
一個檔案、三道指令、大約十分鐘:在任何裝有 Docker 的 Linux 伺服器上,執行 Antimatter 及其資料庫、檔案儲存空間與 GIF 服務。
十分鐘內即可上線
您需要一台安裝了 Docker 及其 Compose 外掛程式的 Linux 伺服器,配備至少 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,僅在使用
https設定檔時啟動。
資料庫、儲存空間與 GIF 服務位於私人網路中,只有 Antimatter 能存取。
如果 GIF 選擇器一直是空的,請開啟 系統控制台 › 擴充程式 › GIFs,將服務網址設為
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 都能使用,包括您自行架設的伺服器。
- 語音與翻譯:將通話轉錄、朗讀與自動翻譯,指向您自行架設的語音轉文字、文字轉語音與翻譯模型。