Aller au contenu

AS213941 · Peering-20 % sur tous les VPS avec le code NVH20 · Livraison en 60 secondes

VPS LinuxDès 2,49 €/moisVPS WindowsDès 3,49 €/moisServeur FiveMDès 0,99 €/moisServeur MinecraftDès 1,99 €/mois
VPS & Cloud

Gammes

VPS Linux NVMeAccès root, Debian, Ubuntu, Alma…VPS Windows RDPBureau à distance, licence incluseServeurs dédiésIntel Xeon Gold, ressources exclusivesVPS PterodactylPanel de jeux préinstallé

Réseau et hébergement

Anti-DDoSHébergement webHousingTransit IPVPN

Professionnels

VPS revendeurProgramme revendeur
Solutions

Bots et automatisation

VPS agents IAUn serveur pour vos assistants de code et agents autonomesVPS OllamaVotre IA privée sans GPU, données en FranceVPS bot TelegramPython ou Node.js, toujours joignableVPS bot DiscordMusique, modération, tickets : sans interruptionVPS n8nWorkflows sans limite d'exécutionsVPS VPNUn tunnel chiffré qui sort par la FranceVPS web scrapingCollecte de données planifiée, IP dédiée

Trading

VPS ForexVos robots gèrent les positions la nuitVPS MetaTrader 4Plusieurs terminaux MT4 sur une machineVPS MetaTrader 5Forex, indices et actions dans MT5VPS NinjaTraderFutures et stratégies NinjaScriptVPS prop firmChallenges et comptes financés, terminal toujours en ligneVPS trading AfriqueMetaTrader à Paris, depuis le Maghreb ou l'Afrique de l'OuestVPS RDPBureau à distance Windows, toujours alluméVPS bot de tradingBots crypto open source, clés API protégées

Bureau Windows

VPS Windows 10Pour vos logiciels qui exigent Windows 10VPS Windows 11Le poste Windows récent, accessible partoutVPS SEOCrawls de gros sites sans bloquer votre PCVPS streamingUn studio OBS qui diffuse depuis le datacenterVPS WordPressSites rapides sur disque NVMe
Marketplace

Intelligence artificielle

OllamaDes modèles de langage locaux, sans API externeOpen WebUIUne interface de discussion pour vos modèles OllamaAnythingLLMAssistant IA privé sur vos documents (PDF, sites, notes) : espaces de travail, recherche…LangflowÉditeur visuel Langflow pour construire agents, flux RAG et API d'IA, protégé par votre…FlowiseCréez visuellement vos agents et chatbots IA (LangChain, RAG, outils) avec Flowise, votre…QdrantBase de données vectorielle Qdrant pour vos projets RAG et de recherche sémantique, API…

Trading

MetaTrader 5Terminal MetaTrader 5 officiel (MetaQuotes) installé en mode portable, raccourci sur le…MetaTrader 4Terminal MetaTrader 4 officiel (MetaQuotes) installé en mode portable, raccourci sur le…Pack VPS Forex (MT4 + MT5)MetaTrader 4 et MetaTrader 5 installés ensemble, chacun dans son dossier portable, VPS…NinjaTrader 8Plateforme NinjaTrader 8 avec ses prérequis (.NET 4.8, WebView2) : installée à partir du…FreqtradeRobot de trading crypto open source avec son interface FreqUI, installé en mode…Interactive Brokers TWS / IB GatewayTrader Workstation ou IB Gateway (pour l'API et les robots) d'Interactive Brokers…

Bots et agents

Claude CodeL'agent de code d'Anthropic, dans votre terminalCodex CLIL'agent de code d'OpenAI en ligne de commandeBot TelegramHébergez votre bot Telegram (Python, Node.js ou Bun) : votre code depuis Git ou une…Bot DiscordHébergez votre bot Discord (discord.py, discord.js, Bun…) : votre code depuis Git ou une…OpenClawAssistant IA personnel open source OpenClaw, actif 24 h/24 : discutez avec lui sur…Hermes AgentAgent IA autonome open source de Nous Research, avec mémoire et compétences qui…

Déploiement et automatisation

DockerLe moteur de conteneurs et Docker Composen8nVos automatisations, sans limite d'exécutionsPortainerGérez vos conteneurs Docker depuis le navigateurCoolifyDéployez vos applications depuis Git, sur votre serveurUptime KumaSurveillez vos sites et serveurs, alertes comprises

Sites et bases de données

WordPressLe CMS le plus utilisé, sur une pile Nginx rapideApache + PHP + MySQLServeur web prêt à héberger vos sites : Apache2, PHP et ses extensions courantes, MariaDB…MySQL (MariaDB)Serveur de base de données MariaDB compatible MySQL, avec votre base et votre…PleskPanel d'hébergement Plesk Obsidian installé avec ses composants recommandés : sites…NextcloudVotre cloud de fichiers, agenda et contacts

Réseau et sécurité

WireGuardVotre VPN chiffré, préinstallé en option payanteVaultwardenUn gestionnaire de mots de passe auto-hébergé

Serveurs de jeu

FiveMServeur FiveM (FXServer + txAdmin), MariaDB et phpMyAdmin installés et configurés, sous…MinecraftServeur Minecraft Java Edition clé en main : Paper, Purpur, Fabric, NeoForge, Forge ou…RustServeur Rust (Facepunch) avec LinuxGSM : mises à jour automatiques, redémarrage après…Counter-Strike 2Serveur Counter-Strike 2 dédié avec LinuxGSM (environ 60 Go à télécharger), jeton GSLT…PalworldServeur Palworld dédié avec LinuxGSM : nom, mot de passe, nombre de joueurs et mot de…ValheimServeur Valheim dédié avec LinuxGSM, protégé par mot de passe (exigé par le jeu)…
Gaming

Serveurs de jeux

Serveur FiveMtxAdmin, ESX, QBCoreServeur MinecraftJava, Bedrock, modpacksServeur RustOxide, Carbon, wipesServeur Nova-LifeRP Nova-Life: Amboise

Protection et outils

Anti-DDoS FiveMOutils gratuits
Ressources

Apprendre

DocumentationBlog

Assistance

ContactEngagement SLA
Voir les offres Espace client Peering · AS213941

Installation

Installer Docker et Docker Compose sur un VPS

Par Équipe NVHCloud 2026-09-18 Lecture : 4 min

Docker empaquette une application avec tout ce dont elle a besoin pour tourner. Sur un VPS, cela veut dire installer n8n, une base PostgreSQL, un bot Discord ou un outil de supervision en une commande, sans conflit de versions entre eux, et les déplacer d'un serveur à l'autre sans rien réinstaller. Docker Compose décrit l'ensemble dans un seul fichier lisible.

1. Pourquoi Docker sur un VPS

  • Isolation : chaque application a ses propres bibliothèques. Mettre à jour l'une ne casse pas l'autre.
  • Reproductibilité : le fichier compose.yaml décrit tout le déploiement. Le même fichier fonctionne sur un autre serveur.
  • Catalogue : la plupart des logiciels libres publient une image officielle prête à l'emploi.

La contrepartie : un peu de mémoire en plus, et quelques pièges réseau décrits plus bas. Pour un VPS qui fait tourner plusieurs services, le bilan est très largement positif.

2. Installer Docker Engine depuis le dépôt officiel

Les paquets docker.io des distributions sont souvent en retard de plusieurs versions et n'incluent pas toujours Compose. Installez la version officielle de Docker. Retirez d'abord les éventuels anciens paquets :

for p in docker.io docker-doc docker-compose podman-docker containerd runc; do
  apt remove -y $p 2>/dev/null
done

Ajoutez ensuite le dépôt de Docker, puis installez :

apt update && apt install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
. /etc/os-release
curl -fsSL https://download.docker.com/linux/$ID/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \
  https://download.docker.com/linux/$ID $VERSION_CODENAME stable" \
  > /etc/apt/sources.list.d/docker.list
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

La variable $ID vaut ubuntu ou debian selon votre système : la même commande fonctionne sur les deux.

3. Vérifier l'installation

docker run --rm hello-world
docker compose version

La première commande télécharge une image de test et affiche un message de bienvenue. Notez la syntaxe docker compose, avec une espace : c'est la version actuelle, intégrée à Docker. L'ancienne commande docker-compose avec un tiret n'est plus maintenue.

4. Utilisateur et droits

Pour utiliser Docker sans sudo, ajoutez votre utilisateur au groupe docker, puis reconnectez-vous :

usermod -aG docker alex
⚠️ Appartenir au groupe docker revient à être root sur le serveur : un membre peut monter n'importe quel dossier du système dans un conteneur. N'y ajoutez que des comptes de confiance.

5. Premier projet avec Docker Compose

Chaque projet vit dans son propre dossier, avec un fichier compose.yaml. Exemple : l'outil de supervision Uptime Kuma, qui vérifie que vos sites répondent.

mkdir -p /opt/uptime-kuma && cd /opt/uptime-kuma
cat > compose.yaml <<'EOF'
services:
  kuma:
    image: louislam/uptime-kuma:1
    restart: unless-stopped
    volumes:
      - ./data:/app/data
    ports:
      - "127.0.0.1:3001:3001"
EOF
docker compose up -d

Trois choix de ce fichier sont des bonnes pratiques à reprendre partout :

  • Une version d'image précise (:1) plutôt que :latest, pour qu'une mise à jour majeure ne s'installe pas sans que vous l'ayez décidé.
  • Un volume (./data) pour les données : un conteneur peut être supprimé et recréé à tout moment, seul le volume persiste.
  • Un port lié à 127.0.0.1 : l'application n'est joignable que depuis le serveur, et sera publiée proprement en HTTPS par Nginx.
⚠️ Docker contourne le pare-feu UFW. Un port publié sous la forme "3001:3001" est accessible depuis Internet, même si UFW ne l'autorise pas. Liez à 127.0.0.1 tout ce qui n'a pas vocation à être public. Détails dans configurer UFW.

6. Exposer une application en HTTPS

Le plus simple est d'utiliser Nginx installé sur le serveur comme point d'entrée unique, avec un bloc par application :

server {
    server_name status.monsite.fr;
    location / {
        proxy_pass http://127.0.0.1:3001;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
    listen 80;
}

Les deux lignes Upgrade et Connection sont nécessaires aux applications qui utilisent des WebSockets, comme Uptime Kuma ou n8n. Obtenez ensuite le certificat avec Certbot : voir Nginx et HTTPS. Pour un exemple complet avec base de données, voir installer n8n sur un VPS avec Docker.

7. Limiter la taille des journaux

Par défaut, Docker conserve les journaux des conteneurs sans limite de taille. Un conteneur bavard peut remplir le disque en quelques semaines. Fixez une limite globale :

cat > /etc/docker/daemon.json <<'EOF'
{
  "log-driver": "json-file",
  "log-opts": { "max-size": "10m", "max-file": "3" }
}
EOF
systemctl restart docker

La limite s'applique aux conteneurs créés après ce changement. Recréez les conteneurs existants avec docker compose up -d --force-recreate.

8. Mettre à jour les conteneurs

cd /opt/uptime-kuma
docker compose pull
docker compose up -d
docker image prune -f

Compose ne recrée que les conteneurs dont l'image a changé ; la dernière commande supprime les anciennes images inutilisées. Lisez les notes de version avant de changer de version majeure, surtout pour les bases de données.

9. Sauvegarder

Sauvegardez le dossier du projet, qui contient le fichier Compose et les volumes. Pour une base de données, n'utilisez pas la copie brute des fichiers pendant qu'elle tourne : exportez-la d'abord depuis le conteneur.

docker compose exec -T postgres pg_dump -U n8n n8n | gzip > /var/backups/n8n.sql.gz

Adaptez le nom du service, de l'utilisateur et de la base à votre projet, puis envoyez le tout hors du serveur : voir sauvegardes avec Borg.

10. Commandes utiles

docker compose ps                 # état des services du projet
docker compose logs -f --tail 100 # journaux en direct
docker compose restart kuma       # redémarrer un service
docker compose down               # arrêter et supprimer les conteneurs (pas les volumes)
docker stats                      # consommation CPU et mémoire en direct
docker system df                  # espace disque utilisé par Docker

Questions fréquentes

Faut-il beaucoup de mémoire pour Docker ?

Docker lui-même consomme peu, de l'ordre de quelques dizaines de mégaoctets. C'est la somme des applications qui compte. Un VPS de 2 Go fait tourner confortablement deux ou trois services légers ; prévoyez 4 Go ou plus si vous ajoutez une base de données et des outils comme n8n.

docker-compose ou docker compose ?

docker compose, avec une espace. C'est la version 2, intégrée à Docker sous forme d'extension. L'ancien programme docker-compose, écrit en Python, n'est plus maintenu. Les fichiers restent compatibles.

Docker fonctionne-t-il sur tous les VPS ?

Sur un VPS basé sur la virtualisation complète KVM, oui, sans restriction, puisque vous disposez de votre propre noyau Linux. Les solutions de conteneurs légers comme OpenVZ posent en revanche souvent problème.

Comment faire communiquer deux conteneurs ?

Les services déclarés dans un même fichier Compose partagent un réseau interne et se joignent par leur nom de service, par exemple postgres:5432. Il n'est pas nécessaire de publier de port pour cela, et c'est préférable pour la sécurité.

VPS Linux NVMe

Accès root, Intel Xeon Gold et NVMe, livré en 60 secondes. Dès 2,49 €/mois.