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.
Ce dont l'hôte a besoin
Mesuré au démarrage à froid avec un volume vide : 24 s pour atteindre un serveur sain, 548 Mio au repos, 50 Mo dans /data après le premier démarrage. Deux ports : l'application, et le stockage d'objets — le navigateur récupère les pièces jointes directement depuis le stockage, qui doit donc être accessible. Postgres reste à l'intérieur du conteneur.
docker run -d --name busabase \
-p 3000:3000 \
-p 8333:8333 \
-v busabase-data:/data \
--restart unless-stopped \
busabase/busabase-premium-allinone:trialVérifiez que ça a fonctionné
Ne devinez pas simplement parce que le conteneur tourne. Interrogez le serveur lui-même ; il répond avant même que quiconque se connecte.
curl -s http://localhost:3000/api/healthUn serveur en bonne santé répond avec :
{"status":"ok","service":"busabase","version":"0.10.0", ...}Activez votre licence
Ouvrez le serveur, connectez-vous en tant qu'administrateur, et allez dans Administration système → Licence. Collez-y le code d'activation ; il est vérifié sur la machine elle-même et ne nécessite aucun accès internet. Les codes sont émis depuis votre compte Busabase Cloud, sous Paramètres → Licence auto-hébergée.
Installation sur un réseau sans accès internet
Transférez l'image comme un fichier. L'archive fait environ 489 Mo ; vérifiez le hash à l'arrivée, car un transfert tronqué ne se révèle que bien plus tard sous la forme d'une erreur d'exécution déroutante.
# 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Ça ne démarre pas
Collectez un pack de diagnostic et envoyez-le à support@busabase.com. Il contient les logs, la sortie de santé et les métadonnées de l'image — aucune information d'identification : les secrets générés sont écrits dans /data/.credentials et ne sont jamais journalisés.
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.