Déployer un VPS et installer Dokploy avec le CLI
Ce tutoriel vous mène d’un compte ZSoftly Public Cloud tout neuf à un VPS fonctionnel qui exécute
Dokploy, une plateforme auto-hébergée pour déployer des applications et des
bases de données. Vous réalisez chaque étape depuis votre terminal avec le CLI zcp.
À la fin, vous disposez de :
- Un CLI authentifié sur votre machine
- Une machine virtuelle exposée sur Internet (un VPS simple) avec une IP publique et un accès SSH
- Dokploy installé et accessible dans votre navigateur
Prévoyez environ 15 minutes. L’essentiel du temps sert au démarrage de la VM et à l’installation de Dokploy.
Avant de commencer
Section intitulée « Avant de commencer »- Un compte ZSoftly Public Cloud. Créez-en un si vous n’en avez pas.
- Un terminal avec un client SSH (Terminal sur macOS ou Linux, Windows Terminal ou PowerShell sur Windows).
- Une paire de clés SSH. Ce tutoriel en crée une pour vous si vous n’en avez pas.
Étape 1 : Installer le CLI
Section intitulée « Étape 1 : Installer le CLI »Le CLI zcp est un binaire unique. Installez-le avec le script en une ligne.
# macOS et Linuxcurl -fsSL https://raw.githubusercontent.com/zsoftly/zcp-cli/main/scripts/install.sh | bash# Windows (PowerShell)irm https://raw.githubusercontent.com/zsoftly/zcp-cli/main/scripts/install.ps1 | iexVérifiez l’installation :
zcp versionPour les autres méthodes d’installation, voir le guide d’installation du CLI.
Étape 2 : S’authentifier
Section intitulée « Étape 2 : S’authentifier »Le CLI communique avec la plateforme grâce à un jeton Bearer lié à votre compte.
- Dans le portail, ouvrez Profil → Jetons d’API et créez un jeton. Copiez-le.
- Créez un profil CLI et collez le jeton à l’invite.
zcp profile add defaultVous êtes invité à saisir :
- Jeton Bearer : le jeton copié depuis le portail
- URL de l’API :
https://api.zcp.zsoftly.ca/api - Région par défaut (p. ex.
yow-1) et projet par défaut (p. ex.default-9)
Vérifiez les identifiants et laissez le CLI détecter votre fournisseur infonuagique :
zcp auth validateUne réponse positive signifie que vous êtes prêt. Le CLI enregistre votre profil sous
~/.config/zcp avec des permissions 0600.
Étape 3 : Explorer
Section intitulée « Étape 3 : Explorer »Avant de créer quoi que ce soit, listez ce qui est disponible pour votre compte. Il vous faut un slug de région, un slug de projet, un plan, un modèle (image système) et une catégorie de stockage.
# Régions où déployer (colonne SLUG, p. ex. yow-1)zcp region list
# Vos projets — notez le SLUG (il ressemble à « default-9 », pas juste « default »)zcp project list
# Plans de VM avec CPU, mémoire et prix (choisissez au moins 2 Go de RAM)zcp plan vm --region yow-1
# Modèles système de votre région (colonne SLUG, p. ex. ubuntu-2404-lts)zcp template list --region yow-1
# Catégories de stockage (une valeur de la colonne STORAGE CATEGORY, p. ex. nvme)zcp plan storage --region yow-1Notez les valeurs voulues. La suite du tutoriel utilise ce qui suit. Les vôtres seront
différentes. Le slug de projet, les modèles disponibles et les catégories de stockage valides
varient selon le compte et la région ; utilisez donc les valeurs qu’affichent vos propres commandes
list.
| Valeur | Exemple | Comment la trouver |
|---|---|---|
| Région | yow-1 | zcp region list |
| Projet | default-9 | zcp project list |
| Plan | ci1l | zcp plan vm --region <r> |
| Modèle | ubuntu-2404-lts | zcp template list --region <r> |
| Catégorie de stockage | nvme | zcp plan storage --region <r> |
Étape 4 : Ajouter votre clé SSH
Section intitulée « Étape 4 : Ajouter votre clé SSH »Vous vous connectez à la VM avec une clé SSH, pas un mot de passe. Si vous n’avez pas encore de clé, créez-en une :
ssh-keygen -t ed25519 -C "vous@exemple.com"Importez la clé publique dans votre compte et nommez-la. --project et --region sont requis.
Vous référencez ce nom au moment de créer la VM.
zcp ssh-key import \ --name my-key \ --key-file ~/.ssh/id_ed25519.pub \ --project default-9 \ --region yow-1Confirmez l’enregistrement :
zcp ssh-key listÉtape 5 : Comprendre le réseau
Section intitulée « Étape 5 : Comprendre le réseau »Une VM a besoin d’un réseau. Le CLI propose deux types :
- Isolated (par défaut) : fournit un routeur virtuel, un accès Internet sortant et la prise en charge des IP publiques. C’est ce qu’il faut pour un VPS exposé sur Internet.
- L2 : un simple segment de niveau 2, sans routeur ni IP publique. Réservez-le aux appliances qui gèrent leur propre routage, pas à un VPS public.
Vous ne créez pas le réseau séparément. Quand vous créez la VM avec un plan de réseau Isolated, la plateforme provisionne automatiquement le réseau et une IP publique (source-NAT). Listez les plans de réseau pour en choisir un :
# Plans de réseau (colonne SLUG, p. ex. pnet-yow)zcp plan network --region yow-1pnet-yow est un plan de réseau public pour la région yow. Choisissez celui qui correspond à
votre région.
Étape 6 : Créer le VPS
Section intitulée « Étape 6 : Créer le VPS »Créez la VM en une commande. Elle provisionne le réseau, attache votre clé SSH et attribue à la VM
une IP publique (source-NAT). --storage-category est requis.
zcp instance create \ --name dokploy \ --project default-9 \ --region yow-1 \ --template ubuntu-2404-lts \ --plan ci1l \ --billing-cycle hourly \ --network-type Isolated \ --network-plan pnet-yow \ --storage-category nvme \ --ssh-key my-key \ --wait--wait bloque jusqu’à ce que la VM atteigne l’état Running, généralement une à trois minutes.
Étape 7 : Trouver l’IP publique et ouvrir les ports
Section intitulée « Étape 7 : Trouver l’IP publique et ouvrir les ports »Affichez d’abord les détails de la VM pour le nom d’utilisateur de connexion (Username, les
images Ubuntu se connectent avec ubuntu) :
zcp instance get dokployzcp ip listNotez l’IP ADDRESS et le SLUG de la ligne dont la colonne VM vaut dokploy.
L’IP source-NAT donne à la VM un accès Internet sortant, mais le trafic entrant est bloqué tant
que vous ne l’ouvrez pas. Autorisez chaque port et redirigez-le vers la VM. Dokploy a besoin de
22 (SSH), 80 et 443 (vos applications et le TLS), et 3000 (le tableau de bord) :
# Remplacez <ip-slug> par le SLUG issu de `zcp ip list`for port in 22 80 443 3000; do zcp firewall create --ip <ip-slug> --protocol tcp --cidr 0.0.0.0/0 \ --start-port "$port" --end-port "$port" zcp portforward create --instance dokploy --ip <ip-slug> --protocol tcp \ --public-port "$port" --public-end-port "$port" \ --private-port "$port" --private-end-port "$port"doneÉtape 8 : Se connecter en SSH
Section intitulée « Étape 8 : Se connecter en SSH »Connectez-vous avec un client SSH ordinaire à l’IP publique de l’étape 7 :
ssh -i ~/.ssh/id_ed25519 ubuntu@<ip-publique>Si la connexion expire, vérifiez que vous avez ouvert le port 22 (étape 7) et que vous utilisez
bien l’IP publique de zcp ip list.
Étape 9 : Installer Dokploy
Section intitulée « Étape 9 : Installer Dokploy »Vous êtes maintenant sur la VM. Installez Dokploy avec son script officiel. Il s’exécute en root,
utilisez donc sudo.
curl -sSL https://dokploy.com/install.sh | sudo shL’installateur télécharge Docker, démarre Dokploy et sert le tableau de bord sur le port 3000. Il
affiche l’URL une fois terminé.
Étape 10 : Ouvrir le tableau de bord
Section intitulée « Étape 10 : Ouvrir le tableau de bord »Dans votre navigateur, allez à :
http://<ip-publique>:3000Créez votre compte administrateur au premier chargement. Vous pouvez ensuite déployer des applications depuis Git, exécuter des bases de données et ajouter des domaines avec TLS automatique.
Nettoyage
Section intitulée « Nettoyage »La facturation horaire court tant que les ressources existent. Supprimez-les une fois vos tests terminés. Supprimer la VM de cette façon libère aussi son IP source-NAT ainsi que les règles de pare-feu et de redirection de ports associées :
zcp instance delete dokploySi vous avez alloué une IP distincte pour le static NAT (l’astuce de l’étape 7), libérez-la aussi :
zcp ip listzcp ip release <ip-slug>Récapitulatif
Section intitulée « Récapitulatif »Le flux complet, du début à la fin (remplacez les slugs d’exemple par les vôtres) :
# 1. S'authentifierzcp profile add defaultzcp auth validate
# 2. Ajouter votre clé SSH (projet + région requis)zcp ssh-key import --name my-key --key-file ~/.ssh/id_ed25519.pub \ --project default-9 --region yow-1
# 3. Créer le VPS (provisionne son propre réseau + IP source-NAT)zcp instance create \ --name dokploy --project default-9 --region yow-1 \ --template ubuntu-2404-lts --plan ci1l --billing-cycle hourly \ --network-type Isolated --network-plan pnet-yow \ --storage-category nvme --ssh-key my-key --wait
# 4. Trouver l'IP publique, puis ouvrir SSH + les ports applicatifszcp ip listfor port in 22 80 443 3000; do zcp firewall create --ip <ip-slug> --protocol tcp --cidr 0.0.0.0/0 \ --start-port "$port" --end-port "$port" zcp portforward create --instance dokploy --ip <ip-slug> --protocol tcp \ --public-port "$port" --public-end-port "$port" \ --private-port "$port" --private-end-port "$port"done
# 5. Se connecter et installer Dokployssh -i ~/.ssh/id_ed25519 ubuntu@<ip-publique>curl -sSL https://dokploy.com/install.sh | sudo shÉtapes suivantes
Section intitulée « Étapes suivantes »- Référence du CLI : chaque commande et option
- Se connecter en SSH : gestion des clés et dépannage
- Redirection de ports : exposer des services précis
- Docker sur la Marketplace : une image prête à l’emploi si vous voulez Docker sans installation manuelle