在你自己的伺服器上安裝 Busabase

試用用單一容器就好,正式上線再用 Compose。以下內容全部可以直接複製貼上,不需要先填入任何佔位符。

主機需求

CPU
2 vCPU
記憶體
2 GB
磁碟空間
10 GB
需開放的連接埠
3000 + 8333/tcp

在空資料磁碟區冷啟動下實測:24 秒進入健康狀態,閒置時佔用 548 MiB,首次啟動後 /data 佔 50 MB。對外需開放兩個連接埠:應用程式本身,以及物件儲存 —— 瀏覽器會直接從物件儲存取得附件,因此該連接埠必須可連線。Postgres 則留在容器內部,不對外開放。

docker run -d --name busabase \
  -p 3000:3000 \
  -p 8333:8333 \
  -e APP_URL=http://localhost:3000 \
  -v busabase-data:/data \
  --restart unless-stopped \
  busabase/busabase-premium-allinone:latest

確認安裝成功

不要只憑容器正在執行就下結論。直接詢問伺服器本身 —— 在任何人登入之前,它就會回應。

curl -s http://localhost:3000/api/health

健康的伺服器會回覆:

{"status":"ok","service":"busabase","version":"0.10.0", ...}

啟用你的授權

開啟伺服器,以管理員身分登入,進入「系統管理 → 授權」,把啟用碼貼在那裡。驗證會在本機完成,不需要連上網際網路。啟用碼可從你的 Busabase Cloud 帳號「設定 → 自託管授權」中取得。

在無法連上網際網路的內網中安裝

把映像檔當成一般檔案搬移過去。壓縮檔大約 489 MB;抵達後務必核對雜湊值,因為傳輸過程中若被截斷,問題往往要到很久之後才會以一個莫名其妙的執行階段錯誤浮現。

# On a machine with internet access
docker pull busabase/busabase-premium-allinone:latest
docker save busabase/busabase-premium-allinone:latest -o busabase-premium-allinone.tar
sha256sum busabase-premium-allinone.tar > busabase-premium-allinone.tar.sha256

# Move both files to the target host, then
sha256sum -c busabase-premium-allinone.tar.sha256
docker load -i busabase-premium-allinone.tar

無法啟動

收集一份診斷包,寄送到 support@busabase.com。裡面包含記錄檔、健康檢查輸出與映像檔中繼資料 —— 不含任何憑證:系統產生的密鑰會寫入 /data/.credentials,永遠不會被記錄下來。

docker logs --tail 500 busabase > sb-logs.txt 2>&1
curl -s http://localhost:3000/api/health > sb-health.json
docker inspect busabase --format '{{.Config.Image}} {{.State.Status}}' > sb-meta.txt
tar czf busabase-support.tar.gz sb-logs.txt sb-health.json sb-meta.txt