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.
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 \
-v busabase-data:/data \
--restart unless-stopped \
busabase/busabase-premium-allinone:trialConfira 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.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.