내 서버에 Busabase 설치하기

먼저 컨테이너 하나로 체험해보고, 프로덕션에 올릴 때는 Compose를 사용하세요. 아래 내용은 모두 그대로 복사해서 쓸 수 있으며, 미리 채워야 할 플레이스홀더는 없습니다.

서버에 필요한 사양

CPU
2 vCPU
메모리
2 GB
디스크
10 GB
열어야 할 포트
3000 + 8333/tcp

빈 볼륨으로 콜드 스타트한 실측 결과입니다: 정상 상태까지 24초, 유휴 상태 548MiB, 최초 부팅 후 /data 용량 50MB. 포트는 두 개가 필요합니다 — 앱용과 오브젝트 스토리지용인데, 브라우저가 첨부파일을 스토리지에서 직접 가져오기 때문에 외부에서 접근 가능해야 합니다. 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 계정의 설정 → 자체 호스팅 라이선스에서 발급받을 수 있습니다.

인터넷이 되지 않는 네트워크에 설치하기

이미지를 파일로 옮기세요. 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.txt