Docker
Une image tout-en-un — le core et vingt-et-un modules — déployée avec sa base de données. C'est la voie la plus courte : une commande, et rien à préparer sur la machine hôte.
Pré-requis #
- Un serveur Linux x86-64 — l'image publiée n'existe pas pour ARM.
- Docker : le script l'installe lui-même s'il manque.
- Le port
8080libre, ou un autre avec--port.
PostgreSQL n'est pas dans l'image Kubuno : le déploiement lance deux conteneurs, l'un pour Kubuno, l'autre pour PostgreSQL 16. Vous n'avez rien à installer ni à configurer pour autant.
Installation #
curl -fsSL https://raw.githubusercontent.com/kubuno/docker/main/install.sh | sudo bashVotre instance répond ensuite sur http://<ip-du-serveur>:8080.
Le mot de passe du premier administrateur #
Il n'y a pas de mot de passe par défaut. Deux cas :
- vous passez
--admin-password: c'est le vôtre ; - vous n'en passez pas : le serveur en tire un au hasard, le dépose dans un fichier que lui seul peut lire, et exige son changement à la première connexion.
sudo /opt/kubuno/compose.sh exec kubuno cat /var/lib/kubuno/initial-admin-passwordAvec un domaine et HTTPS #
Le certificat est obtenu et renouvelé tout seul. Ouvrez les ports 80 et 443, et faites pointer le DNS vers le serveur avant de lancer la commande.
curl -fsSL https://raw.githubusercontent.com/kubuno/docker/main/install.sh \
| sudo bash -s -- --domain cloud.exemple.com --email vous@exemple.comLes options du script #
| Option | Effet |
|---|---|
--domain | Sert l'instance sur ce domaine, en HTTPS. |
--email | Adresse de contact pour le certificat. |
--port | Port d'écoute sur l'hôte, à la place de 8080. |
--dir | Répertoire d'installation et de données. |
--tag | Version d'image à déployer, au lieu de la plus récente. |
--admin-user, --admin-password, --admin-email | Crée le compte administrateur sans passer par l'assistant. |
--no-auto-update | N'installe pas la mise à jour automatique quotidienne. |
--uninstall | Retire l'installation. |
Mettre à jour #
Le script installe par défaut une mise à jour automatique quotidienne (une tâche cron, à 4h30). Pour mettre à jour tout de suite, relancez exactement la même commande : l'image est retéléchargée et le conteneur redémarré. Vos données, vos secrets et votre configuration sont conservés.
curl -fsSL https://raw.githubusercontent.com/kubuno/docker/main/install.sh | sudo bashDocker Compose #
Si vous préférez piloter vous-même, la même image se déploie avec Compose — y compris sur macOS et Windows via Docker Desktop.
git clone https://github.com/kubuno/docker && cd docker
cp .env.docker.example .env # renseignez les secrets
docker compose -f docker-compose.yml -f docker-compose.prod.yml pull
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -dSauvegarder #
Deux choses à emporter : la base et le volume de données (fichiers des utilisateurs, données des modules, thèmes).
sudo /opt/kubuno/compose.sh exec db pg_dump -U kubuno kubuno > kubuno.sql
# puis une copie du volume Docker kubuno-dataDésinstaller #
curl -fsSL https://raw.githubusercontent.com/kubuno/docker/main/install.sh | sudo bash -s -- --uninstallCette commande efface aussi vos données : conteneurs, images, volumes — donc la base et les fichiers — et le répertoire d'installation avec ses secrets. Elle ne demande aucune confirmation. Sauvegardez avant.
Les vingt-et-un modules sont déjà dans l'image : rien à installer en plus, et la console d'administration ne sert pas à en ajouter ici. Une autre sélection se décide au moment de construire l'image — voyez le dépôt kubuno/docker.