Docker n'est pas une pile technologique spécifique, mais un environnement d'exécution. Tu fournis ton propre Dockerfile ou docker-compose.yml, et Saplo crée et exécute l'image. C'est l'option la plus flexible de tout le catalogue : si une application n'est pas disponible en tant que recette prête à l'emploi (Ghost, n8n, WordPress et autres), mais qu'elle a une image Docker officielle ou un fichier compose, tu pourras probablement la déployer ici, sans attendre que Saplo ajoute une recette dédiée.
À qui s'adresse Docker sur Saplo ?
Avant de commencer l'installation, vérifie si c'est le bon choix pour ton projet :
- Application avec une image Docker prête à l'emploi - l'outil que tu souhaites exécuter publie une image officielle sur Docker Hub ou GHCR,
- Plusieurs services dans un seul fichier docker-compose - application plus base de données, cache ou worker dans un seul
docker-compose.yml, - Outil non disponible dans le catalogue comme recette distincte - Docker donne accès à n'importe quel logiciel avec une image, sans attendre une recette dédiée,
- Tu as un projet avec ton propre Dockerfile et tu veux un contrôle total sur l'environnement d'exécution - dépendances, versions des bibliothèques système, tout est défini par toi-même.
Si ton projet est un Django avec un Dockerfile prêt à l'emploi, tu peux aussi envisager le stack Django dédié - Saplo le construira nativement (gunicorn, nginx pour les fichiers statiques) sans que tu aies besoin d'écrire ta propre image.
Exigences
Pour installer Docker sur Saplo, tu as besoin de :
- Un Box du plan L ou supérieur - la création d'images nécessite plus de ressources qu'une compilation statique normale, et LXC doit avoir le daemon Docker en cours d'exécution (nesting=1).
- Un minimum de 512 Mo de RAM libre et 3 Go d'espace disque pour le starter lui-même ; les images et les compilations plus lourdes nécessitent davantage.
- Un domaine ou un sous-domaine
*.saploapp.plinclus dans le prix de chaque plan. - Un dépôt Git, si tu souhaites utiliser le déploiement automatique (facultatif au début, tu peux aussi télécharger l'application via une archive
.zipvia le Panneau).
Installation étape par étape
- Dans le Panneau Saplo, accède au Catalogue d'applications et sélectionne Docker (catégorie "Applications").
- Indique une Box de plan L ou supérieur et le nom de l'application - cela génère un sous-domaine par défaut.
- Valide l'installation. Le moteur installe Docker CE et le plugin docker compose sur ta Box, s'ils ne sont pas déjà présents.
- Un starter
docker-compose.ymlest créé avec l'imagenginxdemos/hellomappée sur le port de l'application, exécuté avec l'optionrestart: unless-stopped- pour que tu aies quelque chose à voir sur le Domaine avant de déployer ton propre projet. - Une fois l'installation terminée, le Domaine de l'étape 2 affiche un conteneur de démarrage fonctionnel - à partir de ce moment, tu le remplaces par ta propre image ou ton fichier compose.
Déployer ton propre code via Git
- Dans les détails de l'application, trouve la section Git / CI-CD et clique sur « Connecter GitHub », confirme l'installation de l'application « Saplo Deploy » et indique le répertoire du projet.
- Dans le répertoire, place
Dockerfileà la racine du projet oudocker-compose.ymlsi l'application se compose de plusieurs services - Saplo détecte quelle variante est dans le répertoire et la construit en conséquence. - Dans le fichier
saplo.yaml, indique le port sur lequel ton application écoute, avec le champexpose- nginx y dirigera le trafic depuis le 80/443. - Commente et pousse les changements vers la branche de production (par défaut
main). Chaquegit pushsuivant construit une nouvelle image et remplace le conteneur. - L'image est construite directement dans ta Box - les builds plus lourds (grosses dépendances, compilation native) nécessitent un plan supérieur.
Exemple de fichier saplo.yaml minimal pour Docker :
name: my-project
stack: docker
expose: 8080
Docker sur Saplo vs. les alternatives
| VPS personnel avec Docker | Railway / Render (déploiement avec Dockerfile) | Docker sur Saplo | |
|---|---|---|---|
| Configuration du démon Docker | À faire toi-même | Entièrement géré | Préinstallé, le moteur ajoute les éléments manquants |
| Déploiements depuis Git | À configurer toi-même (CI/CD, webhooks) | Oui, nativement | Oui, git push sur la branche de production |
| Facturation | Coût fixe du serveur | Consommation des ressources, augmente avec le trafic | Coût fixe de la Box |
| Plusieurs services dans un même projet (compose) | À configurer toi-même | Généralement limité à un seul conteneur | docker-compose.yml détecté automatiquement |
Questions fréquentes
Dockerfile ou docker-compose - que choisir ? Les deux fonctionnent. Dockerfile suffit pour un service unique, choisis docker-compose si l'application nécessite plusieurs conteneurs côte à côte, par exemple, un service et Redis.
Puis-je avoir plusieurs conteneurs dans un seul fichier compose ?
Oui, tout le fichier docker-compose.yml est lancé ensemble, en maintenant le réseau entre les services.
L'image est-elle construite sur ma Box, ou en externe ? Sur ta Box - c'est pourquoi les exigences du plan sont plus élevées pour les builds lourds que pour les pages statiques simples.
Qu'en est-il des données qui doivent survivre au redémarrage du conteneur ? Les volumes fonctionnent comme dans Docker. N'oublie pas d'activer la sauvegarde dans les paramètres de l'application si les données doivent être protégées.
Est-ce que j'aurai le SSL et mon propre Domaine ?
Oui, le certificat SSL est automatique, et le Domaine ou sous-Domaine *.saploapp.pl est inclus dans le prix de chaque plan.
Avec Saplo, tu configures Docker de zéro à un Domaine fonctionnel en quelques minutes, et chaque git push suivant crée une nouvelle image et remplace le conteneur sans ton intervention. Si tu cherches un outil spécifique avec une image Docker qui n'est pas encore disponible comme recette prête à l'emploi dans le Catalogue d'applications, c'est le moyen le plus rapide de le lancer.
- #Docker
- #Docker Compose
- #Git Deploy
- #Guide
