Aller au contenu
En direct Crédit de 100 $ à l'inscription, jusqu'à 300 $ au total L'offre se termine le 31 décembre 2026 Commencer →

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.

  • 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.

Le CLI zcp est un binaire unique. Installez-le avec le script en une ligne.

# macOS et Linux
curl -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 | iex

Vérifiez l’installation :

zcp version

Pour les autres méthodes d’installation, voir le guide d’installation du CLI.

Le CLI communique avec la plateforme grâce à un jeton Bearer lié à votre compte.

  1. Dans le portail, ouvrez Profil → Jetons d’API et créez un jeton. Copiez-le.
  2. Créez un profil CLI et collez le jeton à l’invite.
zcp profile add default

Vous ê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 validate

Une réponse positive signifie que vous êtes prêt. Le CLI enregistre votre profil sous ~/.config/zcp avec des permissions 0600.

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-1

Notez 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.

ValeurExempleComment la trouver
Régionyow-1zcp region list
Projetdefault-9zcp project list
Planci1lzcp plan vm --region <r>
Modèleubuntu-2404-ltszcp template list --region <r>
Catégorie de stockagenvmezcp plan storage --region <r>

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-1

Confirmez l’enregistrement :

zcp ssh-key list

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-1

pnet-yow est un plan de réseau public pour la région yow. Choisissez celui qui correspond à votre région.

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 dokploy
zcp ip list

Notez 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

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.

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 sh

L’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é.

Dans votre navigateur, allez à :

http://<ip-publique>:3000

Cré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.

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 dokploy

Si vous avez alloué une IP distincte pour le static NAT (l’astuce de l’étape 7), libérez-la aussi :

zcp ip list
zcp ip release <ip-slug>

Le flux complet, du début à la fin (remplacez les slugs d’exemple par les vôtres) :

# 1. S'authentifier
zcp profile add default
zcp 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 applicatifs
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
# 5. Se connecter et installer Dokploy
ssh -i ~/.ssh/id_ed25519 ubuntu@<ip-publique>
curl -sSL https://dokploy.com/install.sh | sudo sh