Instale o Busabase no seu próprio servidor
Um container para testar, Compose quando for para produção. Tudo abaixo é copia-e-cola; nada aqui precisa de um placeholder preenchido antes.
O que o host precisa
Medido em uma inicialização a frio com volume vazio: 24s até um servidor saudável, 548 MiB ocioso, 50 MB em /data após o primeiro boot. Duas portas: a aplicação e o armazenamento de objetos — o navegador busca os anexos direto do armazenamento, então ele precisa estar acessível. O Postgres fica dentro do container.
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.internalConfira se deu certo
Não adivinhe só porque o container está rodando. Pergunte ao próprio servidor; ele responde antes mesmo de alguém fazer login.
curl -s http://localhost:3000/api/healthUm servidor saudável responde com:
{"status":"ok","service":"busabase","version":"0.10.0", ...}Ative sua licença
Abra o servidor, faça login como administrador e vá em Admin do Sistema → Licença. Cole o código de ativação lá; ele é verificado na própria máquina e não precisa de acesso à internet. Os códigos são emitidos na sua conta Busabase Cloud em Configurações → Licença de hospedagem própria.
Instalando em uma rede sem acesso à internet
Mova a imagem como um arquivo. O tarball tem cerca de 489 MB; confira o hash na chegada, porque uma transferência truncada só aparece muito depois como um erro de runtime confuso.
# 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.tarNão está iniciando
Colete um pacote de diagnóstico e envie para support@busabase.com. Ele contém logs, resultado de health check e metadados da imagem — sem nenhuma credencial: os segredos gerados são gravados em /data/.credentials e nunca aparecem nos logs.
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