Besoin d'un serveur de test pour tes projets perso ? Un vieux PC ou un vieux laptop fera l'affaire. Coût : zéro. Temps nécessaire : moins de 30mn. Gain ? Énorme !
Cet article a été mis à jour le 24 août 2025 ; il prend 16 minutes à lire et comporte 3801 mots.
Il y a quelques mois, j’en ai eu assez de payer 6€ par mois pour un VPS de test chez un hébergeur, pour 3 vCPU et 8 Go de RAM. Un laptop que je n’utilisais jamais trainait dans mon placard : un i3-7020U avec 20 Go de RAM et un SSD de 220 Go. Rien d’extraordinaire, mais largement suffisant pour mes besoins de développement local.
Alors je me suis renseigné, j’ai testé, et j’ai monté mon serveur sur cette base. Le résultat ? À la hauteur de mes espérances. Voire même au-delà.
Et maintenant que mon serveur est en place, pourquoi ne pas te faire profiter de l’expérience à travers un petit tuto qui t’accompagnera dans cette démarche d’autonomie numérique ?
Et cerise sur le gâteau, en utilisant exclusivement des outils open source qui souvent valent et parfois surpassent leurs équivalents commerciaux.
Que tu sois un développeur cherchant un environnement de test gratuit ou simplement curieux de reprendre le contrôle sur tes données, transformer un PC ou un laptop « obsolète » en serveur personnel peut t’intéresser, et c’est bien plus accessible que tu ne le penses.
On va procéder par étapes, pour ne pas se perdre encours de route. Et la toute première étape, c’est de…
Choisir et préparer son matériel
Pas besoin d’une machine de guerre pour notre serveur perso. L’avantage majeur des processeurs « serveur » (Threadripper, Epyc, Xeon) ? La stabilité et la puissance nécessaires pour faire tourner des applications en 24/7, sur des systèmes fortement sollicités et qui ne doivent surtout pas tomber en panne.
Mais quand c’est pour toi et toi seul (ou quelques personnes), les contraintes ne sont pas les mêmes. Ton mini serveur tiendra la charge bien plus facilement qu’en production. Et une vieille bécane qui ne servait plus à rien ni à personne, justement, c’est ce dont on a besoin.
Investissement zéro (d’un point de vue financier). ROI exponentiel. Mais « obsolète », ça veut tout dire, et en même temps, çà ne veut rien dire de précis, il faut donc en tout premier lieu…
Définir obsolète : jusqu’où remonter dans le temps ?
Tous les vieux PC ne sont pas adaptés à un usage serveur moderne. Pour faire tourner Ubuntu Server et Docker, il faut un minimum de compatibilité :
Matériel compatible (à partir de 2007–2009) :
- Processeurs Intel : Core 2 Duo et générations suivantes, Xeon série 5400 (Harpertown) ou Nehalem (W‑3520, séries 35xx)
- Processeurs AMD : Athlon 64, Opteron 2ième génération, Phenom et générations suivantes
- Architecture : 64 bits obligatoire avec support SSE2
Matériel trop ancien : Les machines 32 bits ou très anciennes (486, Pentium III) ne peuvent pas faire tourner les distributions Linux actuelles. Mais elles gardent leur charme pour la nostalgie (jeux DOS, systèmes légers comme FreeDOS) ou des projets spécialisés.
Spécifications recommandées
Minimum viable (comme mon i3-7020U) :
- un processeur 64 bits dual-core (même un i3 fait l’affaire)
- 4 Go de RAM minimum (16 ou 20 Go comme dans mon cas, c’est le luxe)
- un disque dur ou SSD (le SSD change vraiment la donne en réactivité)
- une carte réseau Ethernet ou Wi-Fi (Ethernet est plus stable pour un serveur)
Configuration idéale :
- un processeur quad-core ou dual-core avec hyperthreading
- 8 Go de RAM ou plus
- SSD pour le système et les applications critiques
- une connexion Ethernet stable
Préparation du matériel
Quelques recommandations avant de commencer l’installation :
- Nettoyage physique : dépoussiére les composants internes pour éviter la surchauffe
- Vérification du disque : utilise
smartctl
pour vérifier l’état du disque dur - Sauvegarde : récupère toutes les données importantes avant la réinstallation
- Test de stabilité : laisse tourner la machine quelques heures pour détecter d’éventuels problèmes matériels
Installer un système d’exploitation adapté
Pourquoi choisir Ubuntu Server ?
Tout simplement parce qu’Ubuntu Server est le choix idéal pour débuter :
- Il offre une installation simple et guidée
- Il bénéficie d’une documentation abondante
- Il profite d’un large support communautaire
- Ses versions LTS (Long Term Support) sont stables et utilisables sur des années
- Il ne propose pas d’interface graphique inutile
Tu peux installer une autre distribution : Debian, AlmaLinux, Rocky Linux sont tout aussi indiquées, mais les instructions dans ce tutorial sont pour Debian / Ubuntu.
Tu as fait ton choix ? Alors passons à…
L’installation étape par étape
- Tout d’abord, prépare le support d’installation :
- Télécharge l’image ISO d’Ubuntu Server LTS depuis le site officiel
- Crée une clé USB bootable avec Rufus (Windows) ou
dd
(Linux/macOS)
- Ensuite, installe le système :
- Démarre sur la clé USB
- Suis l’assistant d’installation
- Choisis un partitionnement simple (par défaut, sauf besoins spécifiques)
- Important : n’installe pas d’environnement graphique – inutile et « gourmand » en ressources
- Enfin, occupe toi de la configuration réseau
- une IP statique est recommandée pour un serveur
- Ou tu fais une réservation DHCP côté routeur pour simplifier
Tu peux maintenant faire tes premier pas d’administrateur système :
# Mise à jour du système sudo apt update && sudo apt upgrade -y # Installation d'outils de base sudo apt install curl wget git htop
Ça y est, tu as un serveur, en configuration minimale certes, mais prêt à l’emploi.
Pour autant, tu n’es pas rendu. Dans l’état, tu ne feras pas grand chose de ton serveur, alors je te conseille de continuer par…
L’installation et la configuration de Docker
Docker ? Ok. Mais pourquoi Docker ?
Docker a révolutionné la gestion des services en les isolant dans des conteneurs légers. Sur mon petit serveur, je fais tourner simultanément Nextcloud, Grafana, Prometheus, n8n, et plusieurs projets de test sans aucun conflit. Chaque application vit dans son propre univers, avec ses dépendances, tout en partageant les ressources système de façon optimale.
L’autre avantage énorme : la portabilité. Si demain je change de serveur, je copie mes fichiers de configuration docker et tout redémarre à l’identique. Fini les installations manuelles interminables et les « ça marchait sur mon ancienne machine ».
Docker est quasi-agnostique : tant que tu ne pars pas sur des configurations ARM (Pi 5 par exemple), tout ce qui est dockerisable est dockerisé et utilisable sans configuration compliquée – tu verras dans la suite du tuto.
Mais avant de profiter de ton serveur, on passe à…
L’installation de Docker
# Suppression des anciennes versions sudo apt remove docker docker-engine docker.io containerd runc # Installation des dépendances sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release # Ajout de la clé GPG officielle de Docker curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # Ajout du dépôt echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # Installation sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin # Ajout de l'utilisateur au groupe docker sudo usermod -aG docker $USER
Vérification de l’installation
# Test Docker docker --version docker run hello-world # Test Docker Compose (nouvelle syntaxe sans tiret) docker compose version
Tu vois, installer Docker n’est pas vraiment douloureux, il suffit de suivre les étapes une à une. Et la prochaine, c’est le…
Déploiement d’une stack de services de base
Objectif de la stack
Nous allons déployer une infrastructure complète uniquement avec des outils open source :
- Traefik, le reverse proxy automatique
- Portainer, l’interface graphique de Docker
- Prometheus pour la collecte de métriques
- Grafana pour la visualisation des données récupérées par Prometheus
Cette stack tourne parfaitement sur mon vieux laptop.
Je te propose tout d’abord de créer la structure des fichiers. Tu ne mets pas tout en vrac dans le répertoire principal, tu organises proprement pour mieux t’y retrouver ensuite. Donc un dossier certs
où tu mettras plus tard les certificats SSL.
~/stack-docker/ ├── docker-compose.yml ├── traefik.yml ├── prometheus.yml └── certs/ ├── cert.pem └── cert.key
Maintenant, tu sais où on va, et la prochaine étape, c’est la…
Configuration de Docker
Le premier fichier que tu vas créer, c’est docker-compose.yml
. La commande ? Toute simple :
vim docker-compose.yml
C’est tout. Un petit i
(pour insert) et tu peux coller le contenu suivant dans ton fichier. Tu enregistres utilisant la touche Échap
puis en entrant la séquence suivante au clavier : :x
, tu valides, et c’est terminé.
services: traefik: image: traefik:latest container_name: traefik command: - "--configFile=/traefik.yml" ports: - "80:80" - "443:443" labels: - "traefik.enable=true" - "traefik.http.routers.traefik.rule=Host(`traefik.localhost`)" - "traefik.http.routers.traefik.entrypoints=websecure" - "traefik.http.routers.traefik.tls=true" - "traefik.http.routers.traefik.service=api@internal" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - ./traefik.yml:/traefik.yml:ro - ./certs:/certs:ro networks: - web restart: unless-stopped portainer: image: portainer/portainer-ce:latest container_name: portainer labels: - "traefik.enable=true" - "traefik.http.routers.portainer.rule=Host(`portainer.localhost`)" - "traefik.http.routers.portainer.entrypoints=websecure" - "traefik.http.routers.portainer.tls=true" volumes: - /var/run/docker.sock:/var/run/docker.sock - portainer_data:/data networks: - web restart: unless-stopped prometheus: image: prom/prometheus:latest container_name: prometheus labels: - "traefik.enable=true" - "traefik.http.routers.prometheus.rule=Host(`prometheus.localhost`)" - "traefik.http.routers.prometheus.entrypoints=websecure" - "traefik.http.routers.prometheus.tls=true" volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro - prometheus_data:/prometheus networks: - web restart: unless-stopped grafana: image: grafana/grafana:latest container_name: grafana environment: - GF_SECURITY_ADMIN_USER=admin - GF_SECURITY_ADMIN_PASSWORD=changeme123 labels: - "traefik.enable=true" - "traefik.http.routers.grafana.rule=Host(`grafana.localhost`)" - "traefik.http.routers.grafana.entrypoints=websecure" - "traefik.http.routers.grafana.tls=true" volumes: - grafana_data:/var/lib/grafana networks: - web restart: unless-stopped volumes: portainer_data: prometheus_data: grafana_data: networks: web: external: false
Tu remarques que dans ce fichier, il y a toute une section dédiée à Traefik, et qu’ensuite, on le retrouve pour exposer tous les services auxqueks on accède via un navigateur. Mais il faut avant passer par…
La configuration de Traefik
Avant de passer à la configuration, un mot sur ce qu’est un reverse proxy : c’est tout simplement un aiguilleur intelligent qui dirige les visiteurs vers le bon service en fonction de l’adresse demandée.
Crée le fichier ~/stack-docker/traefik.yml
:
entryPoints: web: address: ":80" http: redirections: entryPoint: to: websecure scheme: https websecure: address: ":443" http: tls: certificates: - certFile: "/certs/cert.pem" keyFile: "/certs/cert.key" providers: docker: exposedByDefault: false network: stack-docker_web api: dashboard: true # Pas de insecure: true car on passe par Traefik lui-même
Les fichiers docker-compose.yml
et traefik.yml
sont les fichiers essentiels de ta configuration. Pour autant, les outils suivants ne sont pas inutiles. Prometheus te parmet de connaître en temps réel l’état de santé de ton serveur. Un must-have pour ne pas subir un crash que tu aurais pu anticiper. Pour l’installer, tu n’as rien de plus à faire, c’est dans le fichier docker-compose.yml
que tu l’as demandé. Mais il faut pour lui aussi par une phase essentielle, la…
Configuration de Prometheus
Crée le fichier ~/stack-docker/prometheus.yml
:
global: scrape_interval: 15s scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['prometheus:9090'] - job_name: 'node-exporter' static_configs: - targets: ['node-exporter:9100']
Voilà, tu en as fini avec les fichiers de configuration. Mais ce n’est pas fini, il reste encore quelques étapes essentielles avant que tu ne profites de ton serveur. Un serveur, même s’il n’hébergeait que les photos de grand-maman à la plage, nécessite un minimum de sécurisation. Retrouver ses photos sur les sites de hackers russes ne lui ferait peut-être pas plaisir… et ce qui ne fais pas plaisir à grand-maman ne te fais pas plus plaisir à toi… CQFD.
Sécuriser avec des certificats SSL
HTTPS local avec mkcert
Pour sécuriser tes services locaux, mkcert
est la solution idéale. Sur mon setup, j’ai longtemps galéré avec les certificats auto-signés et les erreurs de navigateur. Mkcert résout tout ça élégamment :
# Installation de mkcert curl -JLO "https://dl.filippo.io/mkcert/latest?for=linux/amd64" chmod +x mkcert-v*-linux-amd64 sudo mv mkcert-v*-linux-amd64 /usr/local/bin/mkcert # Installation du CA racine mkcert -install # Génération des certificats mkdir -p ~/stack-docker/certs cd ~/stack-docker/certs mkcert localhost portainer.localhost prometheus.localhost grafana.localhost traefik.localhost mv localhost+4.pem cert.pem mv localhost+4-key.pem cert.key
Note d’expérience : Même avec mkcert, Firefox peut parfois faire du zèle. Sur Chrome, ça marche impeccablement. C’est un petit prix à payer pour avoir du HTTPS local sans configuration complexe.
Configuration des noms locaux
Pour accéder à tes services via des noms plutôt que des IP :
- Édite le fichier hosts sur chaque machine cliente :
- Linux/Mac :
/etc/hosts
- Windows :
C:\Windows\System32\drivers\etc\hosts
- Linux/Mac :
- Ajoute les entrées :
192.168.1.100 traefik.localhost 192.168.1.100 portainer.localhost 192.168.1.100 prometheus.localhost 192.168.1.100 grafana.localhost
(Remplace 192.168.1.100
par l’IP de votre serveur)
Astuce pratique : Sur mon setup, j’ai configuré une réservation DHCP pour que mon serveur ait toujours la même IP (192.168.1.50). Plus simple que de gérer une IP statique et ça évite les conflits.
Lancement et configuration de la stack
Démarrage des services
cd ~/stack-docker docker compose up -d
Vérification du déploiement
# Vérifier que tous les conteneurs tournent docker ps # Consulter les logs en cas de problème docker compose logs traefik docker compose logs portainer
Accès aux interfaces
Depuis ta machine de développement, tu peux accéder à :
- Traefik Dashboard : https://traefik.localhost
- Portainer : https://portainer.localhost
- Prometheus : https://prometheus.localhost
- Grafana : https://grafana.localhost
⚠️ Sécurité : Change immédiatement les mots de passe par défaut !
Configuration de Grafana
- Connecte-toi avec admin/changeme123
- Change le mot de passe
- Ajoute Prometheus comme source de données :
- URL :
http://prometheus:9090
- Clique sur « Save & Test »
- URL :
- Importe un dashboard préconfiguré :
- ID 1860 (Node Exporter Full)
- ID 179 (Docker monitoring)
Sécuriser le serveur
Configuration SSH sécurisée
Édite le fichier /etc/ssh/sshd_config
:
sudo vim /etc/ssh/sshd_config
Modifie ou ajoute ces lignes :
PermitRootLogin no PasswordAuthentication no # Après avoir configuré les clés Port 2222 # Port non standard (optionnel)
Redémarre le service SSH :
sudo systemctl restart ssh
Assure-toi que la connexion par clé SSH fonctionne parfaitement, afin d’éviter de te retrouver bloqué hors de ton propre serveur.
Tu as oublié de vérifier que ta clé SSH fonctionne ? Pas de panique ! Quelques manipulations simples et tout va rentrer dans l’ordre :
- Branche un écran à ton serveur (si c’est une tour, sur un laptop tu l’as déjà).
- Édite le fichier de configuration
sshd_config
et remetsPasswordAuthentication yes
avant de sauvegarder et de relancer le service. Et ne tourne pas en boucle, teste bien cette fois-ci !
Configuration des clés SSH
# Sur votre machine locale ssh-keygen -t rsa -b 4096 -C "votre@email.com" # Copie de la clé vers le serveur ssh-copy-id utilisateur@IP_SERVEUR
Pare-feu avec UFW
# Installation et activation sudo apt install ufw sudo ufw default deny incoming sudo ufw default allow outgoing # Autoriser SSH (adapte le port si modifié) sudo ufw allow 22/tcp # Autoriser les services web sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw allow 8080/tcp # Activation sudo ufw enable
Monitoring et surveillance
Ajout de Node Exporter pour les métriques système
Ajoute cette section dans ton fichier ~/stack-docker/docker-compose.yml
:
node-exporter: image: prom/node-exporter:latest container_name: node-exporter command: - '--path.rootfs=/host' volumes: - '/:/host:ro,rslave' networks: - web restart: unless-stopped
Dashboards Grafana recommandés
- Node Exporter Full (1860) : monitoring système complet
- Docker monitoring (179) : surveillance des conteneurs
- Traefik 2.0 (4475) : métriques du reverse proxy
Surveillance des ressources en ligne de commande
# Installation d'outils de monitoring sudo apt install htop iotop iftop ncdu # Surveillance temps réel htop # Processus et mémoire iotop # E/S disque iftop # Trafic réseau df -h # Espace disque
Maintenance et sauvegarde
Mises à jour automatiques
# Configuration des mises à jour automatiques sudo apt install unattended-upgrades sudo dpkg-reconfigure unattended-upgrades
Script de sauvegarde
Crée le fichier ~/backup-docker.sh
:
#!/bin/bash # Script de sauvegarde automatique BACKUP_DIR="/backup" DATE=$(date +%Y%m%d_%H%M%S) # Création du dossier de sauvegarde mkdir -p $BACKUP_DIR # Sauvegarde des volumes Docker docker run --rm -v portainer_data:/data -v $BACKUP_DIR:/backup alpine tar czf /backup/portainer_$DATE.tar.gz -C /data . docker run --rm -v grafana_data:/data -v $BACKUP_DIR:/backup alpine tar czf /backup/grafana_$DATE.tar.gz -C /data . docker run --rm -v prometheus_data:/data -v $BACKUP_DIR:/backup alpine tar czf /backup/prometheus_$DATE.tar.gz -C /data . # Sauvegarde de la configuration tar czf $BACKUP_DIR/config_$DATE.tar.gz ~/stack-docker/ # Nettoyage des sauvegardes anciennes (> 30 jours) find $BACKUP_DIR -name "*.tar.gz" -mtime +30 -delete echo "Sauvegarde terminée : $DATE"
Rend le script exécutable :
chmod +x ~/backup-docker.sh
Même si tu as une sauvegarde locale, n’oublie pas l’importance d’une stratégie de sauvegarde externe (vers un NAS ou un service cloud, sur ton poste de travail ou sur un SSD externe) pour te prémunir contre une panne matérielle du serveur lui-même.
Tâches cron pour l’automatisation
# Édition de la crontab crontab -e # Exemples de tâches # Sauvegarde quotidienne à 2h du matin 0 2 * * * /home/user/backup-docker.sh # Mise à jour des conteneurs le dimanche à 3h 0 3 * * 0 cd /home/user/stack-docker && docker compose pull && docker compose up -d # Nettoyage Docker hebdomadaire 0 4 * * 0 docker system prune -f
Extensions et évolutions possibles
Services populaires à ajouter
Cloud personnel :
- Nextcloud : stockage et synchronisation de fichiers
- Syncthing : synchronisation P2P
Media et divertissement :
- Plex/Jellyfin : serveur multimédia
- Transmission : client BitTorrent
Productivité :
- n8n : automatisation de tâches (alternative à Zapier)
- Ghost : plateforme de blog
- WordPress : site web complet
Sécurité et réseau :
- Pi-hole : bloqueur de publicités DNS
- WireGuard : VPN personnel
Exemple d’ajout de service : Nextcloud
Pour ajouter Nextcloud à votre stack, ajoute cette section dans ~/stack-docker/docker-compose.yml
:
nextcloud: image: nextcloud:latest container_name: nextcloud labels: - "traefik.enable=true" - "traefik.http.routers.nextcloud.rule=Host(`nextcloud.localhost`)" - "traefik.http.routers.nextcloud.entrypoints=websecure" - "traefik.http.routers.nextcloud.tls=true" volumes: - nextcloud_data:/var/www/html environment: - MYSQL_ROOT_PASSWORD=rootpass - MYSQL_PASSWORD=ncpass - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud networks: - web restart: unless-stopped
Et ajoute le volume correspondant dans la section volumes :
volumes: portainer_data: prometheus_data: grafana_data: nextcloud_data: # Nouvelle ligne
Conclusion
Cette expérience m’a ouvert les yeux : pourquoi dépendre de services payants quand on peut créer sa propre infrastructure avec du matériel existant ou avec du matériel d’occasion à bas prix ? Une tour ou un portable avec un i3 et 16Go de RAM se trouve à moins de 50 € sur leboncoin.
Aujourd’hui, mon petit serveur fait tourner une dizaine de services en continu, surveille mes applications, héberge mes projets en phase de test, et tout cela sans débourser un centime supplémentaire. Et il tient la charge, avec une stack correcte (Traefik, Portainer, AlloyDB Omni, n8n, Prometheus, Grafana, node importer…) :

Et même par ces temps caniculaires (capture en date du 11 août 2025, avec des pics de température à 42°C et 29/30°C à l’intérieur – je n’ai pas de clim…), il ne surchauffe pas :

Avec le tableau de bord deTreafik, j’ai un œil sur mon réseau :

Et grâce à Portainer, je peux avoir un accès direct à mes images Docker, je peux en installer, j’ai un accès direct aux logs sans passer par la ligne de commande…

Pour les performances, par rapport au VPS Contabo que j’ai déjà testé, ce serveur sur laptop est une pépite : processeur, RAM, SSD sont plus performants (ce n’est pas peu dire) et l’exploitation en mode local m’affranchit de la latence du réseau.
Un i3-7020U de 2017 qui bat un serveur payant… ça donne à réfléchir sur la qualité de certaines offres « low cost ».
La preuve par 9 dans un comparatif rapide…
Laptop vs VPS Contabo : Pourquoi payer quand on a mieux à la maison ?
Configurations comparées
Mon laptop Lenovo | Mon ancien VPS Contabo | |
---|---|---|
Processeur | Intel i3-7020U @ 2.30GHz | Intel Broadwell (E5-26xx) |
RAM | 20 Go | 8 Go |
Stockage | 220 Go SSD | 150 Go SSD |
Coût mensuel | 0€ (déjà payé) | 5,36€ |
Résultats des tests de performance
CPU (sysbench cpu –threads=1)
sysbench cpu --threads=1 --time=10 run
Métrique | Laptop maison | VPS Contabo | Différence |
---|---|---|---|
Événements/seconde | 749,71 | 610,51 | 🟢 23% plus rapide |
Latence moyenne | 1,33 ms | 1,63 ms | 🟢 18% plus réactif |
Latence max | 2,35 ms | 20,95 ms | 🟢 89% plus stable |
Mémoire (sysbench memory)
sysbench memory --memory-total-size=1G run
Métrique | Laptop maison | VPS Contabo | Différence |
---|---|---|---|
Débit | 3925,56 MiB/sec | 2526,36 MiB/sec | 🟢 55% plus rapide |
Temps d’exécution | 0,26 sec | 0,40 sec | 🟢 35% plus rapide |
Stockage (dd tests)
dd if=/dev/zero of=testfile bs=1M count=1024 conv=fdatasync dd if=testfile of=/dev/null bs=1M count=1024
Métrique | Laptop maison | VPS Contabo | Différence |
---|---|---|---|
Écriture | 342 MB/s | 131 MB/s | 🟢 161% plus rapide |
Lecture | 7,4 GB/s | 1,0 GB/s | 🟢 640% plus rapide |
Le verdict
En utilisant mon laptop au lieu du VPS Contabo, j’économise 5€36 par mois soit 64€32 par an pour des performances supérieures. En déduisant la consommation électrique (environ 50KWh sur un an, soit ~8/10€ TTC) on est toujours dans le vert avec une économie réelle d’au moins 55€ sur l’année.
D’autant que mon laptop d’entrée de gamme surpasse le VPS payant dans tous les domaines :
- CPU 23% plus performant par cœur, avec un cœur supplémentaire
- RAM 55% plus rapide (par Go, et j’en ai 2,5 x plus)
- Stockage 2 à 7 fois plus rapide
- Latence 9 fois plus stable
Le mot de la fin
Avant de sortir la carte bleue pour un VPS de test ou développement, vérifie si votre vieux laptop ne fait pas déjà mieux que ce que tu vas payer !
Transformer un vieux PC en serveur personnel, c’est bien plus qu’un simple recyclage. Mon petit i3-7020U avec ses 20 Go de RAM fait aujourd’hui tourner une infrastructure qui coûterait facilement 80 à 100 € par mois en serveur et en services cloud. En quelques mois, j’économise bien plus que le prix d’achat initial du laptop.
Mais au-delà de l’aspect économique, c’est une véritable leçon d’autonomie numérique. Avec Ubuntu Server, Docker et cette stack d’outils open source, tu disposes d’une infrastructure moderne qui n’a rien à envier aux solutions commerciales. Grafana rivalise avec Tableau, Prometheus remplace New Relic, Traefik fait mieux que beaucoup de reverse proxy payants.
Ce projet, simple à démarrer, grandit avec tes besoins. Mon serveur héberge maintenant mes projets de développement, mes sauvegardes automatiques, mon cloud personnel avec Nextcloud, et des outils d’automatisation comme n8n. Tout ça tourne 24h/24 sans broncher, sur une machine que je n’utilsais plus. Et je ne regrette pas les heures passées à chercher des solutions, à installer, à tester avant d’avoir mon mini serveur.
Ce que toi tu gagnes
- Tu fais des économies : fini les 6€/mois pour un serveur de test basique, et les dizaines d’euros supplémentaires pour les services que tu héberges
- Tu montes en compétences : en administration système, Docker, monitoring
- Tu gagnes en autonomie : Tes données t’appartiennent, tes services aussi
- Et en évolutivité : ton infrastructure prête pour tous tes futurs projets
- Tu as la satisfaction et le plaisir de faire du neuf avec de l’ancien
Aller plus loin
Ton serveur personnel est maintenant prêt à t’accompagner dans tes projets. N’hésite pas à expérimenter, ajouter des services, optimiser les performances. C’est ton terrain de jeu, sans limite de temps ni restriction de quota.
L’investissement initial (quelques heures de configuration) te fera économiser plusieurs centaines d’euros par an, tout en te donnant une maîtrise complète de ton infrastructure numérique.

Je ne me contente pas de reformuler des communiqués ou de dérouler des specs. Je teste, je creuse, je démonte quand il faut – parce qu’un sujet mal compris est un sujet mal écrit. J’écris avec les mains dans le cambouis, sans simplifier à outrance ni recracher du marketing. Mon truc, c’est de rendre clair sans trahir, lisible sans lisser. Et non, je ne “fais pas du contenu”. Pas pour faire du contenu, en tout cas.