Docs / Premiers pas / Votre premier déploiement

Votre premier déploiement

Déployez votre première application sur sh0 en moins de cinq minutes. Ce guide vous accompagne à chaque étape, de la création d'un stack jusqu'à la mise en ligne de votre application.

Vue d'ensemble

Déployer une application sur sh0 suit un flux simple :

  1. Créer un stack -- Un stack regroupe les services liés (comme une application et sa base de données).
  2. Ajouter une application -- Pointez sh0 vers un dépôt Git ou choisissez un modèle.
  3. Configurer le domaine -- Attribuez un domaine ou utilisez le sous-domaine *.sh0.app par défaut.
  4. Déployer -- sh0 construit et lance votre application automatiquement.
  5. Vérifier -- Visitez votre application et confirmez que tout fonctionne.
Tip
Pour ce guide, nous allons déployer une application Node.js simple depuis un dépôt Git public. Vous pouvez suivre avec votre propre projet ou utiliser notre dépôt d'exemple.

Étape 1 : Créer un stack

Les stacks sont l'unité d'organisation de premier niveau dans sh0. Considérez un stack comme un dossier de projet qui regroupe une application avec ses services associés (bases de données, caches, workers).

  1. Depuis le tableau de bord, cliquez sur le bouton Nouveau stack dans le coin supérieur droit.
  2. Saisissez un nom pour votre stack (par ex., my-first-app).
  3. Ajoutez éventuellement une description pour identifier le stack ultérieurement.
  4. Cliquez sur Créer le stack.
New Stack dialog with a name field showing 'my-first-app', a description field, and a Create Stack button
Creating a new stack

Votre nouveau stack apparaît dans la liste des stacks. Cliquez dessus pour ouvrir la vue détaillée du stack, où vous ajouterez votre première application.

Empty stack detail view with an 'Add App' button prominently displayed in the center, plus tabs for Apps, Environment, Settings
A fresh stack ready for its first app

Étape 2 : Ajouter une application

À l'intérieur de votre stack, cliquez sur Ajouter une application. Vous pouvez déployer depuis un dépôt Git, une image Docker ou un modèle préconstruit.

Depuis un dépôt Git

La façon la plus courante de déployer. Fournissez une URL Git et sh0 gère le reste :

  1. Sélectionnez Dépôt Git comme source.
  2. Saisissez l'URL du dépôt. Pour cet exemple, utilisez notre application de démonstration :
    Repository URL
    https://github.com/sh0-dev/demo-node-app
  3. Choisissez la branche à déployer (par défaut main).
  4. sh0 détecte automatiquement la pile technologique du projet (Node.js, Python, Go, etc.) et sélectionne la configuration de build appropriée.
  5. Cliquez sur Ajouter l'application.
Add App form showing Git Repository selected, with a URL field containing a GitHub URL, branch selector set to 'main', and auto-detected stack showing 'Node.js'
Adding an app from a Git repository
Dépôts privés
Pour les dépôts privés, vous devez d'abord connecter un fournisseur Git. Allez dans Paramètres > Fournisseurs Git pour lier votre compte GitHub, GitLab ou Bitbucket. Vous pouvez également ajouter une clé SSH de déploiement.

Depuis un modèle

Si vous souhaitez déployer une application populaire sans écrire de code, utilisez un modèle :

  1. Sélectionnez Modèle comme source.
  2. Parcourez ou recherchez dans la bibliothèque de modèles (plus de 170 options, dont WordPress, Ghost, Plausible, Uptime Kuma, et plus).
  3. Cliquez sur un modèle pour voir ses détails -- ressources requises, services inclus et configuration par défaut.
  4. Cliquez sur Déployer le modèle.
Template gallery showing a grid of application templates with icons, names, and descriptions -- WordPress, PostgreSQL, Redis, Ghost, Plausible, Uptime Kuma visible
Browse over 170 one-click deploy templates

Étape 3 : Configurer le domaine

Chaque application a besoin d'un domaine pour être accessible. sh0 offre deux options :

Sous-domaine par défaut

sh0 attribue automatiquement un sous-domaine comme my-first-app.sh0.app. Aucune configuration DNS nécessaire -- parfait pour les tests.

Domaine personnalisé

Utilisez votre propre domaine (par ex., app.yourdomain.com). Nécessite l'ajout d'un enregistrement A pointant vers l'IP de votre serveur. Le SSL est automatique.

Pour configurer un domaine pour votre application :

  1. Dans les paramètres de votre application, allez dans l'onglet Domaines.
  2. Cliquez sur Ajouter un domaine.
  3. Saisissez votre nom de domaine (ou conservez le sous-domaine .sh0.app par défaut).
  4. Si vous utilisez un domaine personnalisé, ajoutez un enregistrement A chez votre fournisseur DNS pointant vers l'adresse IP de votre serveur.
  5. Cliquez sur Enregistrer. sh0 provisionnera automatiquement un certificat SSL.
Domain configuration tab showing a domain input field, DNS instructions with the server IP, and an SSL status indicator showing 'Certificate Active'
Adding a custom domain with automatic SSL

Étape 4 : Déployer

Votre application étant configurée, il est temps de déployer. Cliquez sur le bouton Déployer. sh0 va :

  1. Cloner le dépôt Git (ou récupérer l'image Docker)
  2. Détecter la pile technologique du projet et générer un Dockerfile
  3. Construire l'image du conteneur
  4. Démarrer le nouveau conteneur et exécuter les bilans de santé
  5. Configurer le reverse proxy pour acheminer le trafic
  6. Marquer le déploiement comme en production
Deployment progress view showing a real-time build log with steps: Cloning repository, Detecting stack (Node.js 20), Building image, Starting container, Running health check, Configuring proxy -- each with a green checkmark
Real-time deployment progress with build logs

Vous pouvez suivre les logs de build en temps réel. Un déploiement typique pour une application Node.js prend 30 à 90 secondes, selon la taille de vos dépendances.

Cache de build
sh0 met en cache les couches Docker entre les builds. Les déploiements suivants sont considérablement plus rapides car seules les couches modifiées doivent être reconstruites. Un build Node.js mis en cache se termine généralement en moins de 15 secondes.
Build log showing detailed output: npm install progress, dependency tree, build output, and final container start confirmation
Detailed build output during deployment

Étape 5 : Vérifier

Une fois le déploiement terminé, votre application est en ligne. Vérifiez qu'elle fonctionne :

  1. Cliquez sur le lien du domaine affiché dans l'aperçu de l'application pour ouvrir votre application dans un nouvel onglet.
  2. Vérifiez l'indicateur de statut de l'application -- il devrait afficher un badge vert En cours d'exécution.
  3. Consultez l'entrée de déploiement dans l'onglet Déploiements pour voir l'historique complet.
App overview page showing status 'Running' with a green badge, the domain link, resource usage (CPU, memory), uptime, and deployment history below
Your app is live and running

Vous pouvez également vérifier depuis la ligne de commande :

Terminal
curl -I https://my-first-app.sh0.app
Response
HTTP/2 200
content-type: text/html; charset=utf-8
server: Caddy
x-powered-by: sh0
Propagation DNS
Si vous avez utilisé un domaine personnalisé, la propagation DNS peut prendre jusqu'à 24 heures, bien que la plupart des mises à jour se terminent en quelques minutes. Utilisez le sous-domaine .sh0.app par défaut pour un accès immédiat en attendant.

Prochaines étapes

Félicitations -- votre première application est déployée. Voici quelques prochaines étapes recommandées :