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.
서버에 필요한 사양
빈 볼륨으로 콜드 스타트한 실측 결과입니다: 정상 상태까지 24초, 유휴 상태 548MiB, 최초 부팅 후 /data 용량 50MB. 포트는 두 개가 필요합니다 — 앱용과 오브젝트 스토리지용인데, 브라우저가 첨부파일을 스토리지에서 직접 가져오기 때문에 외부에서 접근 가능해야 합니다. Postgres는 컨테이너 내부에만 머뭅니다.
docker run -d --name busabase \
-p 3000:3000 \
-p 8333:8333 \
-v busabase-data:/data \
--restart unless-stopped \
busabase/busabase-premium-allinone:trial설치 확인하기
컨테이너가 떠 있다고 짐작만 하지 마세요. 서버에 직접 물어보세요 — 로그인 전에도 응답합니다.
curl -s http://localhost:3000/api/health정상적인 서버는 이렇게 응답합니다:
{"status":"ok","service":"busabase","version":"0.10.0", ...}라이선스 활성화
서버에 접속해 관리자로 로그인한 다음, 시스템 관리자 → 라이선스로 이동하세요. 활성화 코드를 붙여넣으면 됩니다. 검증은 해당 기기에서 직접 이루어지며 인터넷 연결이 필요 없습니다. 코드는 Busabase Cloud 계정의 설정 → 자체 호스팅 라이선스에서 발급받을 수 있습니다.
인터넷이 되지 않는 네트워크에 설치하기
이미지를 파일로 옮기세요. tar 파일 크기는 약 489MB이며, 도착 후 반드시 해시값을 확인하세요 — 전송이 중간에 잘리면 한참 뒤에야 알쏭달쏭한 런타임 오류로 나타납니다.
# 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.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.