Création d'un serveur NAS maison
Admin système · Linux · Docker · En cours
J'ai depuis quelques années chez moi un vieil ordinateur avec des vieux composants. J'ai décidé de le réparer et d'en faire un petit serveur personnel. Ce projet est pour moi l'occasion d'apprendre l'administration système Linux, Docker, et tout ce qui gravite autour des serveurs maison.
Ce que j'ai appris
Administration système Linux, SSH et sécurité serveur, Docker et conteneurisation, gestion du réseau et des permissions Linux, gestion de paquets APT.
Les composants (ça fait rêver)
CPU : AMD Athlon 64 X2 3800+ (2005)
RAM : 1,9 Go DDR2
Carte mère : MSI K9N SLI (ATX, socket AM2)
Stockage : 150 Go HDD
Ventilation : des ventilos qui font le bruit d'une fusée
Réparation de l'ordinateur
Après un petit diagnostic, j'ai rapidement compris que l'ordinateur avait du vécu. Certains composants ont plus de 20 ans et ne semblaient plus fonctionner. Je n'avais jamais vu autant de câbles dans un boîtier. J'ai au final réussi à le réparer en changeant les vieux composants qui ne marchaient pas par des encore plus vieux qui marchent.
Installation de Debian
J'avais d'abord pensé à ZimaOS, un OS fait exprès pour ce genre de projet, puis je me suis dit que c'était l'occasion d'apprendre vraiment. J'ai opté pour Debian 13 Trixie, une installation minimale sans interface graphique, tout en ligne de commande.
⚠ Premier problème : j'ai installé Debian sans connexion internet. Le gestionnaire de paquets APT cherchait les ressources sur la clé USB qui n'était plus là. J'ai dû tout reconfigurer manuellement.
Configuration des sources APT
J'ai appris ce qu'étaient les sources APT, en gros un annuaire qui indique à l'OS où chercher les logiciels sur internet. Comme j'avais installé sans réseau, le fichier était vide. J'ai ajouté manuellement les liens des dépôts officiels Debian.
Configuration réseau et SSH
Les deux interfaces réseau étaient DOWN, elles n'avaient pas été activées automatiquement. Je les ai configurées manuellement, branché internet, et défini une IP statique pour que le serveur garde toujours la même adresse sur le réseau.
J'ai ensuite installé SSH pour ne plus avoir besoin d'un écran branché sur le serveur. Tout se gère depuis mon PC personnel via terminal. J'ai aussi créé un utilisateur dédié et désactivé la connexion root pour la sécurité.
Installation de Docker
J'avais beaucoup entendu parler de Docker. De ce que j'ai compris, c'est un outil qui permet de créer des environnements isolés appelés conteneurs, basés sur des schémas téléchargeables appelés images. Ça permet de faire tourner des applications simplement et en parallèle, sans risquer de casser le reste du système.
Installation de Samba
Samba est une application qui permet de partager des dossiers sur le réseau local. Je l'ai fait tourner dans un conteneur Docker et me suis connecté depuis l'explorateur de fichiers Windows. J'obtiens ainsi un petit cloud privé accessible depuis n'importe quel appareil de la maison.
Quelques galères en chemin : les guillemets dans les commandes Docker mal interprétés par bash, Windows 11 qui bloquait la connexion, et la création d'utilisateur Samba qui échouait. Chaque problème avait sa solution.
Installation de Jellyfin
C'est là que j'ai vraiment compris la puissance de Docker. Une commande, et j'ai un Netflix personnel qui tourne sur mon serveur. Jellyfin propose une interface web très soignée pour stocker ses films et séries et les regarder depuis n'importe quel appareil du réseau.
Galère notable : la médiathèque Séries restait vide malgré les fichiers présents. Cause : le dossier s'appelait " Saison 1" au lieu de "Season 01" , Jellyfin attend l'anglais. La base de données était aussi corrompue. Solution : tout supprimer et recommencer proprement.
Upgrade de la RAM
Avec tous les services actifs, le serveur faisait du swap : il utilisait le disque dur lent comme de la RAM de secours. Presque 800 Mo de swap sur 1 Go disponible, tout ramait. J'ai fouillé dans les fonds de placards et trouvé une deuxième barrette DDR2 800 compatible. Passage à 1,9 Go, le swap est retombé à quasi zéro.
Ajouts prévus
Configurer AdGuard Home pour bloquer les pubs sur tout le réseau, imprimer en 3D un boîtier sur mesure avec des racks pour disques durs, ajouter des disques pour plus de stockage, et mettre en place un accès sécurisé depuis internet.
Objectif à long terme
Un serveur qui consomme peu pour y faire tourner de la domotique, une IA en local et du stockage de données, le tout chez moi, sans cloud, sans abonnement.
État du serveur
● IP fixe : 192.168.1.77
OS : Debian 13 Trixie
RAM : 1,9 Go DDR2
Stockage : 136 Go disponibles
Services actifs
Samba
Jellyfin
qBittorrent
AdGuard Home