Instala Busabase en tu propio servidor
Un contenedor para probarlo, Compose cuando pase a producción. Todo lo de abajo es copiar y pegar; nada aquí necesita rellenar un marcador de posición primero.
Qué necesita el host
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 \
-e APP_URL=http://localhost:3000 \
-v busabase-data:/data \
--restart unless-stopped \
busabase/busabase-premium-allinone:latestgit clone https://github.com/busabase/busabase-premium.git
cd busabase-premium/compose
# Generates .env and seaweed-s3.json with matching random credentials.
# Doing this by hand is the single most common cause of "the app starts
# but every attachment upload fails".
./init.sh
BUSABASE_IMAGE=busabase/busabase-premium:latest docker compose up -dgit clone https://github.com/busabase/busabase-premium.git
helm install busabase ./busabase-premium/helm \
--namespace busabase --create-namespace \
--set image.tag=<version> \
--set appUrl=https://busabase.company.internal
# Bring your own Postgres and S3 (recommended for production):
# --set postgres.mode=external --set postgres.external.host=pg.company.internal
# --set storage.mode=external --set storage.publicHost=s3.company.internalComprueba 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/healthUn 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.tarNo 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./support-bundle.shkubectl logs -l app.kubernetes.io/name=busabase-premium --tail=500 > sb-logs.txt
kubectl get pods -l app.kubernetes.io/name=busabase-premium -o wide > sb-pods.txt
tar czf busabase-support.tar.gz sb-logs.txt sb-pods.txt