{"id":29,"date":"2026-08-03T23:29:42","date_gmt":"2026-08-03T21:29:42","guid":{"rendered":"http:\/\/localhost:8086\/?p=29"},"modified":"2026-08-15T16:40:34","modified_gmt":"2026-08-15T14:40:34","slug":"construire-mon-homelab-docker-local-vps","status":"publish","type":"post","link":"https:\/\/homelab.nvsd.ch\/?p=29","title":{"rendered":"Construire mon Homelab Docker : du PC local au VPS"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"pourquoi-jai-d\u00e9cid\u00e9-de-construire-un-homelab\">Pourquoi j\u2019ai d\u00e9cid\u00e9 de construire un Homelab<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Au d\u00e9part, mon objectif \u00e9tait assez simple : je voulais mieux comprendre Docker et pouvoir h\u00e9berger moi-m\u00eame quelques services. Mais, \u00e0 mesure que j\u2019avan\u00e7ais, ce projet est devenu beaucoup plus qu\u2019une installation technique. Mon Homelab est aujourd\u2019hui un v\u00e9ritable espace d\u2019apprentissage, de cr\u00e9ation et d\u2019exp\u00e9rimentation.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Je voulais disposer d\u2019un environnement dans lequel je pouvais tester librement une application, me tromper, recommencer et documenter ce que j\u2019avais appris. Je souhaitais \u00e9galement \u00e9viter de d\u00e9pendre enti\u00e8rement de services externes pour mes projets personnels. H\u00e9berger moi-m\u00eame certaines applications me permet de comprendre ce qui se passe r\u00e9ellement derri\u00e8re une interface web : les conteneurs, les volumes, les r\u00e9seaux, les ports, le reverse proxy, les certificats et les sauvegardes.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Mon Homelab s\u2019est donc construit autour de deux environnements compl\u00e9mentaires : un ordinateur local sous Fedora Silverblue et un VPS sous Ubuntu Server. Le premier me sert d\u2019atelier priv\u00e9. Le second h\u00e9berge les services et les sites qui doivent rester accessibles en permanence.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Cette s\u00e9paration est devenue l\u2019une des id\u00e9es centrales du projet : je d\u00e9veloppe et je teste en local, puis je d\u00e9ploie sur le VPS lorsque le r\u00e9sultat est suffisamment stable.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"les-objectifs-du-projet-nvsd\">Les objectifs du projet NVSD<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Je n\u2019ai pas construit cette infrastructure uniquement pour accumuler des conteneurs. Chaque service doit avoir une fonction claire.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Mon premier objectif est p\u00e9dagogique. Je veux apprendre \u00e0 administrer un environnement Docker de mani\u00e8re structur\u00e9e, sans masquer les aspects techniques importants. Utiliser une interface graphique peut simplifier certaines op\u00e9rations, mais je souhaite aussi comprendre les fichiers Compose, les volumes persistants et les r\u00e9seaux utilis\u00e9s par les applications.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Mon deuxi\u00e8me objectif est pratique. Mon Homelab doit me permettre d\u2019h\u00e9berger mes sites, de tester de nouvelles applications et de disposer d\u2019outils utilisables au quotidien. Le site NVSD, le projet Villa, le site consacr\u00e9 au Homelab et l\u2019exp\u00e9rience artistique <em>Concerto \u00e0 l\u2019Infini<\/em> font partie de ces r\u00e9alisations.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Mon troisi\u00e8me objectif concerne l\u2019intelligence artificielle locale. Avec Ollama et Open WebUI, je peux ex\u00e9cuter des mod\u00e8les sur mon propre ordinateur, exp\u00e9rimenter avec l\u2019assistance au code et pr\u00e9parer du contenu sans envoyer syst\u00e9matiquement toutes mes donn\u00e9es vers un service distant.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Enfin, je veux documenter le parcours complet. Les r\u00e9ussites sont importantes, mais les erreurs le sont tout autant : port d\u00e9j\u00e0 occup\u00e9, permission refus\u00e9e, volume mal mont\u00e9, r\u00e9seau Docker incomplet ou configuration Nginx incorrecte. Ces incidents font partie de l\u2019apprentissage et serviront de base aux prochains articles.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"deux-environnements-aux-r\u00f4les-diff\u00e9rents\">Deux environnements aux r\u00f4les diff\u00e9rents<\/h2>\n\n\n<h3 class=\"wp-block-heading\" id=\"mon-laboratoire-local-sous-fedora-silverblue\">Mon laboratoire local sous Fedora Silverblue<\/h3>\n\n\n<p class=\"wp-block-paragraph\">Mon environnement local fonctionne sous Fedora Silverblue. Cette distribution poss\u00e8de une approche particuli\u00e8re : le syst\u00e8me de base est immuable, tandis que les applications et les outils peuvent \u00eatre isol\u00e9s \u00e0 l\u2019aide de Flatpak, Toolbox ou de conteneurs.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Docker y constitue la base de mon Homelab. J\u2019organise mes stacks dans le r\u00e9pertoire suivant :<\/p>\n\n\n<pre class=\"wp-block-code\"><code>\/srv\/homelab<\/code><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Cet emplacement contient notamment les stacks Docker, les donn\u00e9es, les sauvegardes, les configurations, les scripts, la documentation et mes projets. Cette organisation me donne un point de rep\u00e8re stable. Au lieu d\u2019\u00e9parpiller les fichiers sur le syst\u00e8me, je sais o\u00f9 chercher lorsqu\u2019une stack doit \u00eatre modifi\u00e9e, sauvegard\u00e9e ou d\u00e9plac\u00e9e.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Le poste local accueille notamment Dockge, Nginx Proxy Manager pour mes essais internes, Open WebUI, Ollama et plusieurs projets de d\u00e9veloppement. Il me permet de tester une nouvelle stack sans affecter les services publics.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"mon-vps-sous-ubuntu-server\">Mon VPS sous Ubuntu Server<\/h3>\n\n\n<p class=\"wp-block-paragraph\">Le second environnement est un VPS sous Ubuntu Server. Son r\u00f4le est diff\u00e9rent : il doit rester disponible et h\u00e9berger les services publics.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Sur ce serveur, mes fichiers sont regroup\u00e9s sous :<\/p>\n\n\n<pre class=\"wp-block-code\"><code>\/opt\/homelab<\/code><\/pre>\n\n\n<p class=\"wp-block-paragraph\">J\u2019y retrouve la m\u00eame logique g\u00e9n\u00e9rale qu\u2019en local, avec les stacks de Dockge, Nginx Proxy Manager et mes diff\u00e9rents sites. Cette coh\u00e9rence entre <code>\/srv\/homelab<\/code> en local et <code>\/opt\/homelab<\/code> sur le VPS simplifie beaucoup le passage d\u2019un environnement \u00e0 l\u2019autre.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Le VPS h\u00e9berge actuellement plusieurs sites statiques et applications web. Nginx Proxy Manager re\u00e7oit les requ\u00eates publiques, associe chaque sous-domaine au bon conteneur et g\u00e8re les connexions HTTPS.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"larchitecture-g\u00e9n\u00e9rale-du-local-vers-le-vps\">L\u2019architecture g\u00e9n\u00e9rale : du local vers le VPS<\/h2>\n\n\n<figure class=\"wp-block-image alignwide size-full\"><img decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/homelab.nvsd.ch\/wp-content\/uploads\/2026\/08\/article-01-architecture-local-internet-vps-1600x900-2.png\" class=\"attachment-full size-full\" alt=\"Sch\u00e9ma du d\u00e9veloppement sous Fedora, du passage par DNS et HTTPS, puis du d\u00e9ploiement sur un VPS Ubuntu\" loading=\"lazy\" \/><figcaption class=\"wp-element-caption\">Je d\u00e9veloppe et je valide sous Fedora avant de publier les services sur mon VPS Ubuntu.<\/figcaption><\/figure>\n\n\n<p class=\"wp-block-paragraph\">Mon architecture peut \u00eatre r\u00e9sum\u00e9e ainsi :<\/p>\n\n\n<pre class=\"wp-block-code\"><code>PC Fedora local\n    \u2193 d\u00e9veloppement et validation\nInternet \/ DNS \/ HTTPS\n    \u2193 publication\nVPS Ubuntu + Docker<\/code><\/pre>\n\n\n<p class=\"wp-block-paragraph\">En local, je construis l\u2019application et je v\u00e9rifie son fonctionnement. Chaque projet poss\u00e8de son propre fichier Compose, ses variables d\u2019environnement et ses volumes. Lorsque le projet est pr\u00eat, je pr\u00e9pare son d\u00e9ploiement sur le VPS.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Sur le serveur, les services publics rejoignent un r\u00e9seau Docker commun utilis\u00e9 par le reverse proxy. Nginx Proxy Manager peut alors joindre les conteneurs par leur nom, sans exposer inutilement tous leurs ports sur Internet. Le domaine ou le sous-domaine pointe vers l\u2019adresse publique du VPS, puis le reverse proxy transmet la requ\u00eate au bon service.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Cette architecture me permet de s\u00e9parer trois responsabilit\u00e9s :<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>le d\u00e9veloppement et les tests restent sur mon poste local ;<\/li>\n<li>l\u2019acc\u00e8s public est centralis\u00e9 par Nginx Proxy Manager ;<\/li>\n<li>les donn\u00e9es importantes sont conserv\u00e9es dans des volumes et int\u00e9gr\u00e9es \u00e0 une strat\u00e9gie de sauvegarde.<\/li>\n<\/ul>\n\n\n<p class=\"wp-block-paragraph\">Cette s\u00e9paration n\u2019est pas parfaite ni d\u00e9finitive. Elle \u00e9volue avec mes besoins, mais elle constitue d\u00e9sormais une base suffisamment claire pour ajouter de nouveaux projets sans reconstruire toute l\u2019infrastructure.<\/p>\n\n\n<figure class=\"wp-block-image alignwide size-full\"><img decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/homelab.nvsd.ch\/wp-content\/uploads\/2026\/08\/article-01-services-homelab-1600x900-2.png\" class=\"attachment-full size-full\" alt=\"Docker, Dockge, Nginx Proxy Manager, Ollama, Open WebUI et sauvegardes chiffr\u00e9es\" loading=\"lazy\" \/><figcaption class=\"wp-element-caption\">Les six briques principales qui structurent aujourd\u2019hui mon Homelab.<\/figcaption><\/figure>\n\n\n<h2 class=\"wp-block-heading\" id=\"les-principaux-services-de-mon-homelab\">Les principaux services de mon Homelab<\/h2>\n\n\n<h3 class=\"wp-block-heading\" id=\"docker-compose\">Docker Compose<\/h3>\n\n\n<p class=\"wp-block-paragraph\">Docker Compose est le socle de l\u2019ensemble. Chaque application est d\u00e9crite dans un fichier YAML : image utilis\u00e9e, ports, volumes, variables d\u2019environnement, d\u00e9pendances et r\u00e9seaux. Cette m\u00e9thode rend une stack beaucoup plus facile \u00e0 comprendre et \u00e0 reproduire qu\u2019une longue suite de commandes lanc\u00e9es manuellement.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"dockge\">Dockge<\/h3>\n\n\n<p class=\"wp-block-paragraph\">J\u2019ai choisi Dockge comme interface principale pour g\u00e9rer mes stacks. Il me permet de visualiser leur \u00e9tat, de consulter les journaux, de d\u00e9marrer ou d\u2019arr\u00eater les services et de modifier les fichiers Compose depuis une interface claire.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Je conserve n\u00e9anmoins les commandes Docker dans mon apprentissage. L\u2019interface facilite l\u2019administration quotidienne, tandis que le terminal reste indispensable pour diagnostiquer pr\u00e9cis\u00e9ment une erreur.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"nginx-proxy-manager\">Nginx Proxy Manager<\/h3>\n\n\n<p class=\"wp-block-paragraph\">Nginx Proxy Manager assure le lien entre mes noms de domaine et mes conteneurs. Plut\u00f4t que de m\u00e9moriser une s\u00e9rie de ports, je peux utiliser des adresses comme <code>nvsd.ch<\/code>, <code>villa.nvsd.ch<\/code> ou d\u2019autres sous-domaines r\u00e9serv\u00e9s \u00e0 mes projets.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Il centralise \u00e9galement la gestion des certificats TLS. Pour un site public, ce r\u00f4le est essentiel : une application peut fonctionner parfaitement dans son conteneur tout en restant inaccessible si son r\u00e9seau, son proxy ou son certificat est mal configur\u00e9.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"ollama-et-open-webui\">Ollama et Open WebUI<\/h3>\n\n\n<p class=\"wp-block-paragraph\">Ollama me permet d\u2019ex\u00e9cuter des mod\u00e8les d\u2019intelligence artificielle en local. Open WebUI ajoute une interface web pour dialoguer avec eux. Cet ensemble constitue mon atelier IA priv\u00e9.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Je l\u2019utilise pour exp\u00e9rimenter, pr\u00e9parer du contenu et tester l\u2019assistance au d\u00e9veloppement. Les capacit\u00e9s restent li\u00e9es au mat\u00e9riel disponible, notamment \u00e0 la m\u00e9moire de la carte graphique, mais cette contrainte m\u2019aide aussi \u00e0 choisir des mod\u00e8les adapt\u00e9s au lieu de chercher syst\u00e9matiquement le plus volumineux.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"mes-sites-et-projets\">Mes sites et projets<\/h3>\n\n\n<p class=\"wp-block-paragraph\">Le Homelab accueille aussi mes propres r\u00e9alisations. Le site NVSD constitue ma pr\u00e9sence principale. Le site Villa est un autre projet d\u00e9j\u00e0 d\u00e9ploy\u00e9. <em>Concerto \u00e0 l\u2019Infini<\/em> explore quant \u00e0 lui le lien entre nombres premiers, musique, images et fractales.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Ces projets donnent une utilit\u00e9 concr\u00e8te \u00e0 l\u2019infrastructure. Ils m\u2019obligent \u00e0 d\u00e9passer le simple test technique : un service public doit \u00eatre accessible, compr\u00e9hensible, sauvegard\u00e9 et maintenable.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"une-organisation-de-fichiers-pens\u00e9e-pour-durer\">Une organisation de fichiers pens\u00e9e pour durer<\/h2>\n\n\n<p class=\"wp-block-paragraph\">L\u2019un de mes premiers apprentissages a \u00e9t\u00e9 l\u2019importance de la structure des r\u00e9pertoires. Une stack peut fonctionner avec des fichiers plac\u00e9s presque n\u2019importe o\u00f9, mais cette libert\u00e9 devient rapidement un probl\u00e8me lorsque le nombre de services augmente.<\/p>\n\n\n<p class=\"wp-block-paragraph\">J\u2019ai donc retenu une organisation commune :<\/p>\n\n\n<pre class=\"wp-block-code\"><code>homelab\/\n\u251c\u2500\u2500 stacks\/\n\u251c\u2500\u2500 data\/\n\u251c\u2500\u2500 backups\/\n\u251c\u2500\u2500 configs\/\n\u251c\u2500\u2500 scripts\/\n\u251c\u2500\u2500 docs\/\n\u2514\u2500\u2500 projects\/<\/code><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Les stacks contiennent les fichiers Compose. Les donn\u00e9es persistantes sont s\u00e9par\u00e9es lorsque cela est pertinent. Les scripts regroupent les op\u00e9rations r\u00e9p\u00e9titives, comme les sauvegardes. La documentation conserve les informations qui seront indispensables plusieurs mois plus tard : ports, r\u00e9seaux, chemins, d\u00e9pendances et proc\u00e9dures de restauration.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Cette organisation n\u2019est pas seulement esth\u00e9tique. Elle r\u00e9duit les erreurs et facilite les migrations. Lorsque je dois d\u00e9placer une stack du poste local vers le VPS, je peux identifier plus rapidement ce qui rel\u00e8ve du code, de la configuration ou des donn\u00e9es persistantes.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"les-premi\u00e8res-difficult\u00e9s-rencontr\u00e9es\">Les premi\u00e8res difficult\u00e9s rencontr\u00e9es<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Mon parcours n\u2019a pas \u00e9t\u00e9 lin\u00e9aire. Plusieurs probl\u00e8mes sont revenus r\u00e9guli\u00e8rement.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Le premier concerne les ports. Deux conteneurs ne peuvent pas publier le m\u00eame port sur la m\u00eame machine. J\u2019ai par exemple rencontr\u00e9 un conflit lorsqu\u2019un service utilisait d\u00e9j\u00e0 le port pr\u00e9vu pour WordPress. La solution n\u2019\u00e9tait pas de supprimer la stack existante, mais d\u2019attribuer un autre port au nouveau service.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Le deuxi\u00e8me concerne les permissions. Fedora Silverblue utilise SELinux, qui ajoute une protection importante mais demande parfois d\u2019adapter les montages de volumes. Sur le VPS, certains fichiers cr\u00e9\u00e9s par des conteneurs appartiennent \u00e0 des utilisateurs diff\u00e9rents. Une application peut donc d\u00e9marrer tout en \u00e9tant incapable d\u2019\u00e9crire dans son dossier de sortie.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Le troisi\u00e8me concerne les r\u00e9seaux Docker. Un reverse proxy ne peut joindre un service que s\u2019ils partagent un r\u00e9seau adapt\u00e9. J\u2019ai appris \u00e0 v\u00e9rifier les r\u00e9seaux r\u00e9els d\u2019un conteneur, \u00e0 tester la connexion depuis un conteneur temporaire et \u00e0 ne pas supposer qu\u2019un port publi\u00e9 suffit \u00e0 tout r\u00e9soudre.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Enfin, les sauvegardes demandent une vraie m\u00e9thode. Cr\u00e9er une archive ne suffit pas : il faut pouvoir lire les fichiers prot\u00e9g\u00e9s, chiffrer les donn\u00e9es sensibles, envoyer la copie vers un stockage distant et, surtout, v\u00e9rifier qu\u2019une restauration serait possible.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"ce-que-mon-homelab-me-permet-aujourdhui\">Ce que mon Homelab me permet aujourd\u2019hui<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Aujourd\u2019hui, je dispose d\u2019une base fonctionnelle. Je peux lancer et administrer des stacks Docker en local, tester mes projets, utiliser des mod\u00e8les d\u2019IA sur ma propre machine et d\u00e9ployer des sites sur mon VPS.<\/p>\n\n\n<p class=\"wp-block-paragraph\">J\u2019ai \u00e9galement mis en place une organisation plus coh\u00e9rente entre mes deux environnements. Dockge me donne une vue simple des stacks, Nginx Proxy Manager dirige les visiteurs vers les bons services et mes sauvegardes peuvent \u00eatre externalis\u00e9es de mani\u00e8re chiffr\u00e9e.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Tout n\u2019est pas termin\u00e9. Le site Homelab lui-m\u00eame doit encore \u00e9voluer, le th\u00e8me WordPress sera affin\u00e9 au fil des vrais articles et certaines proc\u00e9dures devront \u00eatre automatis\u00e9es. Mais l\u2019infrastructure a atteint un point important : elle ne constitue plus une succession de tests isol\u00e9s. Elle forme d\u00e9sormais un ensemble que je peux expliquer, maintenir et faire progresser.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"la-suite-de-cette-s\u00e9rie\">La suite de cette s\u00e9rie<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Ce premier article pr\u00e9sente la vision g\u00e9n\u00e9rale. Les prochains entreront progressivement dans la pratique, avec les commandes, les fichiers Compose, les contr\u00f4les et les erreurs rencontr\u00e9es.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Je commencerai par la pr\u00e9paration de Fedora Silverblue et la cr\u00e9ation de la structure <code>\/srv\/homelab<\/code>. Je d\u00e9taillerai ensuite l\u2019installation de Docker, la mise en place de Dockge, l\u2019organisation des r\u00e9seaux, l\u2019installation de Nginx Proxy Manager, le d\u00e9ploiement sur le VPS et la strat\u00e9gie de sauvegarde.<\/p>\n\n\n<p class=\"wp-block-paragraph\">Mon objectif n\u2019est pas de proposer une architecture universelle. Je veux documenter une construction r\u00e9elle, avec ses choix, ses ajustements et ses limites. Si cette s\u00e9rie peut aider quelqu\u2019un \u00e0 comprendre Docker, \u00e0 \u00e9viter une erreur que j\u2019ai rencontr\u00e9e ou simplement \u00e0 commencer son propre Homelab, elle aura pleinement rempli son r\u00f4le.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>J\u2019ai construit mon Homelab pour apprendre Docker, h\u00e9berger mes propres services et transformer mes exp\u00e9rimentations en projets r\u00e9ellement accessibles. Voici l\u2019architecture qui relie aujourd\u2019hui mon PC Fedora \u00e0 mon VPS Ubuntu.<\/p>\n","protected":false},"author":1,"featured_media":26,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,10,13],"tags":[3,4,6,7,8,5],"class_list":["post-29","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-docker","category-fondations","category-tutoriels","tag-docker","tag-dockge","tag-fedora","tag-nginx-proxy-manager","tag-ollama","tag-vps"],"_links":{"self":[{"href":"https:\/\/homelab.nvsd.ch\/index.php?rest_route=\/wp\/v2\/posts\/29","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/homelab.nvsd.ch\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/homelab.nvsd.ch\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/homelab.nvsd.ch\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/homelab.nvsd.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=29"}],"version-history":[{"count":2,"href":"https:\/\/homelab.nvsd.ch\/index.php?rest_route=\/wp\/v2\/posts\/29\/revisions"}],"predecessor-version":[{"id":117,"href":"https:\/\/homelab.nvsd.ch\/index.php?rest_route=\/wp\/v2\/posts\/29\/revisions\/117"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/homelab.nvsd.ch\/index.php?rest_route=\/wp\/v2\/media\/26"}],"wp:attachment":[{"href":"https:\/\/homelab.nvsd.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=29"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/homelab.nvsd.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/homelab.nvsd.ch\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}