Configuration du serveur
Avant de démarrer sh0, vous n'avez que deux choses à faire : définir le nom d'hôte de votre serveur et pointer votre DNS vers lui. sh0 gère tout le reste.
Commencez avec un serveur propre
sh0 est conçu pour être installé sur un serveur propre. Il gère automatiquement Docker, Caddy et tout le réseau. Utiliser un serveur propre évite les conflits avec les services existants sur les ports 80 et 443.
sh0 serve en tant que root, il détecte les dépendances manquantes et les installe pour vous.Définir le nom d'hôte
Définissez le nom d'hôte de votre serveur pour correspondre au domaine que vous utiliserez pour le tableau de bord sh0. Cela garantit que les certificats SSL et le routage du reverse proxy fonctionnent correctement.
# Set the hostname (replace with your actual domain)
sudo hostnamectl set-hostname panel.example.comPuis mettez à jour /etc/hosts pour que le serveur puisse résoudre son propre nom d'hôte :
# Add this line (use your server's public IP)
203.0.113.10 panel.example.comVérifiez que le nom d'hôte est défini :
hostname -f
# Should output: panel.example.comConfigurer le DNS
Dans votre fournisseur DNS (Cloudflare, Namecheap, Route 53, etc.), créez deux enregistrements A pointant vers l'adresse IP de votre serveur :
| Type | Nom | Valeur | Objectif |
|---|---|---|---|
| A | panel.example.com | L'IP de votre serveur | Tableau de bord sh0 |
| A (wildcard) | *.example.com | L'IP de votre serveur | Les applications déployées obtiennent des sous-domaines automatiques |
*.example.com) permet à sh0 d'attribuer automatiquement des sous-domaines comme myapp.example.com à chaque application déployée. Sans lui, vous devrez créer des enregistrements DNS individuels pour chaque application.Démarrer sh0
Une fois votre nom d'hôte et DNS configurés, démarrez sh0 avec votre domaine :
sh0 serve --panel-domain panel.example.com --base-domain example.comAu premier lancement, sh0 va :
- Détecter et installer Docker Engine si absent
- Détecter et installer Caddy (reverse proxy) si absent
- Initialiser la base de données et générer les clés de chiffrement
- Démarrer le tableau de bord sur le port 9000
- Provisionner les certificats SSL via Let's Encrypt
Ce que sh0 installe automatiquement
Lorsqu'il est exécuté en tant que root sur Linux, sh0 serve provisionne automatiquement ces dépendances si elles ne sont pas déjà présentes :
| Dépendance | Méthode d'installation | Objectif |
|---|---|---|
| Docker Engine | get.docker.com | Runtime de conteneurs pour les applications déployées |
| Caddy | Dépôt APT officiel ou téléchargement du binaire | Reverse proxy avec SSL automatique |
Vous pouvez également exécuter les vérifications de provisionnement sans démarrer le serveur :
sh0 setup