Modèles
Déployez des applications populaires en quelques secondes avec le catalogue de modèles sh0. Parcourez plus de 170 modèles préconfigurés pour les bases de données, frameworks web, outils de développement, et plus encore.
Catalogue de modèles
Le catalogue de modèles est accessible depuis Nouvelle application → Modèles dans n'importe quel stack. Chaque modèle inclut une image Docker préconfigurée, des variables d'environnement par défaut, des montages de volumes et des bilans de santé -- tout ce qu'il faut pour faire fonctionner un service immédiatement.
Les modèles sont consultables par nom, catégorie ou tag. Vous pouvez également filtrer par catégorie à l'aide de la navigation latérale.
Catégories de modèles
Les modèles sont organisés dans les catégories suivantes :
| Catégorie | Exemples | Nombre |
|---|---|---|
| Bases de données | PostgreSQL, MySQL, MariaDB, MongoDB, Redis, ClickHouse | 18 |
| Frameworks web | WordPress, Ghost, Strapi, Directus, Payload CMS | 22 |
| Outils de développement | Gitea, Drone CI, Verdaccio, SonarQube, Sentry | 19 |
| Surveillance | Grafana, Prometheus, Uptime Kuma, Netdata | 12 |
| Communication | Mattermost, Rocket.Chat, n8n, Chatwoot | 10 |
| Stockage | MinIO, Nextcloud, Seafile, Garage | 9 |
| Analytique | Plausible, Umami, Matomo, PostHog | 8 |
| Réseau | Nginx, Traefik, WireGuard, Pi-hole | 7 |
| Autres | Vaultwarden, Planka, Bookstack, Outline | 14 |
Déploiement en un clic
Déployer un modèle ne prend qu'un seul clic. Sélectionnez un modèle dans le catalogue, vérifiez les paramètres par défaut et cliquez sur Déployer. sh0 gère tout :
- Récupère l'image Docker depuis le registre configuré
- Crée des volumes nommés pour les données persistantes
- Configure les variables d'environnement avec des valeurs par défaut sécurisées (les mots de passe aléatoires sont générés automatiquement)
- Configure les bilans de santé pour le service
- Provisionne un domaine à
app-name.your-domain.com - Émet un certificat SSL via Caddy
Personnalisation avant déploiement
Avant le déploiement, vous pouvez personnaliser n'importe quel paramètre du modèle :
- Nom de l'application : Choisir un nom pour votre service (utilisé dans l'URL)
- Tag d'image : Sélectionner une version spécifique (par ex.,
postgres:16vspostgres:15) - Variables d'environnement : Remplacer les valeurs par défaut
- Limites de ressources : Définir les limites de CPU et de mémoire pour le conteneur
- Taille du volume : Spécifier l'allocation de stockage pour les données persistantes
- Domaine : Attribuer un domaine personnalisé au lieu du sous-domaine par défaut
Création de modèles personnalisés
Vous pouvez créer vos propres modèles pour standardiser les déploiements au sein de votre équipe. Les modèles personnalisés sont définis en YAML et peuvent être ajoutés via le tableau de bord ou placés dans le répertoire templates/ sur votre serveur sh0.
Format de modèle
name: My API Template
description: Standard Node.js API with PostgreSQL
icon: server
category: web-frameworks
tags:
- nodejs
- api
- postgresql
services:
api:
image: node:20-alpine
ports:
- "3000:3000"
environment:
NODE_ENV: production
DATABASE_URL: postgres://user:pass@db:5432/api
healthcheck:
path: /health
interval: 30s
volumes:
- uploads:/app/uploads
db:
image: postgres:16
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: "{{random_password}}"
POSTGRES_DB: api
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
uploads:
pgdata:L'espace réservé undefined} est remplacé par une chaîne aléatoire sécurisée au moment du déploiement. Les autres espaces réservés disponibles incluent undefined} et undefined}.
Partage de modèles
Les modèles personnalisés placés dans le répertoire templates/ sont disponibles pour tous les utilisateurs de votre instance sh0. Vous pouvez les organiser dans des sous-répertoires par catégorie.
templates/
databases/
my-postgres-cluster.yaml
my-redis-sentinel.yaml
web/
company-api.yaml
company-frontend.yaml