Le serveur domestique ultime : construction DIY avec ZimaBoard 832

Eva Wong est la rédactrice technique et bricoleuse résidente chez ZimaSpace. Geek passionnée depuis toujours, elle s'intéresse aux homelabs et aux logiciels open source, et elle est spécialisée dans la traduction de concepts techniques complexes en guides pratiques et accessibles. Eva croit que l'auto-hébergement doit être amusant, pas intimidant. À travers ses tutoriels, elle donne à la communauté les moyens de démystifier les configurations matérielles, depuis la construction de leur premier NAS jusqu'à la maîtrise des conteneurs Docker.

Dans cette série d'articles, nous avons le privilège de partager le parcours remarquable de D. Rowland, un membre fidèle de la communauté qui nous accompagne depuis la phase de financement participatif de ZimaBoard il y a deux ans. Il a acheté trois cartes, chacune avec un scénario d'application unique. Dans cette série de blogs, nous explorerons ses expériences avec ces cartes et comment elles sont devenues des outils indispensables dans son arsenal technologique.

Dans ce premier article d'une série de trois, D. Rowland vous guidera pour configurer votre propre serveur domestique avec le ZimaBoard 832.

Rencontrez D. Rowland

Commençons par mieux connaître D. Rowland. C'est un passionné de technologie typique ; il est marié, père de deux enfants, et un professionnel expérimenté en informatique avec une solide expérience en réseaux et IT. Son parcours dans le monde de la technologie a commencé au lycée, ce qui l'a finalement conduit à une carrière en informatique, où il a travaillé avec des serveurs, des réseaux et diverses technologies. Ses connaissances et expériences sont précieuses pour comprendre comment ZimaBoard s'est intégré dans sa vie.

Le scénario du serveur domestique : ZimaBoard 832

L'une des principales raisons pour lesquelles D. Rowland a acheté l'unité 832 est d'auto-héberger les services qu'il utilise couramment. Avant ZimaBoard, D. Rowland utilisait un « serveur » 3U construit sur mesure à partir de pièces de PC anciennes qu'il avait soit en stock, soit qu'il pouvait récupérer via le recyclage électronique. Sur l'image de son rack domestique ci-dessous, on peut encore voir l'ancien serveur éteint, posé en bas du rack.

Le ZimaBoard 832 a pris en charge toutes les fonctions de l'ancien serveur, à l'exception de certains stockages de fichiers qui ont été déplacés vers le NAS Synology (également visible sur la photo). Le ZimaBoard 832 de D. Rowland est devenu un serveur domestique puissant, et voici comment il l'a configuré :

Environnement matériel :

  • ZimaBoard 832
  • SSD de 480 Go pour le répertoire /home

Système logiciel :

  • Debian 11.5
  • Docker et Docker-Compose

Comment configurer votre ZimaBoard 832 en tant que serveur domestique

La configuration du serveur domestique de D. Rowland a impliqué les étapes suivantes :

  • Installation du système d'exploitation : Comme les unités ZimaBoard sont des systèmes x86, D. Rowland a pu suivre la procédure normale d'installation de Debian. Il a effacé la partition CasaOS et installé une version propre de Debian Bullseye sur la mémoire eMMC du ZimaBoard 832. Il a utilisé l'eMMC pour la partition root.
  • Stockage supplémentaire : Pour le stockage des données, il a utilisé un SSD de 480 Go pour le répertoire /home. Cette séparation entre le système d'exploitation et les données garantit un fonctionnement efficace.
  • Installation de Docker : Une fois le système d'exploitation opérationnel, D. Rowland a installé Docker et Docker-Compose. Au moment de la configuration, Docker et Docker-Compose étaient des composants séparés ; la version actuelle de Debian Bookworm intègre Compose dans Docker.
  • Migration des données : Il a copié ses points de montage Docker et son docker-compose.yml depuis son serveur précédent vers le ZimaBoard 832. Cette étape a assuré un transfert fluide de ses données et configurations vers le nouveau matériel. Certains chemins de fichiers ont été mis à jour dans son docker-compose.yml et un script bash « Backup-to-S3 » pour refléter la nouvelle organisation du système.
  • Configuration Docker : Avec les chemins de fichiers mis à jour dans son docker-compose.yml, D. Rowland a pu « docker-compose up -d » et tous ses services ont repris leur fonctionnement.

Applications et cas d’usage

À ce jour, D.Rowland fait tourner les applications et services suivants sur son ZimaBoard 832 :

  • hkotel/mealie
  • linuxserver/calibre-web
  • gitea/gitea
  • matrixdotorg/synapse
  • vaultwarden/server
  • iarekylew00t/caddy-cloudflare
  • oznu/cloudflare-ddns
  • ugeek/webdav
  • itzg/minecraft-bedrock-server
  • mongo:4.4
  • pawelmalak/flame
  • drowland/phpfpm-alpine
  • drowland/fastapi
  • drowland/ipcalc
  • drowland/autolog

Q : Ces applications servent à divers usages dans différents scénarios. Voici le partage de D. Rowland.

D.Rowland tient à préciser que, tout en utilisant tous les conteneurs Docker ci-dessus, d’après sa capture d’écran neofetch, son 832 utilise seulement 1,3 Go de mémoire en usage quotidien normal.

Projets PythonD.Rowland : Le cœur du serveur domestique ZimaBoard 832 réside dans les divers projets Python que j’ai développés et sur lesquels je travaille activement. Ces projets vont des utilitaires pratiques aux expérimentations. Actuellement, je fais tourner :

  • Autoblog : Autolog est un journal de service automobile web conçu pour suivre et gérer les historiques d’entretien de nos véhicules familiaux. Il simplifie la maintenance des véhicules et garantit que nous respectons les services programmés.
  • ipcalc : Inspiré par l’IPCALC perl de kjokjo, j’ai voulu créer ma propre implémentation Python d’un calculateur de sous-réseaux IP. C’est un outil pratique pour les tâches et calculs liés aux réseaux.
  • fastapi : FastAPI est un framework web Python moderne que j’ai exploré. Il m’a permis de créer une API REST d’exemple, ce qui m’a aidé à développer un projet d’intégration fournisseur pour le travail.

Créations de conteneurs personnalisés

D. Rowland : Certains conteneurs Docker fonctionnent bien pour la plupart des cas, mais parfois ils nécessitent un petit ajustement.

  • PHP-FPM : J’ai personnalisé le conteneur PHP-FPM standard en ajoutant des paquets supplémentaires absents du déploiement classique. Je l’ai utilisé avec plusieurs projets, donc la liste des paquets s’est agrandie, tels que : imagick, mongodb, mysqli, sodium, etc.

Base de données et stockage

D.Rowland :

  • MongoDB (v4.4) : En raison des limitations CPU du ZimaBoard 832, qui ne prend pas en charge AVX, j’ai choisi d’utiliser la version 4.4 de MongoDB pour mes projets. Heureusement, cette version convient parfaitement à mes cas d’usage et projets spécifiques.
  • WebDAV : Ce conteneur WebDAV joue un rôle crucial dans mon flux de travail. Je l’utilise pour synchroniser mes notes Obsidian sur plusieurs appareils. Il assure un accès fluide à mes notes, que je sois sur mon téléphone, PC personnel, PC professionnel, tablette ou ordinateur portable.

Proxy inverse et accès à distance

D.Rowland :

  • Caddy Server : Pour simplifier l’accès à distance à mes services lorsque je suis loin de chez moi, je compte sur Caddy Server comme proxy inverse. Sa facilité de configuration et sa fiabilité en font un choix idéal. Je n’ai pas utilisé le conteneur développeur Caddy Server car je voulais le plugin DNS Cloudflare intégré.
  • Cloudflare DynDNS : Je fais tourner le conteneur Cloudflare DynDNS pour gérer facilement mon enregistrement DNS A domestique, garantissant que mes services restent accessibles même lorsque je suis en déplacement.

Autres conteneurs

D.Rowland :

  • Mealie : J’utilise Mealie comme mon livre de recettes électronique. Si je tombe sur une recette qui me plaît, je l’ajoute rapidement et facilement. Pour moi, l’ajout d’images et de champs de notes supplémentaires le rend meilleur qu’un livre de recettes manuscrit.
  • Gitea : Mon propre dépôt Git personnel ; je l’utilise pour tous mes projets personnels en Python et Powershell, ainsi que comme miroir pour les projets professionnels.
  • Flame : C’est un tableau de bord merveilleux que j’utilise comme page d’accueil de mon navigateur. Il est connecté au socket Docker, donc quand j’ajoute de nouveaux conteneurs, je peux les lier au tableau de bord avec un minimum de configuration.
  • Minecraft Bedrock : Je fais tourner le serveur Bedrock plutôt que la version Java simplement à cause des contraintes de mémoire. Je n’utilise pas de mods, donc la version Bedrock est un serveur très simple et léger à exécuter.

Sécurité des données et sauvegarde

D.Rowland :

  • Script de sauvegarde : La sécurité des données est une priorité absolue pour moi. Pour protéger mes points de montage de conteneurs et mes données critiques, j’ai développé un script bash qui utilise tar pour archiver mes fichiers docker, puis s3cmd pour envoyer l’archive sur Wasabi chaque nuit.
  • Vaultwarden : Utiliser le conteneur Vaultwarden avec le client/application Bitwarden me permet de garder une trace de tous mes mots de passe et jetons 2FA tout en garantissant que c’est sous mon contrôle et non hébergé sur les réseaux cibles de grandes entreprises.

Cette diversité d’applications met en lumière la flexibilité et la puissance du ZimaBoard 832 en tant que serveur domestique.

Conclusion:

Dans cette première partie de notre série ZimaBoard, nous avons exploré l’impressionnante configuration de serveur domestique de D. Rowland utilisant le ZimaBoard 832. Son expérience montre comment ce SBC compact peut être exploité pour héberger une multitude de services tout en restant efficace. Restez à l’écoute pour le prochain épisode où nous découvrirons d’autres usages créatifs du ZimaBoard !

Rejoignez NOTRE COMMUNAUTÉ pour discuter avec nos membres :

Discord:zimaboard.com/discord

Forum: https://icewhale.community

Centre de campagne Zima

À lire aussi

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.