Guide de déploiement

Héberger ClickHouse sur un VPS

Déployer sur un VPS Cloud →

Bases de données5 min de lecture

Héberger ClickHouse sur un VPS

ClickHouse est une base de données analytique orientée colonnes, capable d'agréger des milliards de lignes en quelques millisecondes. C'est l'outil de référence pour le reporting, l'analyse de logs et les dashboards temps réel, et il s'auto-héberge très bien sur un VPS correctement dimensionné. Voici comment le déployer avec Docker, le sécuriser et le configurer pour des performances optimales.

Pourquoi auto-héberger ClickHouse sur un VPS

ClickHouse excelle sur les requêtes analytiques (OLAP) : grâce à son stockage en colonnes et sa compression agressive, il peut scanner des téraoctets sur du matériel modeste là où une base relationnelle classique s'effondrerait. L'auto-héberger sur un VPS vous évite les coûts au volume de requêtes des offres managées (ClickHouse Cloud, BigQuery) et vous donne la maîtrise complète du schéma, des moteurs de table et de la rétention. C'est particulièrement pertinent pour ingérer vos propres logs applicatifs, métriques produit ou événements analytics sans envoyer vos données à un tiers. Comme ClickHouse compresse souvent les données d'un facteur 5 à 10, un VPS avec un disque SSD raisonnable peut stocker des centaines de millions d'événements. Vous gardez aussi le contrôle sur la latence : vos dashboards interrogent une instance proche de vos utilisateurs plutôt qu'un service distant.

Les bénéfices concrets du self-hosting de ClickHouse

  • Requêtes analytiques extrêmement rapides : agrégations sur des centaines de millions de lignes en sous-seconde.
  • Compression colonne de 5x à 10x qui réduit drastiquement le coût de stockage de vos logs et événements.
  • Ingestion massive : des centaines de milliers de lignes par seconde sur un seul nœud bien réglé.
  • Compatible SQL et avec de nombreux connecteurs (Grafana, Metabase, clients HTTP et natifs).
  • Souveraineté analytique : vos logs et métriques produit restent sur votre infrastructure.
  • Pas de facturation à la requête : un coût VPS fixe pour un volume analytique élevé.

Prérequis matériels et logiciels

ClickHouse aime la RAM et le disque rapide. Pour un usage analytique sérieux, visez 4 Go de RAM minimum, mais 8 Go offrent une marge bien plus saine pour les agrégations volumineuses et les marques (mark cache). Côté CPU, 2 à 4 vCPU permettent de paralléliser les requêtes. Le disque est critique : privilégiez du SSD NVMe avec au moins 50 à 100 Go selon votre volume et votre rétention, sachant que la compression réduit l'empreinte réelle. Vous aurez besoin de Docker, d'un domaine si vous exposez l'interface HTTP, et d'une attention particulière au paramètre max_memory_usage pour éviter qu'une requête ne fasse tomber le serveur. Évitez d'exposer le port natif 9000 directement sur Internet.

Déployer ClickHouse étape par étape

01

Préparer le VPS

Installez Docker, augmentez les limites système (ulimit -n à 262144) car ClickHouse ouvre beaucoup de descripteurs de fichiers. Désactivez le swap excessif et vérifiez que le disque est bien en SSD NVMe.

02

Lancer ClickHouse via Docker

Utilisez l'image officielle clickhouse/clickhouse-server. Montez trois volumes persistants : /var/lib/clickhouse (données), /var/log/clickhouse-server (logs) et un dossier de configuration /etc/clickhouse-server/config.d. Ajoutez ulimits: nofile: 262144 dans le compose.

03

Créer un utilisateur et un mot de passe

Ne laissez jamais l'utilisateur default sans mot de passe. Créez un fichier users.d/custom.xml avec un utilisateur dédié, un mot de passe hashé (echo -n motdepasse | sha256sum) et des quotas. Restreignez <networks> aux IP autorisées.

04

Régler la mémoire et le profil

Dans config.d, fixez max_server_memory_usage_to_ram_ratio à 0.8 et définissez un max_memory_usage par requête adapté à votre VPS pour éviter les OOM. Activez la rétention des partitions avec un TTL sur vos tables (TTL date + INTERVAL 90 DAY).

05

Exposer l'interface HTTP derrière un reverse proxy

ClickHouse expose une API HTTP sur le port 8123. Placez Nginx ou Caddy devant pour le TLS et l'authentification supplémentaire, et n'ouvrez pas le port natif 9000 au public. Réservez l'accès natif au réseau interne ou via tunnel SSH.

06

Connecter un outil de visualisation

Branchez Grafana ou Metabase sur l'endpoint HTTPS pour construire vos dashboards. Créez vos tables avec le moteur MergeTree, choisissez une ORDER BY pertinente et partitionnez par mois pour des requêtes et une purge efficaces.

L'installer en un clic depuis le Marketplace ServOrbit

Tout ce qui précède se fait à la main, et c'est utile de savoir le faire. Si vous préférez ne pas le faire, ClickHouse figure au Marketplace ServOrbit et s'installe sur votre VPS en un clic. Le modèle déploie la version 26.3 LTS épinglée, monte les volumes persistants pour les données et les journaux, porte la limite de descripteurs de fichiers à 262144 comme l'exige ClickHouse, et crée une base analytics au premier démarrage. Il ferme surtout le piège le plus courant du déploiement manuel : l'image d'origine livre un compte default sans aucun mot de passe, et l'installation le retire au démarrage pour le remplacer par un compte admin dont le mot de passe est généré pour votre serveur et affiché dans votre espace client. Seul le port 8123 est publié, et uniquement sur la boucle locale : attachez un domaine et la console SQL intégrée répond sur https://<votre-domaine>/play avec son certificat TLS ; sans domaine, passez par un tunnel ssh -L 8123:127.0.0.1:8123 root@<ip-du-vps> puis http://localhost:8123/play.

Le choix de la clé de tri (ORDER BY) du moteur MergeTree est le facteur décisif de performance : placez en premier les colonnes les plus filtrées dans vos requêtes (souvent une date et un identifiant). Utilisez les tables Buffer ou des inserts par lots de plusieurs milliers de lignes plutôt que des insertions ligne par ligne, qui créent une multitude de petites partitions et déclenchent des merges coûteux. Surveillez system.merges et system.parts pour détecter une fragmentation excessive.

Déployez ClickHouse en un clic sur un VPS ServOrbit

Version 26.3 LTS épinglée, volumes persistants, compte administrateur généré : l'entrepôt analytique prêt à recevoir vos événements.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou contactez notre équipe — rappel, WhatsApp ou e-mail. Support en français, anglais et arabe.