Busabase

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.

Qué necesita el host

CPU
2 vCPU
Memoria
2 GB
Disco
10 GB
Puerto abierto
3000 + 8333/tcp

Medido en un arranque en frío con un volumen vacío: 24s hasta un servidor saludable, 548 MiB en reposo, 50 MB en /data tras el primer arranque. Dos puertos: la app, y el almacenamiento de objetos — el navegador obtiene los adjuntos directamente del almacenamiento, así que debe ser accesible. Postgres se queda dentro del contenedor.

docker run -d --name busabase \
  -p 3000:3000 \
  -p 8333:8333 \
  -v busabase-data:/data \
  --restart unless-stopped \
  busabase/busabase-premium-allinone:trial

Comprueba que funcionó

No lo supongas solo porque el contenedor esté levantado. Pregúntale al propio servidor; responde antes de que nadie inicie sesión.

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

Un servidor saludable responde con:

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

Activa tu licencia

Abre el servidor, inicia sesión como administrador, y ve a Administración del sistema → Licencia. Pega ahí el código de activación; se verifica en la propia máquina y no necesita acceso a internet. Los códigos se emiten desde tu cuenta de Busabase Cloud en Ajustes → Licencia de autoalojamiento.

Instalar en una red sin acceso a internet

Traslada la imagen como archivo. El tarball pesa unos 489 MB; comprueba el hash al llegar, porque una transferencia truncada aparece mucho después como un confuso error de ejecución.

# 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

No arranca

Recopila un paquete de diagnóstico y envíalo a support@busabase.com. Contiene registros, salida de estado de salud y metadatos de la imagen — sin credenciales: los secretos generados se escriben en /data/.credentials y nunca se registran.

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

What 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

On this page