Installer Busabase sur votre propre serveur
Un conteneur pour essayer, Compose quand ça passe en production. Tout ci-dessous est copier-coller ; rien ici n'a besoin d'un espace réservé à remplir au préalable.
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 \
-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.internalVé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.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