開始使用

在您自己的伺服器上執行 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

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://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

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

也請一併備份 files 磁碟區,或使用任何 S3 工具複寫儲存空間。若要搭配 nginx 與您自己的憑證,請參考 antimatter-docker 中的正式環境設定檔。

使用發行版壓縮檔

  1. 建立一個 PostgreSQL 資料庫與使用者。
  2. 解壓縮壓縮檔(antimatter-<os>-<arch>.tar.gz),例如解壓縮到 /opt/antimatter,並將 config/config.json 中的 SqlSettings.DataSource(或 AM_SQLSETTINGS_DATASOURCE 環境變數)指向該資料庫。
  3. 以非特權使用者身分執行 bin/antimatter 啟動伺服器,然後開啟 http://localhost:8065。第一個建立的帳號會成為系統管理員。

bin/amctl 可以從命令列管理執行中的伺服器(在伺服器本機上使用 bin/amctl --local,需啟用 ServiceSettings.EnableLocalMode)。

後續步驟

  • 通話:開放通話連接埠(預設為 UDP 與 TCP 8443),讓語音與視訊能連到伺服器。
  • 電子郵件:設定 SMTP,以便寄送邀請與通知。
  • AI:在代理程式設定中新增模型;任何與 OpenAI 相容的 API 都能使用,包括您自行架設的伺服器。
  • 語音與翻譯:將通話轉錄、朗讀與自動翻譯,指向您自行架設的語音轉文字、文字轉語音與翻譯模型。