Quickstart
Install Busabase on your own server with one command, check it actually worked, and activate your licence — including on a network with no internet access.
This is the same guide published at busabase.com/self-hosted/install. It is repeated here because the docs ship inside the image: on a network that cannot reach busabase.com, this page still opens.
Máy chủ cần những gì
Đo trên một lần khởi động lạnh với volume trống: 24 giây để máy chủ vào trạng thái khỏe mạnh, 548 MiB khi rảnh, 50 MB trong /data sau lần khởi động đầu tiên. Hai cổng: ứng dụng, và bộ nhớ đối tượng — trình duyệt lấy tệp đính kèm trực tiếp từ bộ nhớ, nên cổng đó phải có thể truy cập được. Postgres vẫn nằm bên trong container.
docker run -d --name busabase \
-p 3000:3000 \
-p 8333:8333 \
-v busabase-data:/data \
--restart unless-stopped \
busabase/busabase-premium-allinone:trialKiểm tra đã cài đặt thành công
Đừng đoán chỉ vì container đang chạy. Hãy hỏi trực tiếp máy chủ; nó sẽ trả lời trước cả khi có ai đăng nhập.
curl -s http://localhost:3000/api/healthMột máy chủ khỏe mạnh sẽ trả về:
{"status":"ok","service":"busabase","version":"0.10.0", ...}Kích hoạt giấy phép của bạn
Mở máy chủ, đăng nhập với tư cách quản trị viên, rồi vào Quản trị hệ thống → Giấy phép. Dán mã kích hoạt vào đó; mã được xác minh ngay trên máy và không cần kết nối internet. Mã được cấp từ tài khoản Busabase Cloud của bạn, trong Cài đặt → Giấy phép tự lưu trữ.
Cài đặt trên mạng không có internet
Di chuyển image dưới dạng một tệp. Tệp tar nặng khoảng 489 MB; hãy kiểm tra hash ngay khi nhận được, vì một lần truyền bị ngắt giữa chừng sẽ xuất hiện muộn hơn nhiều dưới dạng một lỗi runtime khó hiểu.
# 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.tarKhông khởi động được
Thu thập một gói chẩn đoán và gửi đến support@busabase.com. Gói này chứa log, kết quả kiểm tra tình trạng và metadata của image — không chứa bất kỳ thông tin xác thực nào: các secret được tạo ra được ghi vào /data/.credentials và không bao giờ được ghi vào log.
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.txtWhat happens on first boot
The container generates its own credentials — the Postgres password, the object-storage keys, the session secret — writes them to /data/.credentials with mode 600, and reuses them on every later start. Nothing is baked into the image, so two people who pull the same image do not end up sharing secrets.
It then runs the database migrations and starts the app. On an empty volume this takes about 24 seconds end to end, most of it Postgres initialising itself for the first time. Later restarts skip both and are much faster.
Back up /data/.credentials along with your data. It is the only copy of those secrets — regenerating them would leave you with a database you cannot open.
Next
- Setting up for real use → Production with Compose
- Activating or renewing → Licensing
- Something went wrong → Troubleshooting
Self-hosting Busabase
Which edition you need, what each deployment shape costs you in operational effort, and the measured hardware requirements — so you can decide before you download anything.
Production with Compose
The four-service Compose deployment — Postgres, object storage, a one-shot migration job and the app — plus TLS, external databases, and the credential trap that breaks attachment uploads.