<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Sbc-(Raspberry-Odroid) on Pascal&#39;s weblog</title>
        <link>https://pled.fr/categories/sbc-raspberry-odroid/</link>
        <description>Recent content in Sbc-(Raspberry-Odroid) on Pascal&#39;s weblog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>fr</language>
        <lastBuildDate>Sun, 28 Jun 2026 15:22:44 +0000</lastBuildDate><atom:link href="https://pled.fr/categories/sbc-raspberry-odroid/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>Vorta for Borg Backup</title>
            <link>https://pled.fr/vorta-for-borg-backup/</link>
            <pubDate>Sun, 28 Jun 2026 15:22:44 +0000</pubDate>
            <guid>https://pled.fr/vorta-for-borg-backup/</guid>
            <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;vorta.png#floatleft&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ce matin, pris d&amp;rsquo;une inspiration subite, j&amp;rsquo;ai décidé de faire une nouvelle sauvegarde de mon dossier Home. Ce dossier est déjà synchronisé grâce à Nextcloud sur un serveur distant, ainsi que sur un autre HD du PC, grâce à &lt;strong&gt;Timeshift&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Mais lorsque j&amp;rsquo;avais &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/odroid-hc2-le-retour-sous-ubuntu-serveur/&#34; &gt;remis en service mon vieil odroid-hc2&lt;/a&gt;, l&amp;rsquo;idée était de l&amp;rsquo;utiliser comme serveur de backup, avec son HD de 2 To disponible. J&amp;rsquo;avais bien redirigé les tâches rsync du serveur OMV (NAS) sur ce serveur (contenu Plex et Calibre), et puis j&amp;rsquo;étais passé à autre chose. J&amp;rsquo;avais prévu des sauvegardes à partir du PC, sans aller plus loin.&lt;/p&gt;&#xA;&lt;p&gt;Cette fois, j&amp;rsquo;ai utilisé &lt;a class=&#34;link&#34; href=&#34;https://vorta.borgbase.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Vorta&lt;/a&gt;, une interface graphique pour &lt;a class=&#34;link&#34; href=&#34;https://www.borgbackup.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Borg&lt;/a&gt;, un logiciel de backup qui a une très bonne réputation (sauvegarde chiffrées, sécurisées, compressées). L&amp;rsquo;opération a été facilité par &lt;a class=&#34;link&#34; href=&#34;https://blog.flozz.fr/2023/10/15/borgbackup-sauvegarde-sur-une-machine-distante-via-ssh/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;cet article&lt;/a&gt; sur le &lt;a class=&#34;link&#34; href=&#34;https://blog.flozz.fr/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;FLOZz&amp;rsquo; Blog&lt;/a&gt;, que j&amp;rsquo;ai adapté à mon contexte et à ce que je voulais faire, puisque je bénéficiais déjà d&amp;rsquo;une connexion SSH entre mon PC et le serveur Odroid, ainsi que d&amp;rsquo;une clef de login. Une fois le dépôt Borg créé, le reste est simplissime.&lt;/p&gt;&#xA;&lt;p&gt;Voilà le détail des opérations, ça m&amp;rsquo;a permis un petit refresh sur ssh et les clefs privées et publiques&amp;hellip;&lt;/p&gt;&#xA;&lt;h3 id=&#34;sur-le-serveur-odroid&#34;&gt;Sur le serveur Odroid&#xA;&lt;/h3&gt;&lt;p&gt;Cette machine tourne donc Ubuntu. Le HD externe de 2 To est monté sur le dossier &lt;code&gt;/satadisk&lt;/code&gt;, et comprend deux sous-dossiers, un pour les sauvegardes en provenance du NAS (déjà utilisé), un autre pour celles en provenance du PC (pas encore utilisé) :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cd /satadisk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ tree --du -h --sort&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;size . | sed -E &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/^[^[]{8,}\[/d&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;192G&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;  .&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;191G&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;  NAS-N150&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;└── &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;  0G&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;  PC-RYZEN&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;On commence par installer borgbackup :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo apt install borgbackup&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Je vais aussi créer un utilisateur dédié pour ces backups, ce sera plus clair.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo adduser borg --home /satadisk/PC-RYZEN&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;On va aussi lui copier la clef publique SSH du PC déjà créée. Pour ce faire, sur le PC, on copie le contenu du fichier &lt;code&gt;/home/pascal/.shh/id_ed25519.pub&lt;/code&gt; dans un nouveau fichier créé sur la machine Odroid dans &lt;code&gt;/satadisk/PC-RYZEN/.ssh/authorized_key&lt;/code&gt; qui doit donc ressembler à ceci :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;borg@odroid:~$ cat .ssh/authorized_keys&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAp2Bz0e1GjYGMvLyw4WxXTGHN/Pla9CmJbApNnrlESM pascal@pascal-eos&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Et on teste à partir du PC que la commande &lt;code&gt;$ ssh borg@192.168.1.XX&lt;/code&gt; (soit la machine odroid) fonctionne bien. Dans la foulée, je crée un dossier &lt;code&gt;pascal-eos-home-backup&lt;/code&gt; à partir de la home de l&amp;rsquo;utilisateur borg (pour le dépôt de Borg):&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;borg@odroid:~$ pwd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/satadisk/PC-RYZEN&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;borg@odroid:~$ mkdir pascal-eos-home-backup&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Voilà, on a donc notre utilisateur &lt;strong&gt;borg&lt;/strong&gt; qui peut se connecter sans avoir à saisir de mot de passe sur la machine odroid à partir du PC.&lt;/p&gt;&#xA;&lt;h3 id=&#34;sur-le-pc&#34;&gt;Sur le PC&#xA;&lt;/h3&gt;&lt;p&gt;On commence donc par installer Vorta, qui se chargera d&amp;rsquo;installer Borg en tant que dépendance :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo pacman -S vorta&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;On le lance, et on crée le fameux dépôt, selon la terminologie de Borg. On rentre le dépôt sous la forme &lt;code&gt;ssh://&amp;lt;USER&amp;gt;@&amp;lt;MACHINE&amp;gt;&amp;lt;PATH&amp;gt;&lt;/code&gt;, ce qui donne :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ borg init --encryption&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;repokey ssh://borg@192.168.1.XX/satadisk/PC-RYZEN/pascal-eos-home-backup&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Borg va vous demander une &amp;ldquo;passphrase&amp;rdquo;, choisissez un mot de passe et notez le précieusement. C&amp;rsquo;est ce qui va permettre à Borg de faire des sauvegardes chiffrées et donc sécurisées.&lt;/p&gt;&#xA;&lt;p&gt;Il ne reste plus qu&amp;rsquo;à lancer Vorta, et lui indiquer de dépôt comme destination : on clique sur le + à droite, on choisit &amp;ldquo;dépôt existant&amp;rdquo;, et on rentre le dépôt sous la même forme, en indiquant le mot de passe (la passphrase demandée lors de la création du dépôt) :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;513px&#34; data-flex-grow=&#34;213&#34; height=&#34;268&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/vorta-for-borg-backup/Capture-decran-du-2026-06-28-16-43-53.png&#34; width=&#34;573&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Et voilà, le plus dur est fait. À noter que j&amp;rsquo;ai laissé l&amp;rsquo;option &lt;strong&gt;Clé SSH : Choisir automatiquement une clef SHH (par défaut)&lt;/strong&gt;, puisque comme expliqué au début de l&amp;rsquo;article, j&amp;rsquo;ai déjà implémenté un clef SSH entre les deux machines.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;371px&#34; data-flex-grow=&#34;154&#34; height=&#34;660&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/vorta-for-borg-backup/vorta2.png&#34; srcset=&#34;https://pled.fr/vorta-for-borg-backup/vorta2_hu_199fb7633c7a0993.png 800w, https://pled.fr/vorta-for-borg-backup/vorta2.png 1022w&#34; width=&#34;1022&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Sur l&amp;rsquo;onglet &lt;strong&gt;Sources&lt;/strong&gt;, il ne reste plus qu&amp;rsquo;à définir la source du backup que l&amp;rsquo;on souhaite effectuer ( &lt;code&gt;/home/pascal&lt;/code&gt; dans mon cas), gérer les dossiers à exclure (temp, cache, etc&amp;hellip;) :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;371px&#34; data-flex-grow=&#34;154&#34; height=&#34;660&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/vorta-for-borg-backup/vorta3.png&#34; srcset=&#34;https://pled.fr/vorta-for-borg-backup/vorta3_hu_d23ac2ef2e6ce846.png 800w, https://pled.fr/vorta-for-borg-backup/vorta3.png 1022w&#34; width=&#34;1022&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Et sur l&amp;rsquo;onglet &lt;strong&gt;Planification&lt;/strong&gt;, la périodicité souhaitée pour les sauvegardes :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;371px&#34; data-flex-grow=&#34;154&#34; height=&#34;660&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/vorta-for-borg-backup/Capture-decran-du-2026-06-28-16-54-56.png&#34; srcset=&#34;https://pled.fr/vorta-for-borg-backup/Capture-decran-du-2026-06-28-16-54-56_hu_4b2b6ad340addb3f.png 800w, https://pled.fr/vorta-for-borg-backup/Capture-decran-du-2026-06-28-16-54-56.png 1022w&#34; width=&#34;1022&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Et voilà, il ne reste plus qu&amp;rsquo;à lancer la sauvegarde :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;371px&#34; data-flex-grow=&#34;154&#34; height=&#34;660&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/vorta-for-borg-backup/vorta4.png&#34; srcset=&#34;https://pled.fr/vorta-for-borg-backup/vorta4_hu_683fff04e690d2ef.png 800w, https://pled.fr/vorta-for-borg-backup/vorta4.png 1022w&#34; width=&#34;1022&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Et la taille occupée sur le disque :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cd /satadisk&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ tree --du -h --sort&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;size . | sed -E &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/^[^[]{8,}\[/d&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;208G&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;  .&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;├── &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;191G&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;  NAS-N150&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;└── &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; 16G&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;  PC-RYZEN&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;conclusion&#34;&gt;Conclusion&#xA;&lt;/h3&gt;&lt;p&gt;Franchement, cela a été très facile à mettre en place, et Vorta avec son interface graphique rend l&amp;rsquo;utilisation de Borg très facile.&lt;/p&gt;&#xA;&lt;p&gt;On peut bien sûr définir d&amp;rsquo;autres sauvegardes, ou d&amp;rsquo;autres dépôts dans un autre profil selon l&amp;rsquo;organisation souhaitée de ,os précieuses sauvegardes ! :cool:&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>MoOde audio player</title>
            <link>https://pled.fr/moode-audio-player/</link>
            <pubDate>Thu, 09 Apr 2026 15:12:55 +0000</pubDate>
            <guid>https://pled.fr/moode-audio-player/</guid>
            <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;moode-audio.png#floatleft&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Je voulais l&amp;rsquo;autre jour installer un petit utilitaire sur mon Raspberry P4 où est installé Volumio 3, et je me suis rendu compte que l&amp;rsquo;OS était un Debian Buster 10 en 32 bits (et donc plus de dépôts !). Ça m&amp;rsquo;a paru bizarre, et j&amp;rsquo;ai vérifié que le Raspberry P4 est bien en architecture x64.&lt;/p&gt;&#xA;&lt;p&gt;Après quelques recherches, j&amp;rsquo;ai vu que Volumio avait récemment sorti sa version 4, qui tourne fièrement sur un Debian Bookworm 12 (et espérons en x64). Mais cela veut probablement dire que Volumio va rester un bout de temps avec cette version de Debian, qui n&amp;rsquo;est déjà plus la version release actuelle.&lt;/p&gt;&#xA;&lt;p&gt;De fil en aiguille, je suis tombé sur &lt;a class=&#34;link&#34; href=&#34;https://moodeaudio.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;MoOde&lt;/a&gt;, un lecteur audio FOSS dédié au Raspberry, qui lui propose une version sous Debian Trixie 13, soit la dernière version de Debian. Comparé à Volumio, il est totalement open-source (FOSS), et a manifestement des mises à jour beaucoup plus fréquentes. C&amp;rsquo;est plutôt bon signe pour le projet, et rien que pour cela, ça vaut le coup de changer. Il a aussi l&amp;rsquo;air très complet et offre beaucoup plus de possibilités que Volumio. Aucune raison donc de ne pas au moins l&amp;rsquo;essayer.&lt;/p&gt;&#xA;&lt;p&gt;Cet article décrit l&amp;rsquo;installation, les premiers paramétrages, comment j&amp;rsquo;ai réglé le problème d&amp;rsquo;affichage de pochettes au vu de l&amp;rsquo;organisation de ma bibliothèque musicale, la gestion des playlists, les radios, l&amp;rsquo;utilisation d&amp;rsquo;une application Android (ou pas). J&amp;rsquo;ai aussi activé le mode NFS de moOde afin d&amp;rsquo;accéder à ma musique via un serveur Docker &lt;strong&gt;Navidrome&lt;/strong&gt; que je venais de monter en test, afin de pouvoir utiliser le très beau &lt;strong&gt;Feishin&lt;/strong&gt; comme lecteur sur le PC :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;384px&#34; data-flex-grow=&#34;160&#34; height=&#34;900&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/moode-audio-player/Capture-decran-du-2026-04-09-10-24-19.png&#34; srcset=&#34;https://pled.fr/moode-audio-player/Capture-decran-du-2026-04-09-10-24-19_hu_dfdfa797fb86f649.png 800w, https://pled.fr/moode-audio-player/Capture-decran-du-2026-04-09-10-24-19.png 1440w&#34; width=&#34;1440&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Mais ce sera l&amp;rsquo;objet d&amp;rsquo;un futur article ! :wink:&lt;/p&gt;&#xA;&lt;p&gt;Revenons à &lt;strong&gt;moOde audio player&lt;/strong&gt;&amp;hellip;&lt;/p&gt;&#xA;&lt;h3 id=&#34;installation&#34;&gt;Installation&#xA;&lt;/h3&gt;&lt;p&gt;L&amp;rsquo;installation est censée être hyper facile, grâce à l&amp;rsquo;application &lt;code&gt;rpi-imager&lt;/code&gt; qu&amp;rsquo;il suffit d&amp;rsquo;installer sur le PC :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo pacman -S rpi-imager&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Il suffit ensuite de se laisser guider dans les pages qui s&amp;rsquo;affichent, c&amp;rsquo;est vraiment pratique : on choisit son modèle de Raspberry, le système à installer parmi les &amp;ldquo;media player&amp;rdquo; proposés, puis on crée l&amp;rsquo;utilisateur et son mot de passe, on indique le réseau Wi-Fi, activer SSH, etc&amp;hellip; :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;326px&#34; data-flex-grow=&#34;135&#34; height=&#34;537&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/moode-audio-player/Capture-decran-du-2026-04-01-18-47-20.png&#34; width=&#34;730&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Sauf que ça échoue à la vérification (étape finale), et que l&amp;rsquo;on retrouve une carte SD vide. Je ne sais pas si c&amp;rsquo;est un bug de cette version, mais la solution a été rapide : j&amp;rsquo;ai relancé la création de la carte SD, puis annulé la séquence de vérification après son démarrage. Et là c&amp;rsquo;était bon, j&amp;rsquo;ai pu récupérer une carte SD prête à démarrer.&lt;/p&gt;&#xA;&lt;p&gt;Le premier démarrage est assez long (il y a trois redémarrages qui s&amp;rsquo;enchaînent), il suffit d&amp;rsquo;attendre un peu, puis je me connecte dans un premier temps en SSH sur la machine. On peut retrouver la machine avec la commande : &lt;code&gt;nmap -sP 192.168.1.0/24&lt;/code&gt;. Ça fonctionne !&lt;/p&gt;&#xA;&lt;p&gt;Ensuite je vais sur mon serveur Pi-Hole (qui fait aussi serveur DHCP) pour attribuer une adresse IP de mon choix pour la MAC address du Rpi (et supprimer le lease existant). Enfin, via la connexion en ssh (sur l&amp;rsquo;adresse actuelle Ethernet), je dévalide le wifi (pas besoin d&amp;rsquo;avoir deux hosts sur le réseau pour la même machine) :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo nmcli radio wifi off&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Puis je redémarre, j&amp;rsquo;installe la clef ssh de connection ( &lt;code&gt;ssh-copy-id&lt;/code&gt;), et me voilà prêt côté réseau et accès SSH.&lt;/p&gt;&#xA;&lt;h3 id=&#34;moode&#34;&gt;MoOde&#xA;&lt;/h3&gt;&lt;p&gt;Connection à &lt;a class=&#34;link&#34; href=&#34;http://moode.lan&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;http://moode.lan&lt;/a&gt; sur mon réseau (ou sur l&amp;rsquo;adresse IP).&lt;/p&gt;&#xA;&lt;p&gt;Je dois d&amp;rsquo;abord déclarer la carte Digi2 Pro que j&amp;rsquo;ai sur le Raspberry : on clique sur le &amp;ldquo;m&amp;rdquo; en haut à droite, puis Configure puis Audio, dans la section &amp;ldquo;Named I2S device&amp;rdquo;, je sélectionne ma carte (Digi+ Pro), il faut ensuite redémarrer le système. Après ce redémarrage, la carte &amp;ldquo;Hifi+ Pro&amp;rdquo; apparaît dans la liste &amp;ldquo;Output device&amp;rdquo;, et il suffit de la sélectionner.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;373px&#34; data-flex-grow=&#34;155&#34; height=&#34;353&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/moode-audio-player/Capture-decran-du-2026-04-03-16-13-50.png&#34; width=&#34;550&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Pour la bibliothèque musicale, il faut aller dans Configure - Media, et je vois que mon disque USB est déjà sélectionné :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;881px&#34; data-flex-grow=&#34;367&#34; height=&#34;180&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/moode-audio-player/Capture-decran-du-2026-04-01-11-37-27.png&#34; width=&#34;661&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Sur la page Audio, je lance un scan de la médiathèque (regenerate music database), cela prend un certain temps&amp;hellip; et voilà, moOde est fonctionnel.&lt;/p&gt;&#xA;&lt;h3 id=&#34;présentation-rapide&#34;&gt;Présentation rapide&#xA;&lt;/h3&gt;&lt;p&gt;Il est utile de lire la page &amp;ldquo;Quick Help&amp;rdquo; qui présente les principales fonctionnalités et réglages possibles. En voilà un petit résumé, mais les fonctionnalités sont très étendues :&lt;/p&gt;&#xA;&lt;p&gt;moOde offre par exemple une option &amp;quot; &lt;strong&gt;Spotify&lt;/strong&gt; Connect&amp;quot; (nécessitant un compte premium), on peut aussi activer moOde comme serveur &lt;strong&gt;UPnP&lt;/strong&gt; ou &lt;strong&gt;DLNA&lt;/strong&gt;, ce qui permet de le piloter à partir d&amp;rsquo;une application android par exemple). N&amp;rsquo;utilisant pas Spotify, et ne souhaitant pas activer ce serveur UPnP ou DLNA, je ne détaillerai donc pas ces fonctionnalités ici.&lt;/p&gt;&#xA;&lt;p&gt;Il y a aussi plein d&amp;rsquo;autres options possibles, comme Plexamp (en cas de serveur &lt;strong&gt;Plex&lt;/strong&gt; sur votre réseau/TV), AirPlay ( &lt;strong&gt;iMac&lt;/strong&gt;), etc&amp;hellip; Côté Music Library, on peut configurer un NAS distant, ou sélectionner différents types de disques locaus (NVMe, SATA, USB). Probablement que les techniques d&amp;rsquo;accès selon le type de HD sont optimisées. On peut partager la librairie via un partage SMB ou NFS (voir plus bas pour ce dernier cas).&lt;/p&gt;&#xA;&lt;p&gt;On peut vraiment faire beaucoup de choses avec ce serveur, beaucoup plus que ce que Volumio proposait ! C&amp;rsquo;est la grosse différence d&amp;rsquo;un logiciel entièrement libre développé par des &amp;ldquo;enthousiastes&amp;rdquo;.&lt;/p&gt;&#xA;&lt;h4 id=&#34;mise-à-jour-bibliothèque-musicale&#34;&gt;Mise à jour bibliothèque musicale&#xA;&lt;/h4&gt;&lt;p&gt;Par contre, la librairie musicale n&amp;rsquo;est pas scannée automatiquement, comme c&amp;rsquo;était le cas avec Volumio. Il faut donc le faire manuellement.&lt;/p&gt;&#xA;&lt;p&gt;De ce que j&amp;rsquo;ai pu lire, la fonctionnalité existait il y a longtemps mais a été retirée car considérée comme peu fiable. Il y a des indications données sur &lt;a class=&#34;link&#34; href=&#34;https://moodeaudio.org/forum/showthread.php?tid=8266&amp;amp;highlight=autoscan&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;cette page du forum&lt;/a&gt; sur le sujet si l&amp;rsquo;on veut activer cette option du daemon MPD. Il s&amp;rsquo;agit d&amp;rsquo;activer un paramètre en utilisant un mode &amp;ldquo;Developer tweaks&amp;rdquo; avec l&amp;rsquo;outil &lt;code&gt;moodeutl&lt;/code&gt; (voir ci-dessous) puis de modifier le fichier &lt;code&gt;/etc/mpd.conf&lt;/code&gt;, et le faire prendre en compte. Voilà les instructions à suivre :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# List feature availability&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;moodeutl -a&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Enable dev tweaks feature&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;moodeutl -A add &lt;span style=&#34;color:#ae81ff&#34;&gt;32768&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo reboot&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Create custom mpd.conf&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo cp /etc/mpd.conf /etc/mpd.custom.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Make changes to custom mpd.conf&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo nano /etc/mpd.custom.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Changes are automatically merged when config is saved&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Menu, Configure, MPD&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;SAVE&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# View changes and #change_comments&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cat /etc/mpd.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Disable dev tweaks and revert to normal config&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;moodeutl -A rm &lt;span style=&#34;color:#ae81ff&#34;&gt;32768&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo rm /etc/mpd.custom.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo reboot&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Menu, Configure, MPD&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;SAVE&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Cette manip est particulière car le fichier mpd.conf est contrôlé par moOde et ne peut par défaut être modifié directement. Les paramètres MPD à activer sont &lt;code&gt;auto_update&lt;/code&gt; et éventuellement &lt;code&gt;auto-update_depth&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;auto_update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;This specifies the whether to support automatic update of music database when files are changed in music_directory. The default is to disable autoupdate of database. &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;Only implemented on Linux.&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;auto_update_depth&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Limit the depth of the directories being watched, &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; means only watch the music directory itself. There is no limit by default.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;On peut aussi taper la commande &lt;code&gt;mpv -V&lt;/code&gt; pour afficher les settings en cours.&lt;/p&gt;&#xA;&lt;p&gt;Bon, pour l&amp;rsquo;instant, je n&amp;rsquo;ai pas essayé d&amp;rsquo;implémenter cette fonctionnalité, si le dev de moode dit que ce n&amp;rsquo;est pas fiable, je veux bien le croire, et je ne fais pas de changements trop souvent dans ma musique.&lt;/p&gt;&#xA;&lt;h3 id=&#34;backup--logs&#34;&gt;Backup &amp;amp; Logs&#xA;&lt;/h3&gt;&lt;p&gt;Très pratique, l&amp;rsquo;interface de moOde propose aussi de sauvegarder votre configuration et d&amp;rsquo;activer et récupérer les logs. Bien pensé et très pratique.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;232px&#34; data-flex-grow=&#34;96&#34; height=&#34;589&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/moode-audio-player/Capture-decran-du-2026-04-06-10-10-47.png&#34; width=&#34;571&#34;&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;moodeutl&#34;&gt;moodeutl&#xA;&lt;/h4&gt;&lt;p&gt;Il existe aussi un outil en mode command line : &lt;code&gt;moodeutl&lt;/code&gt; qui peut se révéler utile (une fois connecté en SSH sur le Raspberry) pour le dépannage. Taper &lt;code&gt;moodeutl --help&lt;/code&gt; pour obtenir une liste des options possibles, il y en a pas mal concernant les logs, le réseau, etc&amp;hellip;&lt;/p&gt;&#xA;&lt;h3 id=&#34;nfs&#34;&gt;NFS&#xA;&lt;/h3&gt;&lt;p&gt;Comme je le disais en début d&amp;rsquo;article, j&amp;rsquo;ai installé récemment un serveur Navidrome (en mode Docker sur le NAS) afin de pouvoir tester et utiliser le lecteur &lt;a class=&#34;link&#34; href=&#34;https://github.com/jeffvli/feishin&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Feishin&lt;/a&gt; sur le PC. Ce lecteur est très beau, et j&amp;rsquo;aime bien l&amp;rsquo;affichage automatique des paroles&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Concernant Navidrome, ça m&amp;rsquo;embêtait de dupliquer ma bibliothèque musicale sur le NAS. Aussi quand j&amp;rsquo;ai vu que moOde offrait des options de partage réseau, j&amp;rsquo;ai vite activé l&amp;rsquo;option NFS :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;353px&#34; data-flex-grow=&#34;147&#34; height=&#34;301&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/moode-audio-player/Capture-decran-du-2026-04-09-10-38-13.png&#34; width=&#34;443&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ensuite, de mon PC, j&amp;rsquo;ai vérifié le partage :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ showmount -e 192.168.1.17&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Export list &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; 192.168.1.17:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/media/Music 192.168.1.0/24&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Il ne restait plus qu&amp;rsquo;à activer ce partage sur le NAS :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ mkdir -p /mnt/RpiMusic&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo mount -t nfs 192.168.1.17:/media/Music /mnt/RpiMusic/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Sans oublier de le rajouter au fichier &lt;code&gt;/etc/fstab&lt;/code&gt;. Et voilà, il ne restait qu&amp;rsquo;à modifier dans le fichier compose de Navidrome le chemin d&amp;rsquo;accès au volume &amp;ldquo;music&amp;rdquo;, et à redémarrer : ma bibliothèque était directement scannée ! :cool:&lt;/p&gt;&#xA;&lt;p&gt;Ce partage NFS de moOde (mais il y a aussi SMB ou DLNA de possible) est en tout cas bien pratique, et tout a fonctionné immédiatement.&lt;/p&gt;&#xA;&lt;h3 id=&#34;lastfm---librefm&#34;&gt;Last.fm - Libre.fm&#xA;&lt;/h3&gt;&lt;p&gt;Il y avait un daemon last.fm dans les premières versions de MoOde, mais il a été retiré car non stable. Il est néanmoins toujours possible de &amp;ldquo;scrobbler&amp;rdquo; les titres joués vers Last.fm (ou Libre.fm) grâce à &lt;code&gt;mpdscribble&lt;/code&gt;, un client MPD qui soumet les informations des pistes en cours de lecture au service Last.fm (aka Audioscrobbler).&lt;/p&gt;&#xA;&lt;p&gt;Il faut se connecter en SSH sur le Raspberry, et installer &lt;code&gt;mpdscribble&lt;/code&gt;, puis le configurer comme un service et en indiquant le nom et le mot de passe de votre compte last.fm (service par défaut) grâce à la commande &lt;code&gt;dpkg-reconfigure&lt;/code&gt; :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo apt install mpdscribble&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo dpkg-reconfigure mpdscribble&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Cela configure le fichier &lt;code&gt;/etc/mpdscribble.conf&lt;/code&gt;. Si vous éditez ce fichier (en tant que root), on voit que d&amp;rsquo;autres services sont disponibles : &lt;strong&gt;libre.fm&lt;/strong&gt; et &lt;strong&gt;jamendo&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Info&lt;/p&gt;&#xA;&lt;p&gt;ATTENTION : On ne peut apparemment activer qu&amp;rsquo;un seul à la fois si vous avez le même identifiant et le même mot de passe pour les services que vous souhaitez activer.&lt;/p&gt;&#xA;&lt;p&gt;Mais ce n&amp;rsquo;est pas tout : le mot de passe pour le service doit être &amp;ldquo;hashé&amp;rdquo; avant d&amp;rsquo;être indiqué dans le fichier de configuration (&lt;a class=&#34;link&#34; href=&#34;https://momh.fr/mpdscribble-scrobbler-vers-last-fm-et-libre-fm&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;source&lt;/a&gt;). Taper la commande suivante pour obtenir ce hash :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ echo -n &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;votre-mot-de-passe&amp;#34;&lt;/span&gt; | md5sum | cut -f &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; -d &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; &amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Il ne reste plus qu&amp;rsquo;à éditer le fichier &lt;code&gt;/etc/mpdscribble.conf&lt;/code&gt;, à saisir les infos pour libre.fm (par exemple), avec le mot de passe obtenu avec la commande précédente, sans oublier de commenter les valeurs de last.fm :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;last.fm&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; https://post.audioscrobbler.com/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;username &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pled&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;password &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; 56xxxxxxxxxxxxxxxxxxxxxxxxxxxxxb3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# The file where mpdscribble should store its Last.fm journal in case&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# you do not have a connection to the Last.fm server.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;journal &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; /var/cache/mpdscribble/lastfm.journal&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;libre.fm&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; http://turtle.libre.fm/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;username &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pled&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;password &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; 1cxxxxxxxxxxxxxxxxxxxxxxxxxxxx47&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;journal &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; /var/cache/mpdscribble/librefm.journal&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Enfin, redémarrer le service bien sûr :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo systemctl restart mpdscribble&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Voilà pour la partie scrobbling, même si ce n&amp;rsquo;est pas intégré, c&amp;rsquo;est facile et rapide à configurer.&lt;/p&gt;&#xA;&lt;h3 id=&#34;pochettes&#34;&gt;Pochettes&#xA;&lt;/h3&gt;&lt;p&gt;Comme toujours, quand on installe un système audio, vient le problème d&amp;rsquo;affichage des pochettes ! :wink:&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai donc plein de pochettes en erreur &lt;strong&gt;quand je parcours la librairie&lt;/strong&gt;, c&amp;rsquo;est même à peu près n&amp;rsquo;importe quoi (par contre si je joue un morceau, c&amp;rsquo;est la bonne pochette qui est affichée) :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;301px&#34; data-flex-grow=&#34;125&#34; height=&#34;622&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/moode-audio-player/Capture-decran-du-2026-04-01-18-44-07.png&#34; width=&#34;781&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Cela concernait en fait les pistes de mes playlists où je rassemble dans un dossier dédié plusieurs morceaux, déjà existants ou pas dans ma bibliothèque, chaque piste ayant sa pochette d&amp;rsquo;intégrée (embedded album art) grâce au tag ID3 &amp;ldquo;Picture&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;En fait, MoOde a pour la génération des miniatures (thumbnails) une stratégie Album-Dossier. Voilà la logique appliquée à la génération des thumbnails :&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Moode recherche d&amp;rsquo;abord la pochette intégrée ou le fichier de la pochette, selon le paramètre défini dans les préférences. Si ces options échouent, moode utilise la solution de secours.&lt;/li&gt;&#xA;&lt;li&gt;Le dernier fichier du dossier de l&amp;rsquo;album est utilisé comme pochette intégrée.&lt;/li&gt;&#xA;&lt;li&gt;Les fichiers de pochette portant des noms spécifiques sont recherchés en premier &lt;code&gt;[cover|Cover|Folder|folder] . [gif|jpg|jpeg|png|tif|tiff|webp]&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Si aucun n&amp;rsquo;est trouvé, le premier fichier de type « image » présent dans le dossier de l&amp;rsquo;album est utilisé&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Cette approche &amp;ldquo;vue par dossier&amp;rdquo; n&amp;rsquo;est pas pour me déplaire, c&amp;rsquo;est comme ça que ma bibliothèque musicale est globalement organisée&amp;hellip; sauf pour les fameuse playlists : dans mon cas, moOde prenait la pochette intégrée du dernier fichier du dossier comme &amp;ldquo;pochette de l&amp;rsquo;album.&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;Cela m&amp;rsquo;a m&amp;rsquo;obligé à revoir un peu tout ça : j&amp;rsquo;ai d&amp;rsquo;abord ajouté un fichier &lt;code&gt;ZZZZZ_cover.jpg&lt;/code&gt; de ce type dans chaque dossier de playlist :&lt;/p&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://pled.fr/wp-content/uploads/2026/04/ZZZZZ%5Fcover.jpg&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Pour réaliser ces &amp;ldquo;pochettes&amp;rdquo;, j&amp;rsquo;ai demandé l&amp;rsquo;aide de Mistral AI, plutôt que de faire le script à la main : on choisit quatre fichiers au hasard dans le dossier de la playlist, puis on extrait les pochettes intégrées aux fichiers (avec &lt;code&gt;exiftool&lt;/code&gt;), et on crée une image composée avec ces 4 pochettes (avec &lt;code&gt;imagemagick&lt;/code&gt;). Après quelques essais infructueux dus aux espaces dans les noms de fichiers et la commande &lt;code&gt;printf&lt;/code&gt;, le script a fini par fonctionner. Malgré ces erreurs, il faut quand même reconnaître que c&amp;rsquo;est assez génial de pouvoir obtenir rapidement un script comme ça, qui m&amp;rsquo;aurait pris &amp;ldquo;un peu de temps&amp;rdquo; à réaliser moi-même !&lt;/p&gt;&#xA;&lt;p&gt;Il faut aussi s&amp;rsquo;assurer que dans les Préférences, &amp;ldquo;Search priority&amp;rdquo; soit bien positionné à &amp;ldquo;Embedded&amp;rdquo;, et &amp;ldquo;Audio formats&amp;rdquo; à &amp;ldquo;Default+&amp;rdquo; comme mentionné sur la page &amp;ldquo;Quick Help&amp;rdquo; :&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Note that some Albums for example &amp;ldquo;Nine Inch Nails - The Slip&amp;rdquo; have a main cover image file and also embedded covers in each track. To display the covers correctly first add the cover image file named so its the last file in the album directory, then set Prefs &amp;gt; &amp;ldquo;Cover search priority&amp;rdquo; to &amp;ldquo;Embedded&amp;rdquo; and Prefs &amp;gt; &amp;ldquo;Audio formats&amp;rdquo; to &amp;ldquo;Default+&amp;rdquo;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;949px&#34; data-flex-grow=&#34;395&#34; height=&#34;118&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/moode-audio-player/Capture-decran-du-2026-04-05-18-19-47.png&#34; width=&#34;467&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Et voilà, les Playlists affichent la pochette composée (ZZZZZ_cover.jpg) en mode navigation, mais quand on la joue, c&amp;rsquo;est bien la pochette de la piste courante qui est affichée. Top !&lt;/p&gt;&#xA;&lt;h4 id=&#34;autre-petit-problème&#34;&gt;Autre petit problème&#xA;&lt;/h4&gt;&lt;p&gt;J&amp;rsquo;ai aussi pas mal de dossiers comprenant des compilations des Inrocks. Là aussi, chaque morceau est d&amp;rsquo;un artiste différent, mais cette fois sans &amp;ldquo;album art embedded&amp;rdquo;, un simple fichier cover.jpg complétant le dossier.&lt;/p&gt;&#xA;&lt;p&gt;Pour la plupart des dossiers, cela fonctionnait comme attendu :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;397px&#34; data-flex-grow=&#34;165&#34; height=&#34;562&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/moode-audio-player/Capture-decran-du-2026-04-08-16-45-49-1.png&#34; srcset=&#34;https://pled.fr/moode-audio-player/Capture-decran-du-2026-04-08-16-45-49-1_hu_2fd8692783a82a13.png 800w, https://pled.fr/moode-audio-player/Capture-decran-du-2026-04-08-16-45-49-1.png 931w&#34; width=&#34;931&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Sauf pour deux dossiers, dont le contenu semblait pourtant similaire aux autres. Ci-dessous, pour l&amp;rsquo;album 04 - Octobre 2021, chaque morceau est affiché séparément :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;421px&#34; data-flex-grow=&#34;175&#34; height=&#34;530&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/moode-audio-player/Capture-decran-du-2026-04-08-16-46-00.png&#34; srcset=&#34;https://pled.fr/moode-audio-player/Capture-decran-du-2026-04-08-16-46-00_hu_45de33b72d71a2f6.png 800w, https://pled.fr/moode-audio-player/Capture-decran-du-2026-04-08-16-46-00.png 930w&#34; width=&#34;930&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;La solution était dans les Tags ID3 : il fallait ajouter le tag &lt;code&gt;albumartist&lt;/code&gt; avec la valeur &amp;ldquo;Various Artists&amp;rdquo; (par exemple) pour que l&amp;rsquo;affichage redevienne correct.&lt;/p&gt;&#xA;&lt;h3 id=&#34;les-playlists&#34;&gt;Les Playlists&#xA;&lt;/h3&gt;&lt;p&gt;Une fois ceci fait, il ne reste plus qu&amp;rsquo;à créer les Playlists dans moOde : il faut utiliser la vue par dossier, sélectionner le dossier de playlist et en cliquant sur la pochette l&amp;rsquo;ajouter à la file de lecture avec un &amp;ldquo;Clear/Play&amp;rdquo; :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;178px&#34; data-flex-grow=&#34;74&#34; height=&#34;390&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/moode-audio-player/Capture-decran-du-2026-04-09-16-35-27.png&#34; width=&#34;290&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;En procédant ainsi, seule le contenu du dossier de la Playlist se retrouve dans la file de lecture. Il ne reste alors plus qu&amp;rsquo;à choisir &amp;ldquo;Save Queue to Playlist&amp;rdquo; pour créer notre playlist (à partir de la vue lecture) :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;186px&#34; data-flex-grow=&#34;77&#34; height=&#34;534&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/moode-audio-player/addplaylist.png&#34; width=&#34;414&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Simple et efficace. Je retrouve vite toutes mes playlists dans la vue dédiée :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;501px&#34; data-flex-grow=&#34;209&#34; height=&#34;629&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/moode-audio-player/playlistsview.png&#34; srcset=&#34;https://pled.fr/moode-audio-player/playlistsview_hu_d2e8f32f1f9cdcf9.png 800w, https://pled.fr/moode-audio-player/playlistsview.png 1315w&#34; width=&#34;1315&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;radios&#34;&gt;Radios&#xA;&lt;/h3&gt;&lt;p&gt;MoOde peut bien sûr jouer des radios. La liste de radios fournie est d&amp;rsquo;ailleurs bien fournie. Certaines affichent le titre et l&amp;rsquo;artiste du morceau en cours, c&amp;rsquo;est un vrai plus, mais apparemment, en Europe, on n&amp;rsquo;y est pas encore, quelle misère ! :sad:&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai cherché des infos là-dessus sans grand succès : le &lt;a class=&#34;link&#34; href=&#34;https://fr.wikipedia.org/wiki/RDS_%28radio%29&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;RDS&lt;/a&gt; fournit ces infos (les metadata) mais concerne les ondes radio FM. Idem pour le DAB+, mais pour les ondes en version numérique. Pour les radios &amp;ldquo;internet&amp;rdquo;, je n&amp;rsquo;ai rien trouvé&amp;hellip; si ce n&amp;rsquo;est que certaines stations &amp;ldquo;protègent&amp;rdquo; leur metadata pour privilégier leurs propres lecteurs/applications, comme l&amp;rsquo;application &amp;ldquo;Radio France&amp;rdquo;, par ailleurs infectée de trackers et que je n&amp;rsquo;installerai jamais sur mon tel.&lt;/p&gt;&#xA;&lt;p&gt;Comme je me contente en général d&amp;rsquo;afficher les principales stations de Radio France, j&amp;rsquo;ai créé ces stations en les liens en m3u8 pour éviter les 30 secondes de publicité (voir cet &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/radiodroid-radio-france-et-les-annonceurs/&#34; &gt;article&lt;/a&gt;). Comme elles se retrouvaient perdues dans la liste des radios fournies, j&amp;rsquo;ai du jouer avec le paramètre &amp;ldquo;moOde stations&amp;rdquo; :&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;j&amp;rsquo;ai d&amp;rsquo;abord passé ce paramètre à &amp;ldquo;Hide All&amp;rdquo;, de façon à cacher toutes les radios existantes.&lt;/li&gt;&#xA;&lt;li&gt;Puis j&amp;rsquo;ai ajouté mes stations Radio-France, en laissant le type par défaut (regular) :&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;518px&#34; data-flex-grow=&#34;216&#34; height=&#34;187&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/moode-audio-player/Capture-decran-du-2026-04-06-18-22-45.png&#34; width=&#34;404&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Je me retrouve ainsi avec uniquement les radios que j&amp;rsquo;ai ajouté qui sont visibles :&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;199px&#34; data-flex-grow=&#34;83&#34; height=&#34;534&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/moode-audio-player/Capture-decran-du-2026-04-06-18-15-12.png&#34; width=&#34;444&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Si par la suite, je souhaite ajouter à ma liste des radios qui étaient fournies par moOde, il me suffira de passer dans les paramètres à &amp;ldquo;Edit Hidden&amp;rdquo; : dans ce cas les radios cachées redeviennent visibles :&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;212px&#34; data-flex-grow=&#34;88&#34; height=&#34;590&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/moode-audio-player/Capture-decran-du-2026-04-06-18-19-34.png&#34; width=&#34;523&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Et l&amp;rsquo;on change le Type à &amp;ldquo;Regular&amp;rdquo; pour celles que l&amp;rsquo;on souhaite afficher. Une fois les radios souhaitées activées, on repasse en mode &amp;ldquo;No Action&amp;rdquo; et l&amp;rsquo;on a le filtre souhaité :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;134px&#34; data-flex-grow=&#34;56&#34; height=&#34;821&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/moode-audio-player/Capture-decran-du-2026-04-06-18-51-52.png&#34; width=&#34;461&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;On peut aussi en définir certaines comme &amp;ldquo;Favorites&amp;rdquo; et activer le mode &amp;ldquo;Favorite first&amp;rdquo; pour afficher ses radios préférées en premier.&lt;/p&gt;&#xA;&lt;h3 id=&#34;client-android&#34;&gt;Client android&#xA;&lt;/h3&gt;&lt;p&gt;Il n&amp;rsquo;y a pas de client Android officiel, l&amp;rsquo;interface Web de moOde fonctionnant très bien sur le smartphone. D&amp;rsquo;après le dev, la plupart des applis android des concurrents (Volumio, RuneAudio) ne sont que d&amp;rsquo;ailleurs que de simples wrappers de la page web.&lt;/p&gt;&#xA;&lt;p&gt;Le plus simple pour piloter moOde est donc d&amp;rsquo;ouvrir la page de moOde (&lt;a class=&#34;link&#34; href=&#34;http://moode.lan&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;http://moode.lan&lt;/a&gt; par exemple, ou l&amp;rsquo;adresse IP du Raspberry), et de créer un lanceur avec l&amp;rsquo;option &amp;ldquo;Ajouter à l&amp;rsquo;écran d&amp;rsquo;accueil&amp;rdquo; du navigateur sur le smartphone. On est bien d&amp;rsquo;accord qu&amp;rsquo;aucune musique ne sera jouée sur le tel, hein ? C&amp;rsquo;est une télécommande en quelque sorte.&lt;/p&gt;&#xA;&lt;p&gt;Il existe toutefois une petite appli écrite par par un fan, &lt;a class=&#34;link&#34; href=&#34;https://github.com/harzoglups/Moodroid&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Moodroid&lt;/a&gt;, qui essentiellement permet le contrôle du volume via les boutons volumes du tel (en plus du réglage du volume via l&amp;rsquo;interface) ! Plus quelques améliorations et optimisations, ainsi que sa petite icône&amp;hellip; Pour l&amp;rsquo;instant, je l&amp;rsquo;ai installée, ça a l&amp;rsquo;air fonctionnel avec un splash screen sympa :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;450px&#34; data-flex-grow=&#34;187&#34; height=&#34;555&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/moode-audio-player/android.png&#34; srcset=&#34;https://pled.fr/moode-audio-player/android_hu_22a855dcebfdcc01.png 800w, https://pled.fr/moode-audio-player/android.png 1041w&#34; width=&#34;1041&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;conclusion&#34;&gt;Conclusion&#xA;&lt;/h3&gt;&lt;p&gt;Je ne regrette pas d&amp;rsquo;être passé de Volumio à moOde. Déjà, mon Raspberry tourne la dernière version de Debian &amp;ldquo;stable&amp;rdquo;, et en x64, ce qui est appréciable (je peux installer un paquet supplémentaire si je le souhaite, ce qui n&amp;rsquo;était plus le cas avec la version x32 de Volumio).&lt;/p&gt;&#xA;&lt;p&gt;Mais surtout, on se rend vite compte de la différence entre un soft open-source et une solution mi-propriétaire : moOde propose de base plein d&amp;rsquo;options qui se révèlent bien utiles quand le besoin s&amp;rsquo;en fait sentir, que ce soit en terme d&amp;rsquo;affichage que de solution techniques.&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Odroid-HC2 : le retour sous Ubuntu Serveur</title>
            <link>https://pled.fr/odroid-hc2-le-retour-sous-ubuntu-serveur/</link>
            <pubDate>Mon, 30 Mar 2026 07:49:10 +0000</pubDate>
            <guid>https://pled.fr/odroid-hc2-le-retour-sous-ubuntu-serveur/</guid>
            <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;ubuntu-odroid-1.png#floatleft&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Je me demandais ce que j&amp;rsquo;allais bien pouvoir faire de mon odroid-hc2, &amp;ldquo;décommissionné&amp;rdquo; comme NAS car architecture armv7l (32 bits), et donc plus mis à jour que ce soit par Armbian ou même les containers Docker. Je l&amp;rsquo;avais donc remplacé par un &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/beelink-me-mini-mon-nouveau-nas/&#34; &gt;Beelink mini&lt;/a&gt; dont je suis très satisfait.&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai tout de même un HD de 2 To dessus, alors pourquoi ne pas l&amp;rsquo;utiliser en espace de stockage pour des sauvegardes ? Je sauvegarde certains dossiers de mon NAS sur le PC (via rsync), ce qui m&amp;rsquo;oblige à avoir le PC allumé à ce moment là, alors autant le faire sur cette machine.&lt;/p&gt;&#xA;&lt;p&gt;C&amp;rsquo;est parti !&lt;/p&gt;&#xA;&lt;p&gt;Il s&amp;rsquo;agit donc d&amp;rsquo;installer un simple serveur Linux, sans autre surcouche comme OMV ou même une interface graphique. Encore faut-il trouver une distribution qui supporte encore cette architecture.&lt;/p&gt;&#xA;&lt;p&gt;Une recherche me liste : Ubuntu 22.04 LTS, Arch Linux, Alpine Linux et OMV. J&amp;rsquo;élimine OMV d&amp;rsquo;entrée, ainsi que Alpine Linux qui me paraît compliqué (version ultra minimaliste basée sur la sécurité). Reste donc Arch Linux et Ubuntu&amp;hellip;&lt;/p&gt;&#xA;&lt;h3 id=&#34;archlinux-arm&#34;&gt;Archlinux ARM&#xA;&lt;/h3&gt;&lt;p&gt;Comme j&amp;rsquo;utilise &lt;a class=&#34;link&#34; href=&#34;https://endeavouros.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;EndeavourOS&lt;/a&gt; sur le PC depuis quelques mois (eOS est basé sur Archlinux, mais avec pas mal d&amp;rsquo;outils préinstallés pour en faciliter la prise en main), je me suis dit qu&amp;rsquo;un Archlinux était une bonne idée. C&amp;rsquo;est un Linux avec juste le minimum, mais comme mon utilisation prévue était assez minimale aussi, c&amp;rsquo;était une bonne occasion de tester un vrai Archlinux.&lt;/p&gt;&#xA;&lt;p&gt;Je suis donc allé sur le site d&amp;rsquo;Archlinux ARM et j&amp;rsquo;ai vite trouvé &lt;a class=&#34;link&#34; href=&#34;https://archlinuxarm.org/platforms/armv7/samsung/odroid-hc2&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;une page&lt;/a&gt; décrivant les étapes pour créer la carte SD. Sauf qu&amp;rsquo;il s&amp;rsquo;est avéré impossible de démarrer dessus, l&amp;rsquo;image semble ne pas fonctionner (j&amp;rsquo;ai essayé deux fois), et j&amp;rsquo;ai trouvé plusieurs posts sur leur forum confirmant le problème, mais sans fournir de solution.&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai alors voulu me créer un compte sur leur forum pour poser la question, mais impossible de s&amp;rsquo;enregistrer : il y a captcha censée tourner sur le formulaire d&amp;rsquo;inscription, mais elle ne marche pas. Impossible de s&amp;rsquo;enregistrer, et donc impossible de poser une question.&lt;/p&gt;&#xA;&lt;p&gt;Je suis alors allé sur le forum Archlinux (x86), où j&amp;rsquo;avais un compte, pour poser la question. Une première personne m&amp;rsquo;a répondu que les deux architectures d&amp;rsquo;Archlinux étaient très différentes, et gérées par des équipes différentes. J&amp;rsquo;ai vu brièvement cette réponse, mais j&amp;rsquo;étais occupé à autre chose. Le lendemain, j&amp;rsquo;ai voulu y répondre pour insister sur le problème de captcha, et de comment les contacter d&amp;rsquo;une manière ou d&amp;rsquo;une autre. Mais entre-temps, quelqu&amp;rsquo;un avait purement et simplement effacer mon message. :sad:&lt;/p&gt;&#xA;&lt;p&gt;Bon, je comprends le truc, mais il y a vraiment des mecs qui sont un peu psycho-rigides, d&amp;rsquo;autant que j&amp;rsquo;expliquais bien mon impossibilité d&amp;rsquo;accéder au bon forum ARM&amp;hellip; Bref !&lt;/p&gt;&#xA;&lt;h3 id=&#34;ubuntu&#34;&gt;Ubuntu&#xA;&lt;/h3&gt;&lt;p&gt;Restait alors Ubuntu, un retour pour moi puisque je l&amp;rsquo;ai longtemps utilisé et c&amp;rsquo;est comme ça que j&amp;rsquo;ai découvert et pratiqué Linux pendant de nombreuses années. Il s&amp;rsquo;agit donc ici de la version serveur 22.04 LTS (5 ans de mise à jour), et je suis donc tranquille pour un an (au moins). Je ne sais pas ce qu&amp;rsquo;il en sera par la suite&amp;hellip; peut-être passerai-je à Alpine Linux ?&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai récupéré l&amp;rsquo;image disque &lt;a class=&#34;link&#34; href=&#34;https://odroid.in/ubuntu_22.04lts/XU3_XU4_MC1_HC1_HC2/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;ici&lt;/a&gt;, créé la carte micro SD, et avant de démarrer dessus, je suis allé lui attribuer une adresse IP fixe pour gagner du temps. Il suffit d&amp;rsquo;accéder à la carte micro SD une fois préparée, et de créer un fichier &lt;code&gt;/etc/netplan/00-netcfg.yaml&lt;/code&gt; pour y spécifier les paramètres réseau que l&amp;rsquo;on souhaite configurer :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;network&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;version&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;renderer&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;networkd&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;ethernets&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;eth0&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;addresses&lt;/span&gt;: [&lt;span style=&#34;color:#ae81ff&#34;&gt;192.168.1&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;.x/24]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;gateway4&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;192.168.1.1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;nameservers&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;addresses&lt;/span&gt;: [&lt;span style=&#34;color:#ae81ff&#34;&gt;8.8.8.8&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;8.8.4.4&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Puis démarrage sur la carte SD et connexion via ssh avec le user root (mdp odroid). Tout baigne ! :cool:&lt;/p&gt;&#xA;&lt;h4 id=&#34;réseau&#34;&gt;Réseau&#xA;&lt;/h4&gt;&lt;p&gt;J&amp;rsquo;ai voulu initialement installer &lt;strong&gt;NFS&lt;/strong&gt; pour accéder à la machine, mais je n&amp;rsquo;ai pas pu l&amp;rsquo;installer. J&amp;rsquo;avais un problème lors de l&amp;rsquo;installation, lié apparemment à la version du noyau et au module &lt;strong&gt;rpcbind&lt;/strong&gt;, et j&amp;rsquo;ai fini par laisser tomber après quelques tentatives de correction.&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;nfs-kernel-server échoue à démarrer pour un probleme de dependence : Dependency failed for rpc_pipefs.target&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;p&gt;Je me suis donc orienté donc vers SSHFS et rsync.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt-get install openssh-server rsync&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ensuite j&amp;rsquo;initialise le HD pour faire une seule partition de 2 To ( &lt;code&gt;fdisk&lt;/code&gt;, &lt;code&gt;mkfs.ext4&lt;/code&gt;). Je le monte sur un dossier &lt;code&gt;/satadisk&lt;/code&gt;, et crée deux répertoires : &lt;code&gt;PC-RYZEN&lt;/code&gt; (pour les sauvegardes qui viendront du PC) et &lt;code&gt;NAS-N150&lt;/code&gt; (pour les sauvegardes qui viendront du NAS.&lt;/p&gt;&#xA;&lt;p&gt;Il reste à configurer &lt;strong&gt;rsync&lt;/strong&gt; en créant un utilisateur rsync, puis un fichier de configuration &lt;code&gt;/etc/rsyncd.conf&lt;/code&gt; pour un premier essai de copie depuis mon PC :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;root@odroid:~# cat /etc/rsyncd.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;uid &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; rsync&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gid &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; rsync&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;use chroot &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; no&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;max connections &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;log file &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; /var/log/rsyncd.log&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;timeout &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;300&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;pcryzen&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   path &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; /satadisk/PC-RYZEN&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   comment &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Sauvegarde fichiers PC RYZEN&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   read only &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; false&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   hosts allow &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; 192.168.1.20&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   hosts deny &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Côté PC, voilà le script :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cat rsync_sample_odroid.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#!/bin/bash&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Définir les variables&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;LOCAL_DIR&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/home/pascal/Bureau&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;REMOTE_HOST&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;rsync@192.168.1.x&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;REMOTE_MODULE&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;pcryzen&amp;#34;&lt;/span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# Le nom du module défini dans /etc/rsyncd.conf sur la machine distante&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Options rsync courantes&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RSYNC_OPTS&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;-avz --progress --delete&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Exécuter rsync&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rsync $RSYNC_OPTS &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$LOCAL_DIR&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$REMOTE_HOST&lt;span style=&#34;color:#e6db74&#34;&gt;::&lt;/span&gt;$REMOTE_MODULE&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Vérifier le code de retour&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt; $? -eq &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Synchronisation terminée avec succès.&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Erreur lors de la synchronisation.&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Et voilà, ça tourne !! Côté NAS, j&amp;rsquo;ai déjà des scripts rsync qui tournent via OMV et qui font des sauvegardes sur le PC : je n&amp;rsquo;ai qu&amp;rsquo;à changer l&amp;rsquo;adresse IP avec celle de l&amp;rsquo;odroid, et configurer le fichier &lt;code&gt;/etc/rsynd.conf&lt;/code&gt; ci-dessus pour les modules, créer les dossiers correspondants, et c&amp;rsquo;est parti !&lt;/p&gt;&#xA;&lt;p&gt;Voilà, j&amp;rsquo;ai 2 To de sauvegardes disponibles sur mon réseau ! :cool:&lt;/p&gt;&#xA;&lt;h4 id=&#34;configuration---personnalisation&#34;&gt;Configuration - Personnalisation&#xA;&lt;/h4&gt;&lt;p&gt;Il me faudra tout de même configurer les locales en FR UTF-8 pour que les dossiers comportant des caractères accentués s&amp;rsquo;affichent correctement sur l&amp;rsquo;odroid. J&amp;rsquo;ai suivi les instructions de &lt;a class=&#34;link&#34; href=&#34;https://www.dotlinux.net/blog/change-system-language-on-ubuntu-22-04-from-command-line/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;cette page&lt;/a&gt; (en adaptant pour fr_FR bien sûr) et tout s&amp;rsquo;est alors affiché correctement.&lt;/p&gt;&#xA;&lt;h4 id=&#34;motd&#34;&gt;Motd&#xA;&lt;/h4&gt;&lt;p&gt;Et pour finir, j&amp;rsquo;ai personnalisé un peu le motd (message of the day) qui s&amp;rsquo;affiche à la connexion :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;375px&#34; data-flex-grow=&#34;156&#34; height=&#34;436&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/odroid-hc2-le-retour-sous-ubuntu-serveur/Capture-decran-du-2026-04-20-17-59-26.png&#34; width=&#34;683&#34;&gt;&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Dockge - Gestion des containers Docker</title>
            <link>https://pled.fr/dockge-gestion-des-container-docker/</link>
            <pubDate>Mon, 03 Jun 2024 07:39:49 +0000</pubDate>
            <guid>https://pled.fr/dockge-gestion-des-container-docker/</guid>
            <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;dockge.png#floatleft&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Je suis tombé sur cet outil un peu par hasard, et comme je n&amp;rsquo;étais pas satisfait des possibilités offertes par les interfaces de OMV7 ou de Portainer, j&amp;rsquo;ai testé (et adopté) &lt;strong&gt;Dockge&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/louislam/dockge&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Dockge&lt;/a&gt; est un gestionnaire de stack Docker, orienté &lt;a class=&#34;link&#34; href=&#34;https://docs.docker.com/compose/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Docker Compose&lt;/a&gt; (fichier &lt;code&gt;compose.yaml&lt;/code&gt;). En gros, cela permet de configurer plusieurs containers dans un seul fichier, comme j&amp;rsquo;ai du le faire pour Nextcloud (qui utilise Nextcloud, une base de données Mariadb et un serveur proxy Swag, voir &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=16959&#34; &gt;cet article&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;Quand on utilise des containers simples (une application pour un container), ce n&amp;rsquo;est pas forcément utile d&amp;rsquo;utiliser Docker Compose, un simple script avec une commande &lt;code&gt;docker run&lt;/code&gt; suffit, comme je l&amp;rsquo;ai fait pour mes autres services (plex, qbittorrent). Mais rien ne l&amp;rsquo;empêche non plus.&lt;/p&gt;&#xA;&lt;p&gt;Et du coup, j&amp;rsquo;ai tout passé sous Dockge, car son interface est à la fois simple et complète : on peut arrêter, redémarrer, voir les logs, accéder au shell, éditer le fichier compose.yaml, et même (last but not least) effectuer une mise à jour ! :cool:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;343px&#34; data-flex-grow=&#34;143&#34; height=&#34;945&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/dockge-gestion-des-container-docker/Capture-decran-du-2024-06-02-11-16-07.png&#34; srcset=&#34;https://pled.fr/dockge-gestion-des-container-docker/Capture-decran-du-2024-06-02-11-16-07_hu_90ec775fd772e444.png 800w, https://pled.fr/dockge-gestion-des-container-docker/Capture-decran-du-2024-06-02-11-16-07.png 1352w&#34; width=&#34;1352&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Voilà comment je l&amp;rsquo;ai installé et configuré.&lt;/p&gt;&#xA;&lt;h3 id=&#34;installation&#34;&gt;Installation&#xA;&lt;/h3&gt;&lt;p&gt;L&amp;rsquo;installation est simplissime. On se connecte sur la machine (mon odroid-hc2 en l&amp;rsquo;occurence) où tournent les containers docker, et on suit les étapes : Création des répertoires pour nos stacks et celle de Dockge, téléchargement du fichier pour le container Dockge, et démarrage :&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-bahs&#34; data-lang=&#34;bahs&#34;&gt;$ su&#xA;# mkdir -p /opt/stacks /opt/dockge&#xA;# cd /opt/dockge&#xA;#&#xA;# curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml&#xA;#&#xA;# docker compose up -d&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Voilà, l&amp;rsquo;application Dockge tourne sur http://localhost:5001. Difficile de faire plus simple.&lt;/p&gt;&#xA;&lt;h3 id=&#34;importer-ou-créer-les-containers-existants&#34;&gt;Importer ou créer les containers existants&#xA;&lt;/h3&gt;&lt;p&gt;Pour Nextcloud, ayant déjà utilisé une stack (et donc un fichier compose), il a suffit d&amp;rsquo;arrêter l&amp;rsquo;application (i.e. le container, via Portainer par exemple, puisque l&amp;rsquo;interface d&amp;rsquo;OMV ne permet qu&amp;rsquo;un redémarrage), puis &amp;ldquo;d&amp;rsquo;importer&amp;rdquo; le fichier dans Dockge :&lt;/p&gt;&#xA;&lt;p&gt;Pour cela, aller dans Portainer - Stack, sélectionner Nextcloud, aller dans l&amp;rsquo;onglet Editor, et copier le contenu dans un fichier que l&amp;rsquo;on appellera &lt;code&gt;compose.yaml&lt;/code&gt;. Sur la machine, on crée alors un dossier pour le service, et on y copie le fichier que l&amp;rsquo;on aura transféré auparavant sur la machine :&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-bahs&#34; data-lang=&#34;bahs&#34;&gt;$ su&#xA;# mkdir /opt/stacks/nextcloud&#xA;# cp /home/pascal/compose.yaml /opt/stacks/netxcloud/compose.yaml&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Il suffit alors de recharger la page de Dockge pour voir le service Nextcloud apparaître, il ne reste plus qu&amp;rsquo;à le démarrer.&lt;/p&gt;&#xA;&lt;p&gt;Pour mes deux autres services, je n&amp;rsquo;avais pas utilisé de stack, mais un simple script utilisant &lt;code&gt;docker run&lt;/code&gt;. J&amp;rsquo;ai donc du créer un fichier &lt;code&gt;compose.yaml&lt;/code&gt; pour chacun, et cela m&amp;rsquo;a permis de découvrir deux choses.&lt;/p&gt;&#xA;&lt;h4 id=&#34;plex&#34;&gt;Plex&#xA;&lt;/h4&gt;&lt;p&gt;Pour Plex, j&amp;rsquo;ai arrêté l&amp;rsquo;application via Portainer, créé le fichier &lt;code&gt;compose.yaml&lt;/code&gt; comme indiqué sur &lt;a class=&#34;link&#34; href=&#34;https://docs.linuxserver.io/images/docker-plex/#arm-devices&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;la documentation&lt;/a&gt;, puis copié dans &lt;code&gt;/opt/stacks/plex&lt;/code&gt;. En démarrant Plex, j&amp;rsquo;ai vu ce message concernant la mise à jour qui m&amp;rsquo;a intrigué :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;646px&#34; data-flex-grow=&#34;269&#34; height=&#34;284&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/dockge-gestion-des-container-docker/Capture-decran-du-2024-06-02-16-14-00.png&#34; width=&#34;765&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Comme quoi une interface bien pensée peut être utile ! En allant voir sur le site du container, j&amp;rsquo;ai alors vu que l&amp;rsquo;architecture armv7l (x32) de mon bon vieux odroid-hc2 n&amp;rsquo;était plus supportée :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;417px&#34; data-flex-grow=&#34;173&#34; height=&#34;261&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/dockge-gestion-des-container-docker/Capture-decran-du-2024-06-02-16-15-33.png&#34; width=&#34;454&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Après quelques recherches, la décision sur linuxserver.io de ne plus supporter cette architecture a été &lt;a class=&#34;link&#34; href=&#34;https://www.linuxserver.io/blog/end-of-an-arch&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;clairement annoncé&lt;/a&gt; dès mai 2022. Et de fait, le support est terminé &lt;a class=&#34;link&#34; href=&#34;https://www.linuxserver.io/blog/a-farewell-to-arm-hf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;depuis juillet 2023&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Ce qui veut dire que l&amp;rsquo;odroid-hc2 acheté il y a quatre ans va devenir compliqué à mettre à jour. C&amp;rsquo;est de ma faute, j&amp;rsquo;avais oublié de vérifier ce point en l&amp;rsquo;achetant, les architectures 32 bits sont obsolètes, les constructeurs devraient les avoir abandonnées depuis longtemps.&lt;/p&gt;&#xA;&lt;p&gt;Bref, tant que tout fonctionne, je vais faire durer la situation tant que possible. Mais je peux déjà engager une réflexion sur mon prochain NAS, ce sera peut-être un miniPC avec par exemple un processeur Intel N100 qui offre avec le Quick Sync un meilleur décodage vidéo, chose importante pour Plex, et un point faible que j&amp;rsquo;ai observé avec l&amp;rsquo;odroid-hc2. Voir &lt;a class=&#34;link&#34; href=&#34;https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video#Hardware_decoding_and_encoding&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;cette page&lt;/a&gt; intéressante pour choisir une plateforme Intel. Ces infos viennent d&amp;rsquo;une &lt;a class=&#34;link&#34; href=&#34;https://www.reddit.com/r/france/comments/1d35m2e/mercredi_tech_20240529/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;discussion à ce propos sur reddit&lt;/a&gt; la semaine dernière (premier sujet).&lt;/p&gt;&#xA;&lt;h4 id=&#34;qbittorrent&#34;&gt;Qbittorrent&#xA;&lt;/h4&gt;&lt;p&gt;Pour Qbittorrent, ça a été un peu différent. J&amp;rsquo;avais déjà eu du mal à trouver un container alliant qbittorrent et openvpn pour mon architecture (voir &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=17202&#34; &gt;cet article&lt;/a&gt;) : j&amp;rsquo;ai un compte Mullvad et souhaite utiliser OpenVPN pour m&amp;rsquo;y connecter.&lt;/p&gt;&#xA;&lt;p&gt;Le site est &lt;a class=&#34;link&#34; href=&#34;https://github.com/chrisjohnson00/docker-qBittorrentvpn&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;ici&lt;/a&gt;, et comme le mentionne Chris, il propose bien une version multi-architecture. Hélas, il ne propose que la commande &lt;code&gt;docker run&lt;/code&gt; pour créer le container.&lt;/p&gt;&#xA;&lt;p&gt;Et je n&amp;rsquo;avais pas réussi à l&amp;rsquo;époque à créer un fichier compose valide dans Portainer, avec une erreur au démarrage &amp;quot; &lt;code&gt;Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)&lt;/code&gt;&amp;quot; probablement due à l&amp;rsquo;option &amp;quot; &lt;code&gt;--priviledged -d&lt;/code&gt;&amp;quot; utilisée avec &lt;code&gt;docker run&lt;/code&gt; que je n&amp;rsquo;arrivais pas à définir dans le fichier compose.&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai recréé un fichier compose à partir de mes notes de l&amp;rsquo;époque, et tenté de le faire fonctionner avec Dockge. Après quelques tentatives et modifications, j&amp;rsquo;ai finalement réussi à en créer un de valide :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;version: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;services:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  qbittorrent-openvpn:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    image: chrisjohnson00/qbittorrent-openvpn:latest&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    container_name: qb-openvpn&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    privileged: true&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    sysctls:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - net.ipv6.conf.all.disable_ipv6&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    volumes:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - /srv/dev-disk-by-label-DATA/Download:/downloads&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - /srv/dev-disk-by-label-DATA/AppData/Qbittorrent:/config&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    environment:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - VPN_ENABLED&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;yes&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - LAN_NETWORK&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;192.168.1.0/24&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - NAME_SERVERS&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;8.8.8.8,8.8.4.4&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - VPN_USERNAME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;xxxxxxx&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - VPN_PASSWORD&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;yyyyyyy&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - PUID&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;997&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - PGID&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - WEBUI_PORT_ENV&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;8080&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - INCOMING_PORT_ENV&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;8999&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ports:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - 8080:8080&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - 8999:8999&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - 8999:8999/udp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    restart: unless-stopped&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Et cerise sur le gâteau, au premier démarrage, le container est allé chercher le dernière version automatiquement ! Ce qui m&amp;rsquo;a permis de tester avec succès cette fonctionnalité extrêmement pratique.&lt;/p&gt;&#xA;&lt;p&gt;Voilà, j&amp;rsquo;ai une interface pour les containers Docker qui semble complète. Elle s&amp;rsquo;appuie sur Docker, il faut donc que Docker tourne bien sûr ! Mais pour le reste, elle répond bien aux besoins que l&amp;rsquo;on peut avoir, de façon simple et efficace.&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Chaîne Hi-Fi : passage en numérique avec l&#39;ampli Aiyima D03</title>
            <link>https://pled.fr/chaine-hi-fi-passage-en-numerique-avec-lampli-aiyima-d03/</link>
            <pubDate>Fri, 17 Feb 2023 15:47:16 +0000</pubDate>
            <guid>https://pled.fr/chaine-hi-fi-passage-en-numerique-avec-lampli-aiyima-d03/</guid>
            <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;aiyima.png#floatleft&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai fait &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=15743&#34; &gt;un article&lt;/a&gt; il y a un peu moins de 3 ans sur comment j&amp;rsquo;avais construit ma chaîne Hi-Fi à partir d&amp;rsquo;un Raspberry et d&amp;rsquo;un DAC+ Pro (passage en analogique), connecté à un vieil ampli Kenwood acheté 70 € sur Leboncoin&amp;hellip; Et ça faisait longtemps que l&amp;rsquo;idée me trottait dans la tête de virer mon gros ampli Kenwood qui prenait beaucoup de place et dépassait même du meuble (440x127x380 mm !).&lt;/p&gt;&#xA;&lt;p&gt;Et je lorgnais bien sûr sur les petits amplis digitaux que l&amp;rsquo;on voit maintenant apparaître, de la taille d&amp;rsquo;un livre, et dont on dit le plus grand bien. On appelle ça un FDA ( &lt;strong&gt;F&lt;/strong&gt; ull &lt;strong&gt;D&lt;/strong&gt; igital &lt;strong&gt;A&lt;/strong&gt; mplifier) et vous pouvez lire &lt;a class=&#34;link&#34; href=&#34;https://hifipcguide.com/2016/04/fda-full-digital-amplifier/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;cet article&lt;/a&gt; à ce propos.&lt;/p&gt;&#xA;&lt;p&gt;À partir de là, autant remplacer ma carte HiFiBerry &lt;strong&gt;DAC+ Pro&lt;/strong&gt; par une carte HiFiBerry &lt;strong&gt;Digi2 Pro&lt;/strong&gt; pour rester en numérique jusqu&amp;rsquo;à la sortie vers les enceintes, c&amp;rsquo;est le but du jeu.&lt;/p&gt;&#xA;&lt;p&gt;C&amp;rsquo;est ce que j&amp;rsquo;ai finalement fait, en choisissant un ampli &lt;strong&gt;AIYIMA D03&lt;/strong&gt; qui m&amp;rsquo;a paru assez complet en terme d&amp;rsquo;entrées/sorties, et dont les retours sont plutôt positifs en terme de qualité du son produit. La différence de taille entre l&amp;rsquo;ampli analogique ancienne génération est assez incroyable :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;610px&#34; data-flex-grow=&#34;254&#34; height=&#34;236&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/chaine-hi-fi-passage-en-numerique-avec-lampli-aiyima-d03/amplis.jpg&#34; width=&#34;600&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Voyons cela en détail.&lt;/p&gt;&#xA;&lt;h3 id=&#34;digi2-pro&#34;&gt;Digi2 Pro&#xA;&lt;/h3&gt;&lt;p&gt;Puisque je peux désormais arriver en numérique sur l&amp;rsquo;ampli, autant virer ma carte DAC et la remplacer par une carte HiFi2 Pro : techniquement, c&amp;rsquo;est une une interface &lt;a class=&#34;link&#34; href=&#34;https://fr.wikipedia.org/wiki/S/PDIF&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;SPDIF&lt;/a&gt; haute résolution pour le Raspberry Pi. Ce n&amp;rsquo;est pas une obligation, l&amp;rsquo;ampli Aiyima ayant une entrée RCA, mais c&amp;rsquo;est recommandé pour obtenir un son optimal.&lt;/p&gt;&#xA;&lt;p&gt;Pour cela, je dois démonter la carte DAC+ Pro que j&amp;rsquo;avais installé, et qui servait à convertir le format numérique et analogique pour arriver sur le vieil ampli Kenwood. Voilà les deux cartes en question :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;240px&#34; data-flex-grow=&#34;100&#34; height=&#34;300&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/chaine-hi-fi-passage-en-numerique-avec-lampli-aiyima-d03/dacpluspro.png&#34; width=&#34;300&#34;&gt; &lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;240px&#34; data-flex-grow=&#34;100&#34; height=&#34;300&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/chaine-hi-fi-passage-en-numerique-avec-lampli-aiyima-d03/digi2pro-2.png&#34; width=&#34;300&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;La position du connecteur de sortie optique du Digi2 va m&amp;rsquo;obliger à limer le boîtier plastique, mais heureusement avec une simple lime ce sera vite fait (heureusement que je n&amp;rsquo;ai pas un boîtier métal !) :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;240px&#34; data-flex-grow=&#34;100&#34; height=&#34;300&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/chaine-hi-fi-passage-en-numerique-avec-lampli-aiyima-d03/dacpluspro1.png&#34; width=&#34;300&#34;&gt; &lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;285px&#34; data-flex-grow=&#34;119&#34; height=&#34;252&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/chaine-hi-fi-passage-en-numerique-avec-lampli-aiyima-d03/digi2pro1.png&#34; width=&#34;300&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Je n&amp;rsquo;ai pas non plus resserré les petits écrous en acrylique : j&amp;rsquo;ai gardé les existants (ceux du DAC) car mine de rien avec la chaleur ils étaient difficiles à visser/dévisser. Pas trop étonnant vu la taille des filetages, c&amp;rsquo;est déjà impressionnant qu&amp;rsquo;ils arrivent à faire tout ça en plastique ! Et comme le Raspberry n&amp;rsquo;est pas destiné à bouger du meuble, ça ne craint rien.&lt;/p&gt;&#xA;&lt;h2 id=&#34;smsl-ad18&#34;&gt;SMSL AD18&#xA;&lt;/h2&gt;&lt;p&gt;J&amp;rsquo;ai commencé par regarder &lt;a class=&#34;link&#34; href=&#34;https://www.smsl-audio.com/portal/product/lists/id/4.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;la gamme de S.M.S.L&lt;/a&gt;, car j&amp;rsquo;avais lu de bonnes critiques sur un de leurs amplis quand j&amp;rsquo;avais acheté mon Raspberry (j&amp;rsquo;avais déjà envisagé un ampli numérique à l&amp;rsquo;époque). Côté &amp;ldquo;entrées&amp;rdquo;, l&amp;rsquo;idée était d&amp;rsquo;avoir une entrée Coax pour la carte Digi2, mais aussi une entrée optique si jamais la barre son de ma TV tombait en rade (la plupart des TVs ont une sortie optique pour le son).&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;271px&#34; data-flex-grow=&#34;113&#34; height=&#34;530&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/chaine-hi-fi-passage-en-numerique-avec-lampli-aiyima-d03/smslad18.png&#34; width=&#34;600&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Chez SMSL, il y a le modèle &lt;a class=&#34;link&#34; href=&#34;https://www.smsl-audio.com/portal/product/detail/id/566.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;AD18&lt;/a&gt; qui pouvait me convenir, malgré une entrée Coax sous la forme d&amp;rsquo;un mini-jack qui se répartit entre l&amp;rsquo;entrée Coax et une sortie Subwoofer (caisson de basses) :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;993px&#34; data-flex-grow=&#34;413&#34; height=&#34;145&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/chaine-hi-fi-passage-en-numerique-avec-lampli-aiyima-d03/minijack.png&#34; width=&#34;600&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Quelques specs à retenir : Bluetooth 4.2, puissance de 80W@4ohm x2, et concernant les chips utilisés (n&amp;rsquo;y connaissant rien, je n&amp;rsquo;ai pas creusé plus que ça le sujet) ce sont des chips de Texas Instrument TAS5508C+TAS5342A qui s&amp;rsquo;occupent de l&amp;rsquo;amplification (passage du numérique à l&amp;rsquo;analogique). Le prix sur Amazon est de 145 €.&lt;/p&gt;&#xA;&lt;p&gt;Je n&amp;rsquo;ai trouvé hélas aucun modèle avec les entrées que je souhaitais.&lt;/p&gt;&#xA;&lt;h2 id=&#34;aiyima-d03&#34;&gt;Aiyima D03&#xA;&lt;/h2&gt;&lt;p&gt;Et puis je suis tombé sur ce modèle chez Aiyima, qui propose une connectique avec une vraie entrée Coax et une autre numérique (soit exactement ce que je voulais) :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;307px&#34; data-flex-grow=&#34;128&#34; height=&#34;468&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/chaine-hi-fi-passage-en-numerique-avec-lampli-aiyima-d03/aiyimarear.png&#34; width=&#34;600&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;381px&#34; data-flex-grow=&#34;159&#34; height=&#34;377&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/chaine-hi-fi-passage-en-numerique-avec-lampli-aiyima-d03/aiyimafront.png&#34; width=&#34;600&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;À noter aussi que le bouton Volume de la face avant permet d&amp;rsquo;une simple pression à passer au réglage des &amp;ldquo;Treble&amp;rdquo; puis des &amp;ldquo;Bass&amp;rdquo; avant de revenir au Volume (et non pas de couper le son, comme indiqué sur l&amp;rsquo;image&amp;hellip; mais sinon je passais à côté de cette fonctionnalité, je ne l&amp;rsquo;ai lu nulle part !).&lt;/p&gt;&#xA;&lt;p&gt;Côté specs, on a du Bluetooth 5.0, une puissance de 150W@4ohm x2, et des chips Texas Instruments TAS5548 et TAS5624. Il est à 153 € sur Amazon.&lt;/p&gt;&#xA;&lt;p&gt;Ce qui achevé de me convaincre pour ce modèle, c&amp;rsquo;est la lecture d&amp;rsquo;articles où il était mentionné que le son en sortie du Aiyima était assez &amp;ldquo;naturel&amp;rdquo; comparé à d&amp;rsquo;autres amplis numériques où le son est extrêmement &amp;ldquo;détaillé&amp;rdquo; (comme celui du SMSL).&lt;/p&gt;&#xA;&lt;p&gt;Le Bluetooth permet bien sûr d&amp;rsquo;envoyer de la musique directement du smartphone, ça peut servir… Il est aussi recommandé d&amp;rsquo;y ajouter un caisson de basse pour obtenir une qualité de son encore meilleure, ce que je ferai certainement. &lt;a class=&#34;link&#34; href=&#34;https://www.audiophile-heaven.com/2022/08/aiyima-audio-d03-stereo-hifi-amplifier-power-class-high-price-class-minimal.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Cet article&lt;/a&gt; en fait une revue assez complète.&lt;/p&gt;&#xA;&lt;h3 id=&#34;volumio&#34;&gt;Volumio&#xA;&lt;/h3&gt;&lt;p&gt;Une fois tout rebranché et démarré, côté Volumio, il ne reste plus qu&amp;rsquo;à aller dans Réglages - Système, et relancer l&amp;rsquo;assistant de configuration (c&amp;rsquo;est plutôt bien pensé) :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;386px&#34; data-flex-grow=&#34;161&#34; height=&#34;335&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/chaine-hi-fi-passage-en-numerique-avec-lampli-aiyima-d03/volumio1.png&#34; width=&#34;540&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Et de choisir le HifiBerry Digi+ Pro (c&amp;rsquo;est le prédécesseur du Digi2 Pro) :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;386px&#34; data-flex-grow=&#34;161&#34; height=&#34;335&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/chaine-hi-fi-passage-en-numerique-avec-lampli-aiyima-d03/volumio2.png&#34; width=&#34;540&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Peut-être qu&amp;rsquo;en faisant une mise à jour de Volumio (ma version est la 3.215 de Mars 2022) je verrais apparaître ce nouveau modèle, mais je laisse comme ça pour trois raisons :&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;J&amp;rsquo;ai Pi-Hole qui tourne sur le même Raspberry (voir &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=18707&#34; &gt;ici&lt;/a&gt;), et je n&amp;rsquo;ai pas envie de tout casser par le système de mise à jour de Volumio, ni de tout réinstaller.&lt;/li&gt;&#xA;&lt;li&gt;En vérifiant sur le &lt;a class=&#34;link&#34; href=&#34;https://community.volumio.org/t/volumio-changelog/1446&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;ChangeLog&lt;/a&gt; de Volumio, je ne vois rien à ce sujet.&lt;/li&gt;&#xA;&lt;li&gt;Tout fonctionne bien en indiquant ce modèle.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Et voilà, je lance la lecture et tout fonctionne ! Enfin presque, je n&amp;rsquo;ai plus le contrôle du volume dans Volumio, il me faut aller dans Réglages - Options de lecture et passer le type de mixeur à Logiciel (avec le DAC j&amp;rsquo;étais en Matériel) :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;406px&#34; data-flex-grow=&#34;169&#34; height=&#34;317&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/chaine-hi-fi-passage-en-numerique-avec-lampli-aiyima-d03/volumio3.png&#34; width=&#34;537&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Et voilà, je peux contrôler le volume depuis l&amp;rsquo;application Volumio sur le smartphone. Le mieux est de prérégler le volume de l&amp;rsquo;ampli assez fort, puis de le contrôler ensuite via l&amp;rsquo;appli.&lt;/p&gt;&#xA;&lt;h3 id=&#34;conclusion&#34;&gt;Conclusion&#xA;&lt;/h3&gt;&lt;p&gt;Le changement a été hyper simple à réaliser (et rapide !), bravo à Volumio qui simplifie tout de même grandement les choses.&lt;/p&gt;&#xA;&lt;p&gt;Le son est bon je trouve, peut-être meilleur qu&amp;rsquo;avec le DAC et l&amp;rsquo;ampli Kenwood, mais n&amp;rsquo;étant pas mélomane, c&amp;rsquo;est très subjectif et ne vaut pas plus qu&amp;rsquo;un avis personnel ! Je pense qu&amp;rsquo;effectivement, ce sera encore meilleur avec un caisson de basse, même si, avec mes enceintes et leurs évents bass-reflex, c&amp;rsquo;est déjà pas mal&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Le gain de place dans le meuble, si ça paraît anecdotique, est tout de même bien appréciable.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;765px&#34; data-flex-grow=&#34;319&#34; height=&#34;188&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/chaine-hi-fi-passage-en-numerique-avec-lampli-aiyima-d03/meuble.png&#34; width=&#34;600&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Bref, vive le numérique ! :cool:&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Installation de Volumio 3 et Pihole 5</title>
            <link>https://pled.fr/installation-de-volumio-3-et-pihole-5/</link>
            <pubDate>Thu, 28 Apr 2022 16:00:34 +0000</pubDate>
            <guid>https://pled.fr/installation-de-volumio-3-et-pihole-5/</guid>
            <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;volumio-pihole-1.jpg#floatleft&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Hier, j&amp;rsquo;ai donc installé Volumio 3, qui a le mérite de tourner enfin sous une version Raspbian v10 &amp;ldquo;buster&amp;rdquo; supportée, alors que Volumio 2 était toujours sous la v8 Jessie, ce qui avait énormément compliqué l&amp;rsquo;installation de Pihole sur la même machine (voir &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=16628&#34; &gt;cet article&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;Volumio 2 propose bien de mettre le système à jour, mais cette opération a échoué, et j&amp;rsquo;ai fini par repartir de l&amp;rsquo;image disque de Volumio 3 (mais vu que la mise à jour effaçait tout, cela ne changeait pas grand chose). Puis j&amp;rsquo;ai installé la dernière version de Pi-hole (v5.10) qui a été cette fois beaucoup plus simple à faire. J&amp;rsquo;ai juste rencontré un conflit entre Pi-hole et le hotspot de Volumio, vite réglé.&lt;/p&gt;&#xA;&lt;p&gt;Tout est désormais opérationnel, et c&amp;rsquo;est une bonne chose de faite. Pi-hole m&amp;rsquo;est vraiment devenu indispensable, avoir son propre serveur DNS est bien utile de nos jours. Quant à Volumio, je ne l&amp;rsquo;installe que pour éviter d&amp;rsquo;avoir à configurer moi-même le daemon &lt;strong&gt;mpd&lt;/strong&gt; et la carte &lt;strong&gt;DAC HifiBerry Plus&lt;/strong&gt; sur un OS Raspbian brut. Une fois ceci fait, je n&amp;rsquo;utilise aucune application ou fonctionnalité de Volumio, mais des applis qui se connectent directement au daemon mpd.&lt;/p&gt;&#xA;&lt;p&gt;Revoyons tout cela pas à pas&amp;hellip;&lt;/p&gt;&#xA;&lt;h3 id=&#34;ssh-keys&#34;&gt;SSH keys&#xA;&lt;/h3&gt;&lt;p&gt;Tout a commencé par un problème de &amp;ldquo;SSH keys&amp;rdquo;, le login automatique ne fonctionnait plus entre mon PC et le Raspberry où tournait Volumio 2. Avec pour conséquence de ne plus pouvoir synchroniser ma musique avec le PC de manière automatique (mon PC est la source de ma musique, et je la synchronise sur le disque USB de mon Raspberry).&lt;/p&gt;&#xA;&lt;p&gt;En regardant de plus près grâce à &lt;a class=&#34;link&#34; href=&#34;https://www.ssh.com/academy/ssh/copy-id&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;cette page&lt;/a&gt;, le message d&amp;rsquo;erreur était :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;debug1: send_pubkey_test: no mutual signature algorithm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Un peu de recherche et il apparaissait vite que le problème venait de la version &amp;ldquo;Jessie&amp;rdquo; de Volumio 2 qui devenait vraiment trop ancienne. Il était temps de changer ! Or un rapide tour du côté de Volumio m&amp;rsquo;apprenait que Volumio 3 disponible depuis quelques mois &lt;a class=&#34;link&#34; href=&#34;https://volumio.com/en/lets-make-volumio-3-happen/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;tournait sous Debian Buster&lt;/a&gt; ! Parfait !&lt;/p&gt;&#xA;&lt;h3 id=&#34;mise-à-jour&#34;&gt;Mise à jour&#xA;&lt;/h3&gt;&lt;p&gt;Cerise sur le gâteau, la web interface de Volumio me proposait carrément de faire la mise à jour vers cette nouvelle version.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;508px&#34; data-flex-grow=&#34;211&#34; height=&#34;420&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-de-volumio-3-et-pihole-5/update.png&#34; srcset=&#34;https://pled.fr/installation-de-volumio-3-et-pihole-5/update_hu_33b1a5c2b561c991.png 800w, https://pled.fr/installation-de-volumio-3-et-pihole-5/update.png 890w&#34; width=&#34;890&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Bon, sérieusement, quand on vous dit que toute votre config va être perdue, et qu&amp;rsquo;il est même recommandé de débrancher le disque USB car il pourrait être effacé lors de l&amp;rsquo;opération&amp;hellip; Je ne sais pas si on peut vraiment parler de &amp;ldquo;mise à jour&amp;rdquo; ! :wink:&lt;/p&gt;&#xA;&lt;p&gt;Mais bon, ça a tout de même le mérite de simplifier l&amp;rsquo;opération, alors allons-y (après avoir débrancher le disque USB où se trouve toute ma musique !). Et ma foi, ça démarre plutôt bien :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;726px&#34; data-flex-grow=&#34;302&#34; height=&#34;187&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-de-volumio-3-et-pihole-5/update1.png&#34; width=&#34;566&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Hélas, si l&amp;rsquo;opération va jusqu&amp;rsquo;à son terme sans erreur, le système ne redémarrera jamais. Il est temps de passer au plan B : récupérer l&amp;rsquo;image disque pour mon Raspberry, et flasher l&amp;rsquo;image moi-même.&lt;/p&gt;&#xA;&lt;h3 id=&#34;limage-disque&#34;&gt;L&amp;rsquo;image disque&#xA;&lt;/h3&gt;&lt;p&gt;Je récupère donc l&amp;rsquo;image de Volumio 3 sur &lt;a class=&#34;link&#34; href=&#34;https://volumio.com/en/get-started/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;cette page&lt;/a&gt;. Une fois le fichier dézippé, j&amp;rsquo;obtiens une image disque au format &lt;code&gt;.img&lt;/code&gt;. Reste donc à flasher cette image sur la carte micro-SD de mon Raspberry.&lt;/p&gt;&#xA;&lt;p&gt;Or depuis que je suis sous Debian, je n&amp;rsquo;ai pas réinstallé &lt;a class=&#34;link&#34; href=&#34;https://www.balena.io/etcher/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Balena Etcher&lt;/a&gt; (même si j&amp;rsquo;aime bien se soft) car il y a des dépendances, une repository à installer, et j&amp;rsquo;essaie de garder mon système Debian le plus &amp;ldquo;clean&amp;rdquo; possible. J&amp;rsquo;allais donc utiliser une bonne vieille commande &lt;code&gt;dd&lt;/code&gt; lorsque je me suis aperçu que l&amp;rsquo;utilitaire disque de Gnome me permettait de le faire ! :cool:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;350px&#34; data-flex-grow=&#34;146&#34; height=&#34;652&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-de-volumio-3-et-pihole-5/disk-1.png&#34; srcset=&#34;https://pled.fr/installation-de-volumio-3-et-pihole-5/disk-1_hu_60a7ae2ae7084547.png 800w, https://pled.fr/installation-de-volumio-3-et-pihole-5/disk-1.png 952w&#34; width=&#34;952&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Il suffit alors d&amp;rsquo;aller chercher le fichier &lt;code&gt;Volumio-3.251-2022-03-31-pi.img&lt;/code&gt; précédemment dézippé, puis de lancer l&amp;rsquo;opération. Une fois ceci fait, il ne reste plus qu&amp;rsquo;à insérer la microSD dans le Raspberry et de démarrer.&lt;/p&gt;&#xA;&lt;p&gt;Au passage, bravo à Gnome, c&amp;rsquo;est du beau boulot, et j&amp;rsquo;apprécie chaque jour davantage d&amp;rsquo;utiliser cet environnement de bureau, beau et fonctionnel.&lt;/p&gt;&#xA;&lt;p&gt;On procède ensuite comme pour une première installation de Volumio. soit on passe par le Hotspot wifi, soit si on a un câble Ethernet par la WebUI à l&amp;rsquo;adresse &lt;a class=&#34;link&#34; href=&#34;http://volumio.local&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;http://volumio.local&lt;/a&gt; (voir la doc &lt;a class=&#34;link&#34; href=&#34;https://volumio.github.io/docs/User_Manual/Quick_Start_Guide.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;ici&lt;/a&gt;). Puis on répond aux deux ou trois questions pour finaliser l&amp;rsquo;installation. Bonne nouvelle : mon &lt;strong&gt;HiFiBerry DAC+ Pro&lt;/strong&gt; est cette fois proposé (ce qui n&amp;rsquo;était pas le cas avec Volumio 2) :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;437px&#34; data-flex-grow=&#34;182&#34; height=&#34;276&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-de-volumio-3-et-pihole-5/hifiberry.png&#34; width=&#34;503&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Reste à activer le SSH en allant sur la page &lt;code&gt; http://volumio.local/DEV&lt;/code&gt;. Puis se connecter, et monter le disque USB dans &lt;code&gt;/etc/fstab&lt;/code&gt; sur &lt;code&gt;/media/Music&lt;/code&gt; :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;volumio@volumio:~$ cat /etc/fstab | grep sda1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/dev/sda1&#x9;/media/Music&#x9;    ext4    defaults,rw&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;On peut enfin, dans l&amp;rsquo;interface de Volumio, aller dans &lt;strong&gt;Réglages - Sources&lt;/strong&gt; puis choisir &amp;ldquo;Scanner à nouveau&amp;rdquo;. La bibliothèque musicale se construit alors, et il est recommandé de ne pas écouter de musique pendant cette opération.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;538px&#34; data-flex-grow=&#34;224&#34; height=&#34;297&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-de-volumio-3-et-pihole-5/musique.png&#34; width=&#34;667&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;pi-hole&#34;&gt;Pi-hole&#xA;&lt;/h3&gt;&lt;p&gt;Avec Volumio 2, l&amp;rsquo;installation de Pi-hole s&amp;rsquo;était révélée plutôt coriace (voir &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=16628&#34; &gt;ici&lt;/a&gt;), mais cette fois, sur un OS supporté, tout s&amp;rsquo;est à peu près bien passé.&lt;/p&gt;&#xA;&lt;p&gt;Comme &lt;a class=&#34;link&#34; href=&#34;https://docs.pi-hole.net/main/prerequisites/#supported-operating-systems&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;recommandé&lt;/a&gt;, j&amp;rsquo;ai d&amp;rsquo;abord assigné des adresses IP fixes au Raspberry. Je suis allé modifier le fichier &lt;code&gt;/etc/dhcpcd.conf&lt;/code&gt; pour y indiquer les adresses souhaitées pour &lt;code&gt;eth0&lt;/code&gt; et &lt;code&gt;wlan0&lt;/code&gt; :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# static IP configuration :&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;interface eth0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;static ip_address&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;192.168.1.18/24&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;static routers&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;192.168.1.1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;static domain_name_servers&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;1.1.1.1 8.8.8.8 fd51:42f8:caae:d92e::1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;interface wlan0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;static ip_address&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;192.168.1.17/24&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;static routers&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;192.168.1.1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;static domain_name_servers&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;1.1.1.1 8.8.8.8 fd51:42f8:caae:d92e::1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Uns fois ceci fait et le système redémarré, j&amp;rsquo;ai lancé le script d&amp;rsquo;installation de Pi-hole :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;volumio@volumio:~$ curl -sSL https://install.pi-hole.net | bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;On répond aux quelques questions, et l&amp;rsquo;installation se déroule sans accrocs, la dernière fenêtre vous informe du mot de passe pour accéder à la page d&amp;rsquo;administration :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;354px&#34; data-flex-grow=&#34;147&#34; height=&#34;533&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-de-volumio-3-et-pihole-5/pihole-complete.png&#34; width=&#34;788&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;S&amp;rsquo;il faut relancer le setup pour une raison ou pour une autre, la commande est :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;volumio@volumio:~$ sudo pihole -r&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Il reste une chose importante à faire, c&amp;rsquo;est de modifier le port utilisé par &lt;code&gt;lighttpd&lt;/code&gt; (le web serveur de pihole) puisque nous avons Volumio qui occupe le port par défaut (80). Il faut donc éditer le fichier &lt;code&gt;/etc/lighttpd/lighttpd.conf&lt;/code&gt; et modifier les lignes suivantes :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;server.errorlog             &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/tmp/lighttpd_error.log&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;server.port                 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;8080&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;accesslog.filename          &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/tmp/lighttpd_access.log&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;En fait, pour les logs, je ne suis pas certain qu&amp;rsquo;il faille les modifier, mais j&amp;rsquo;ai fait comme lors de l&amp;rsquo;installation précédente.&lt;/p&gt;&#xA;&lt;p&gt;Normalement, tout est alors terminé, mais hélas, lorsque je rends sur l&amp;rsquo;interface, je vois que Pi-hole ne fonctionne pas :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;442px&#34; data-flex-grow=&#34;184&#34; height=&#34;413&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-de-volumio-3-et-pihole-5/pihole-FTL-1.png&#34; width=&#34;761&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-ftl-service-is-offline&#34;&gt;The FTL service is offline!&#xA;&lt;/h2&gt;&lt;p&gt;Le service pihole-FTL est donc indiqué offline. Regardons l&amp;rsquo;état du service en question :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo systemctl status pihole-FTL&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;● pihole-FTL.service - LSB: pihole-FTL daemon&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   Loaded: loaded &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;/etc/init.d/pihole-FTL; generated&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   Active: active &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;exited&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; since Sun 2022-04-24 15:20:46 UTC; 3min 43s ago&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     Docs: man:systemd-sysv-generator&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;8&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Process: &lt;span style=&#34;color:#ae81ff&#34;&gt;597&lt;/span&gt; ExecStart&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/etc/init.d/pihole-FTL start &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;code&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;exited, status&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;0/SUCCESS&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Apr &lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt; 15:20:44 volumio systemd&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;1&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;: Starting LSB: pihole-FTL daemon...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Apr &lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt; 15:20:44 volumio pihole-FTL&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;597&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;: Not running&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Apr &lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt; 15:20:44 volumio su&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;633&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;: &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;to pihole&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; root on none&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Apr &lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt; 15:20:44 volumio su&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;633&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;: pam_unix&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;su:session&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;: session opened &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; user pihole by &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;uid&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;0&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Apr &lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt; 15:20:46 volumio pihole-FTL&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;597&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;: dnsmasq: illegal repeated keyword at line &lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt; of /etc/dnsmasq.d/hotspot.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Apr &lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt; 15:20:46 volumio systemd&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;1&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;: Started LSB: pihole-FTL daemon.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;On voit qu&amp;rsquo;il y a un problème avec le fichier &lt;code&gt;/etc/dnsmasq.d/hotspot.conf&lt;/code&gt;. Que contient ce fichier ?&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;volumio@volumio:~$ cat /etc/dnsmasq.d/hotspot.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# dnsmasq hotspot configuration for Volumio&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Only listen on wifi interface&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;interface&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;wlan0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Always return 192.168.211.1 for any query not answered from /etc/hosts or DHCP and not sent to an upstream nameserver&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;address&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/#/192.168.211.1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# DHCP server not active on wired lan interface&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;no-dhcp-interface&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;eth0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# IPv4 address range, netmask and lease time&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dhcp-range&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;192.168.211.100,192.168.211.200,255.255.255.0,24h&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# DNS server&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dhcp-option&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;option:dns-server,192.168.211.1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;expand-hosts&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;domain&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;local&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Facility to which dnsmasq will send syslog entries&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;log-facility&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;local7&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Il s&amp;rsquo;agit donc d&amp;rsquo;un fichier créé par Volumio et la configuration de son &lt;strong&gt;hotspot&lt;/strong&gt;. Or ce hotspot n&amp;rsquo;est pas vraiment utile une fois l&amp;rsquo;installation terminée. C&amp;rsquo;est confirmé par la documentation &lt;a class=&#34;link&#34; href=&#34;https://volumio.github.io/docs/User_Manual/Quick_Start_Guide.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;ici&lt;/a&gt;. Je l&amp;rsquo;ai d&amp;rsquo;ailleurs dévalidé dans les settings réseau :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;1193px&#34; data-flex-grow=&#34;497&#34; height=&#34;119&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-de-volumio-3-et-pihole-5/hotspot.png&#34; width=&#34;592&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Je peux donc en toute tranquillité mettre en commentaire toutes les lignes de ce fichier &lt;code&gt;hotspot.conf&lt;/code&gt;. Je fais cela pour éviter de l&amp;rsquo;effacer, je pourrais en avoir besoin en cas de problème avec Volumio (si mon wifi était indisponible). Et comme chaque fichier présent dans ce dossier &lt;code&gt;/etc/dnsmasq.d&lt;/code&gt; est lu et interprété, il ne suffit pas de le renommer.&lt;/p&gt;&#xA;&lt;p&gt;Une fois ceci fait, il ne reste qu&amp;rsquo;à relancer le service pihole-FTL :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo systemctl restart pihole-FTL&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;On recharge l&amp;rsquo;interface web de Pi-hole et voilà, tout est fonctionnel ! :cool:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;336px&#34; data-flex-grow=&#34;140&#34; height=&#34;164&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-de-volumio-3-et-pihole-5/pihole-OK.png&#34; width=&#34;230&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Voilà, reste à configurer le serveur DHCP comme expliqué sur &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=17148&#34; &gt;cet article&lt;/a&gt;, vu que j&amp;rsquo;ai toujours une box orange.&lt;/p&gt;&#xA;&lt;h3 id=&#34;ads-liste&#34;&gt;Ads liste&#xA;&lt;/h3&gt;&lt;p&gt;Concernant la liste des sites à bloquer, s&amp;rsquo;il y en a une d&amp;rsquo;installée par défaut, j&amp;rsquo;ai préféré en rajouter d&amp;rsquo;autres, que j&amp;rsquo;ai tiré de &lt;a class=&#34;link&#34; href=&#34;https://www.sammatthews.co.uk/2022/02/pi-hole-ad-lists/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;cet article&lt;/a&gt;. On va dans &lt;strong&gt;Group Management&lt;/strong&gt; - &lt;strong&gt;Adlists&lt;/strong&gt;, et y colle la liste de sites fournis. Voilà le fichier au cas où la page disparaîtrait (c&amp;rsquo;est ce qui s&amp;rsquo;est passé avec l&amp;rsquo;installation précédente de Pi-hole !) :&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://pled.fr/wp-content/uploads/2022/04/adlist.txt&#34; &gt;adlist&lt;/a&gt; &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/wp-content/uploads/2022/04/adlist.txt&#34; &gt;Télécharger&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Reste à mettre à jour la base de données :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo pihole -g&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Et voilà, je suis bien protégé contre les pubs :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;394px&#34; data-flex-grow=&#34;164&#34; height=&#34;479&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-de-volumio-3-et-pihole-5/pihole-g.png&#34; width=&#34;788&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;En procédant ainsi, je devrais certainement être attentif lorsque je n&amp;rsquo;arrive pas à accéder à un site : aller voir le Query Log de Pihoel et éventuellement ajouter à la white list les domaines bloqués&amp;hellip; mais en toute connaissance de cause, et ce n&amp;rsquo;est pas un détail.&lt;/p&gt;&#xA;&lt;h3 id=&#34;conclusion&#34;&gt;Conclusion&#xA;&lt;/h3&gt;&lt;p&gt;C&amp;rsquo;est bien que Volumio fournisse une version qui tourne sur un OS supporté ! Cela m&amp;rsquo;a permis de régler le problème de clefs SSH, l&amp;rsquo;écart entre mon PC sous Debian 12 et le Raspberry sous Debian 8 commençait à poser des problèmes !&lt;/p&gt;&#xA;&lt;p&gt;Du coup, j&amp;rsquo;ai été amené à réinstaller la dernière version de Pi-hole. Je suis passé de la version 5.2.2 à la version 5.10 :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;1154px&#34; data-flex-grow=&#34;481&#34; height=&#34;101&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-de-volumio-3-et-pihole-5/pihole522.png&#34; width=&#34;486&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;1155px&#34; data-flex-grow=&#34;481&#34; height=&#34;87&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-de-volumio-3-et-pihole-5/pihole510.png&#34; width=&#34;419&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Concernant le support, cette configuration n&amp;rsquo;est pas vraiment supportée : Volumio fournit une image disque, c&amp;rsquo;est pour être le seul soft à tourner. Et quand vous allez sur les forums Pi-hole, on vous dit que &amp;ldquo;Volumio OS&amp;rdquo; n&amp;rsquo;est pas supporté ! (alors que Debian 10 oui !). On vous conseille même d&amp;rsquo;utiliser un Raspberry pour chaque soft !! Exactement ce que je ne veux pas faire, mon but étant d&amp;rsquo;optimiser l&amp;rsquo;utilisation du Raspberry, pas de les multiplier.&lt;/p&gt;&#xA;&lt;p&gt;Il faudrait que je tente un jour d&amp;rsquo;installer un Rapbian pur et dur, puis de configurer le dameon &lt;strong&gt;mpd&lt;/strong&gt; manuellement pour ma musique. Et ensuite installer Pi-hole. Ce serait plus propre.&lt;/p&gt;&#xA;&lt;p&gt;Mais bon, tout fonctionne très bien comme ça, alors j&amp;rsquo;en profite ! :cool:&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Openmediavault : Organisation des sauvegardes</title>
            <link>https://pled.fr/openmediavault-strategie-de-sauvegarde/</link>
            <pubDate>Thu, 11 Feb 2021 18:07:55 +0000</pubDate>
            <guid>https://pled.fr/openmediavault-strategie-de-sauvegarde/</guid>
            <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;clonezilla.png#floatleft&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Après voir mis en place mon serveur OMV, installé Plex, Nextcloud et qBittorrent-OpenVPN, il était temps de penser à la sauvegarde !&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai abandonné la baie Synology avec son RAID 1 (2 disques en miroir), et je n&amp;rsquo;ai plus qu&amp;rsquo;un seul disque sur mon magnifique Odroid-hc2 ! Et même si le RAID n&amp;rsquo;est une solution de sauvegarde, je ne sauvegardais que mes données avec la baie Synology.&lt;/p&gt;&#xA;&lt;p&gt;Il s&amp;rsquo;agit maintenant de tout sauvegarder, alors voilà comment je me suis organisé :&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;pour les données, j&amp;rsquo;ai mis en place des jobs Rsync, ce que OMV permet de faire très facilement. La cible de sauvegarde se trouve sur le PC, sur lequel tourne un daemon Rsync.&lt;/li&gt;&#xA;&lt;li&gt;pour les containers Docker, après un premier essai avec Rsync (non concluant, voir plus bas), j&amp;rsquo;ai fait &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=17665&#34; &gt;un article dédié&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;pour le disque système d&amp;rsquo;OMV, après avoir essayé sans succès des scripts utilisant la commande &lt;code&gt;dd&lt;/code&gt;, je me suis rabattu sur Clonezilla pour sauvegarder une image de la carte microSD qui sert de disque système au odroid-hc2.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Voyons tout cela en détail&amp;hellip;&lt;/p&gt;&#xA;&lt;h3 id=&#34;le-serveur-rsync-sur-le-pc&#34;&gt;Le serveur Rsync sur le PC&#xA;&lt;/h3&gt;&lt;p&gt;On commence par installer un serveur Rsync sur le PC, où seront sauvegardées mes données d&amp;rsquo;OMV. J&amp;rsquo;ai déjà décrit en détail cette procédure dans &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=10062&#34; &gt;un article&lt;/a&gt; au temps de la baie Synology, je me limite donc à l&amp;rsquo;essentiel ici :&lt;/p&gt;&#xA;&lt;p&gt;Il faut d&amp;rsquo;abord autoriser le service &lt;strong&gt;rsync&lt;/strong&gt; à se lancer en éditant le fichier &lt;code&gt;/etc/default/rsync&lt;/code&gt; pour y modifier la ligne suivante comme suit : &lt;code&gt;RSYNC_ENABLE=true&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Il faut ensuite créer un fichier de configuration &lt;code&gt;/etc/rsyncd.conf&lt;/code&gt; pour y définir principalement le ou les différent(s) dossier(s) sur le PC qui seront utilisés pour chaque tâche de sauvegarde, qui est identifiée par un nom de module entre crochets :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pascal$ cat /etc/rsyncd.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;uid &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; rsync&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gid &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; rsync&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;max connections &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;log file &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; /var/log/rsyncd.log&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;timeout &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;300&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;omv-films-rsync&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   path &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; /Disk1/OMV-FILMS&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   comment &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Sauvegarde fichiers Films de Plex sur le NAS OMV&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   read only &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; false&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   hosts allow &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; 192.168.1.30&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   hosts deny &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;omv-docus-rsync&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   path &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; /Disk2/OMV-DOCUS&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   comment &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Sauvegarde fichiers Docus de Plex sur le NAS OMV&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   read only &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; false&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   hosts allow &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; 192.168.1.30&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   hosts deny &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;omv-AppData-rsync&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   path &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; /Disk2/OMV-AppData&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   comment &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Sauvegarde fichiers AppData sur le NAS OMV&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   read only &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; false&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   hosts allow &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; 192.168.1.30&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   hosts deny &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;On commence par définir l&amp;rsquo;utilisateur, puis pour chaque dossier un &amp;lsquo;module&amp;rsquo; (par ex. &lt;code&gt;[omv-rsync-films]&lt;/code&gt;) où l&amp;rsquo;on définit le chemin, l&amp;rsquo;adresse IP autorisée, etc&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Dans mon cas, c&amp;rsquo;est l&amp;rsquo;utilisateur rsync, et je place les films de mon serveur Plex dans un dossier sur Disk1, et vu la taille, je mets le reste sur Disk2, à savoir les documentaires de Plex, ainsi que toute la partie Docker d&amp;rsquo;OMV (docker + les fichiers de configuration des containers, voir l&amp;rsquo;article &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=17223&#34; &gt;Déplacement de Docker&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;Enfin, il faut créer l&amp;rsquo;utilisateur rsync, lui donner un mot de passe, puis les droits sur les dossiers utilisés :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo useradd rsync&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo passwd rsync&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo groupadd rsync&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo gpasswd -a rsync rsync&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo chown -R rsync:rsync /Disk1/Odroid-OMV&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo chmod -R &lt;span style=&#34;color:#ae81ff&#34;&gt;775&lt;/span&gt; /Disk1/Odroid-OMV&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Voilà pour la partie côté PC (destination de la sauvegarde).&lt;/p&gt;&#xA;&lt;h3 id=&#34;les-jobs-rsync-côté-omv&#34;&gt;Les jobs Rsync côté OMV&#xA;&lt;/h3&gt;&lt;p&gt;Grâce à OMV, cette partie est vraiment très facile. On se place donc dans la section &amp;ldquo;Services-Rsync&amp;rdquo;, et l&amp;rsquo;on crée un &amp;lsquo;job&amp;rsquo; pour chaque tâche que l&amp;rsquo;on souhaite définir :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;566px&#34; data-flex-grow=&#34;236&#34; height=&#34;370&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-strategie-de-sauvegarde/rsync1.png&#34; srcset=&#34;https://pled.fr/openmediavault-strategie-de-sauvegarde/rsync1_hu_b8d0b07658156f1e.png 800w, https://pled.fr/openmediavault-strategie-de-sauvegarde/rsync1.png 874w&#34; width=&#34;874&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Info&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai depuis cet article supprimé la sauvegarde de AppData des jobs rsync, ce dossier comporte des milliers de petits fichiers, et ça ne sert pas à grand chose de le sauvegarder. À relier avec la façon de sauvegarder les containers Docker ci-dessous.&lt;/p&gt;&#xA;&lt;p&gt;Pour chaque job, on définit donc le mode &amp;ldquo;Push&amp;rdquo;, puis on sélectionne le &amp;lsquo;shared folder&amp;rsquo; correspondant définit dans OMV. Pour la destination, la syntaxe est la suivante : &lt;code&gt;nom_utilisateur@adresse_IP_distante::nom_module_rsync&lt;/code&gt; (donc l&amp;rsquo;adresse de mon PC et le nom du module définit dans le ficher &lt;code&gt;/etc/rsyncd.conf&lt;/code&gt;). Enfin, on entre le mot de passe attribué au compte &lt;code&gt;rsync&lt;/code&gt; sur le PC.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;302px&#34; data-flex-grow=&#34;126&#34; height=&#34;522&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-strategie-de-sauvegarde/rsync.png&#34; width=&#34;659&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Dans les options, vous pouvez choisir d&amp;rsquo;envoyer un mail grâce au système de notifications d&amp;rsquo;OMV (si vous l&amp;rsquo;avez défini). Penser aussi à activer l&amp;rsquo;option &amp;ldquo;Recursive&amp;rdquo;. Enfin, pour tester le fonctionnement, on peut activer l&amp;rsquo;option &amp;ldquo;Trail run&amp;rdquo; pour simuler une sauvegarde (à désactiver ensuite bien entendu).&lt;/p&gt;&#xA;&lt;h3 id=&#34;docker&#34;&gt;Docker&#xA;&lt;/h3&gt;&lt;p&gt;Info&lt;/p&gt;&#xA;&lt;p&gt;14 mai 2021 : Depuis, un nouvel article explique la bonne façon de sauvegarder ses containers Docker. Lire :&#xA;&lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=17665&#34; &gt;OpenMediaVault : Sauvegarde des containers Docker&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;le-disque-système&#34;&gt;Le disque système&#xA;&lt;/h3&gt;&lt;p&gt;Sur l&amp;rsquo;odroid-hc2, le disque système est une carte microSD (comme sur les raspberry), et le disque contient raspbian ainsi qu&amp;rsquo;Openmediavault. Il est donc primordial d&amp;rsquo;avoir une sauvegarde de ce disque, la durée de vie d&amp;rsquo;un carte microSD n&amp;rsquo;étant pas éternelle, loin s&amp;rsquo;en faut.&lt;/p&gt;&#xA;&lt;p&gt;C&amp;rsquo;est d&amp;rsquo;ailleurs pour cela que l&amp;rsquo;on évite d&amp;rsquo;écrire dessus, l&amp;rsquo;idée étant de travailler le plus possible en mémoire. C&amp;rsquo;est aussi pour cette raison que j&amp;rsquo;ai déplacé Docker sur le HD.&lt;/p&gt;&#xA;&lt;h3 id=&#34;loutil-disques-de-gnome&#34;&gt;L&amp;rsquo;outil Disques de Gnome&#xA;&lt;/h3&gt;&lt;p&gt;C&amp;rsquo;est finalement cette solution qui est la plus simple et la plus efficace. Je laisse plus bas les autres options que j&amp;rsquo;ai testé (notamment CloneZilla, qui reste une référence), mais franchement l&amp;rsquo;outil de Gnome se révèle parfait.&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;arrête mon NAS, récupère la sd-card, et l&amp;rsquo;insère dans le PC. Je lance l&amp;rsquo;outil Disques de Gnome, et je fais tout simplement une image de la carte :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;350px&#34; data-flex-grow=&#34;146&#34; height=&#34;652&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-strategie-de-sauvegarde/disks.png&#34; srcset=&#34;https://pled.fr/openmediavault-strategie-de-sauvegarde/disks_hu_90108a12b1920a8a.png 800w, https://pled.fr/openmediavault-strategie-de-sauvegarde/disks.png 952w&#34; width=&#34;952&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Simple et efficace. Pour la restauration, on choisit l&amp;rsquo;option &amp;ldquo;Restaurer&amp;hellip;&amp;rdquo; et c&amp;rsquo;est tout.&lt;/p&gt;&#xA;&lt;h4 id=&#34;la-commande-dd&#34;&gt;La commande dd&#xA;&lt;/h4&gt;&lt;p&gt;J&amp;rsquo;avais d&amp;rsquo;abord testé des scripts utilisant la commande linux &lt;code&gt;dd&lt;/code&gt; ( &lt;strong&gt;d&lt;/strong&gt; ata &lt;strong&gt;d&lt;/strong&gt; ump), qui permet de copier des fichiers, des partitions, ou un disque entier, tout en contrôlant la taille des blocks. C&amp;rsquo;est l&amp;rsquo;outil historique en ligne de commande pour cloner rapidement un disque dans le monde Linux.&lt;/p&gt;&#xA;&lt;p&gt;L&amp;rsquo;idée était d&amp;rsquo;utiliser le port USB de l&amp;rsquo;odroid-hc2 pour y insérer une carte microSD, puis de créer une tâche planifiée (cron) pour automatiser la copie du disque système, disons chaque semaine. Sur le papier, c&amp;rsquo;était top : une fois mis en place, rien de particulier à faire, et on a toujours une sauvegarde récente du disque système récente toute prête.&lt;/p&gt;&#xA;&lt;p&gt;Sauf qu&amp;rsquo;en essayant d&amp;rsquo;utiliser la sauvegarde, j&amp;rsquo;avais des messages d&amp;rsquo;erreur du genre &amp;ldquo;Failed to connect to socket: Connection refused&amp;rdquo; ou &amp;ldquo;address already in use&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;Le problème est classique : on sauvegarde un système en cours de fonctionnement, certains fichiers sont ouverts, et comme avec Linux tout est fichier, et les sockets aussi ! :(&lt;/p&gt;&#xA;&lt;p&gt;Fin de la tentative.&lt;/p&gt;&#xA;&lt;h4 id=&#34;clonezilla--kvm&#34;&gt;Clonezilla + KVM&#xA;&lt;/h4&gt;&lt;p&gt;Pour faire un backup propre, mieux vaut le faire système éteint. Je me suis donc tourné vers &lt;strong&gt;Clonezilla&lt;/strong&gt;, la star des clones de disques dans l&amp;rsquo;open source.&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai donc fait un shutdown d&amp;rsquo;OMV, et extrait la carte microSD de l&amp;rsquo;odroid-hc2. Avec l&amp;rsquo;idée d&amp;rsquo;utiliser le PC pour faire cette copie de disque-système sur une deuxième carte microSD de la même taille.&lt;/p&gt;&#xA;&lt;p&gt;Mais je n&amp;rsquo;avais pas envie de redémarrer le PC sur une clef USB où j&amp;rsquo;avais flashé &lt;a class=&#34;link&#34; href=&#34;https://clonezilla.org/downloads/download.php?branch=stable&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Clonezilla&lt;/a&gt;. Je me suis donc dirigé vers l&amp;rsquo;utilisation d&amp;rsquo;une machine virtuelle KVM, puisque c&amp;rsquo;est ce type de VM que j&amp;rsquo;utilise sur le PC. Et cela s&amp;rsquo;est révélé hyper simple et efficace, même s&amp;rsquo;il ne faut pas se tromper dans ce que l&amp;rsquo;on fait.&lt;/p&gt;&#xA;&lt;p&gt;On lance donc n&amp;rsquo;importe quelle console de VM, puisque l&amp;rsquo;on va démarrer sur un port USB, on passe en vue &amp;ldquo;Afficher les détails&amp;rdquo;, puis on clique sur ajouter un matériel. Il s&amp;rsquo;agit maintenant de sélectionner trois périphériques USB :&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;la clef où se trouve CLonezilla&lt;/li&gt;&#xA;&lt;li&gt;la clef où se trouve la carte microSD d&amp;rsquo;OMV (via un adaptateur)&lt;/li&gt;&#xA;&lt;li&gt;enfin, un disque USB qui servira à stocker l&amp;rsquo;image que l&amp;rsquo;on va faire (pour la sauvegarde).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Dans l&amp;rsquo;exemple ci-dessous, je vais sélectionner l&amp;rsquo;Alcor Micro (Clonezilla), Sandisk (OMV) et LaCie (sauvegarde).&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;330px&#34; data-flex-grow=&#34;137&#34; height=&#34;604&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-strategie-de-sauvegarde/kvm.png&#34; srcset=&#34;https://pled.fr/openmediavault-strategie-de-sauvegarde/kvm_hu_46b1bdbce3e5c4a8.png 800w, https://pled.fr/openmediavault-strategie-de-sauvegarde/kvm.png 832w&#34; width=&#34;832&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Puis on va dans &amp;ldquo;Options de démarrage&amp;rdquo;, et on sélectionne le périphérique USB où se trouve Clonezilla. Il ne reste plus qu&amp;rsquo;à démarrer la VM :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;263px&#34; data-flex-grow=&#34;109&#34; height=&#34;602&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-strategie-de-sauvegarde/clonezilla1-1.png&#34; width=&#34;660&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Inutile de s&amp;rsquo;embêter avec les réglages clavier, on n&amp;rsquo;utilisera que les touches tabulations, flèches haut/bas, et Entrée&amp;hellip; Ensuite, au premier écran, on choisit &amp;ldquo;disque/partition vers/depuis image&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;272px&#34; data-flex-grow=&#34;113&#34; height=&#34;722&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-strategie-de-sauvegarde/clonezilla2-1.png&#34; srcset=&#34;https://pled.fr/openmediavault-strategie-de-sauvegarde/clonezilla2-1_hu_13921b0ce850b607.png 800w, https://pled.fr/openmediavault-strategie-de-sauvegarde/clonezilla2-1.png 820w&#34; width=&#34;820&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Puis monter un périphérique local, où l&amp;rsquo;on choisira le disque USB que l&amp;rsquo;on a sélectionné précédemment :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;272px&#34; data-flex-grow=&#34;113&#34; height=&#34;722&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-strategie-de-sauvegarde/clonezilla3-1.png&#34; srcset=&#34;https://pled.fr/openmediavault-strategie-de-sauvegarde/clonezilla3-1_hu_e279d564f29c62c0.png 800w, https://pled.fr/openmediavault-strategie-de-sauvegarde/clonezilla3-1.png 820w&#34; width=&#34;820&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Si le disque en question est partitionné comme c&amp;rsquo;est mon cas, on choisit une partition :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;272px&#34; data-flex-grow=&#34;113&#34; height=&#34;722&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-strategie-de-sauvegarde/clonezilla4.png&#34; srcset=&#34;https://pled.fr/openmediavault-strategie-de-sauvegarde/clonezilla4_hu_702e764f64c88b94.png 800w, https://pled.fr/openmediavault-strategie-de-sauvegarde/clonezilla4.png 820w&#34; width=&#34;820&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Il faudra ensuite choisir un dossier où sera effectuée la sauvegarde, et lui donner un nom (un nom par défaut est proposé, on peut le modifier). Laissez le défaut à priori. Reste à sélectionner le disque à sauvegarder :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;272px&#34; data-flex-grow=&#34;113&#34; height=&#34;722&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-strategie-de-sauvegarde/clonezilla5.png&#34; srcset=&#34;https://pled.fr/openmediavault-strategie-de-sauvegarde/clonezilla5_hu_d42930622f57cafd.png 800w, https://pled.fr/openmediavault-strategie-de-sauvegarde/clonezilla5.png 820w&#34; width=&#34;820&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Reste à choisir les dernières options : format de l&amp;rsquo;image, vérification de la sauvegarde, etc&amp;hellip; Confirmez votre choix (deux fois), puis la sauvegarde démarre. Cela prend un certain temps (on sauvegarde 15 Go tout de même), surtout si vous avez demandé une vérification (recommandé). Quand tout est terminé, vous propose d&amp;rsquo;arrêter le système. Faire Entrée et choisir &amp;lsquo;poweroff&amp;rsquo;. La VM va alors s&amp;rsquo;éteindre.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;272px&#34; data-flex-grow=&#34;113&#34; height=&#34;722&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-strategie-de-sauvegarde/clonezilla6-1.png&#34; srcset=&#34;https://pled.fr/openmediavault-strategie-de-sauvegarde/clonezilla6-1_hu_caf90d9b66a10e26.png 800w, https://pled.fr/openmediavault-strategie-de-sauvegarde/clonezilla6-1.png 820w&#34; width=&#34;820&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Voilà, la carte microSD (le disque système d&amp;rsquo;OMV), est maintenant sauvegardé sur un disque du PC.&lt;/p&gt;&#xA;&lt;p&gt;Pour la restauration vers une autre carte microSD, la procédure est très similaire, sauf que vous choisirez de l&amp;rsquo;image du disque dur comme source, et la carte microSD comme destination. Je m&amp;rsquo;épargne la série de capture d&amp;rsquo;écrans ! ;)&lt;/p&gt;&#xA;&lt;p&gt;Info&lt;/p&gt;&#xA;&lt;p&gt;Pour ceux que l&amp;rsquo;interface de Clonezilla rebute, je viens de voir passer une information sur &lt;a class=&#34;link&#34; href=&#34;https://rescuezilla.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Rescuezilla&lt;/a&gt;, compatible avec Clonezilla (même s&amp;rsquo;il n&amp;rsquo;offre pas toutes les options du mode Expert de ce dernier), mais avec une interface beaucoup plus sympathique et facile d&amp;rsquo;accès.&lt;/p&gt;&#xA;&lt;h3 id=&#34;stratégie&#34;&gt;Stratégie&#xA;&lt;/h3&gt;&lt;p&gt;Une fois cette sauvegarde terminée, j&amp;rsquo;ai utilisé cette nouvelle carte microSD pour redémarrer mon système OMV, afin de m&amp;rsquo;assurer que l&amp;rsquo;image était totalement fonctionnelle. Et je procède ainsi à chaque sauvegarde.&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;avais déjà fait une première sauvegarde de ce type avant de déplacer Docker et d&amp;rsquo;installer un container qBittorrent. J&amp;rsquo;ai donc procédé à une nouvelle sauvegarde de mon disque système, et j&amp;rsquo;ai redémarré avec ma nouvelle sauvegarde.&lt;/p&gt;&#xA;&lt;p&gt;Et donc à chaque modification importante du système, je procéderai de la sorte. En faisant tourner les cartes microSD à chaque fois, non seulement je fais une sauvegarde, mais je valide la restauration.&lt;/p&gt;&#xA;&lt;p&gt;Car comme on dit en informatique, le &amp;ldquo;Disaster&amp;rdquo; c&amp;rsquo;est toujours très facile à réussir, le &amp;ldquo;Recovery&amp;rdquo; beaucoup moins ! :cool:&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Openmediavault : déplacement de Docker</title>
            <link>https://pled.fr/openmediavault-deplacement-de-docker/</link>
            <pubDate>Thu, 28 Jan 2021 08:40:44 +0000</pubDate>
            <guid>https://pled.fr/openmediavault-deplacement-de-docker/</guid>
            <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;docker.png#floatleft&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Alors que je commençais à réfléchir à la stratégie de sauvegarde de mon NAS (Openmediavault sur Odroid-hc2, 1 seul HD), j&amp;rsquo;ai du faire face à la problématique Docker.&lt;/p&gt;&#xA;&lt;p&gt;Comme chaque soft (Plex, Nextcloud, qBittorrent) tourne dans un container, il est important de sauvegarder ceux-ci, et pas seulement les données qu&amp;rsquo;ils contiennent.&lt;/p&gt;&#xA;&lt;p&gt;De plus, les containers Docker étant par défaut installés sur le disque système, soit une carte microSD dans mon cas, où il est préférable d&amp;rsquo;écrire le moins possible, cette configuration n&amp;rsquo;est pas optimale.&lt;/p&gt;&#xA;&lt;p&gt;Je suis alors tombé sur cette vidéo : &lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=9h24GbK-cnA&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Why and how to move your Docker folder&lt;/a&gt; qui explique comment déplacer Docker, et je l&amp;rsquo;ai donc mis cela en pratique aujourd&amp;rsquo;hui, après plusieurs jours de réflexion. Car j&amp;rsquo;avais un peu peur de &amp;ldquo;casser&amp;rdquo; ma config, qu&amp;rsquo;un des containers Docker ne redémarre pas : j&amp;rsquo;avais pas mal galéré à &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=16959&#34; &gt;installer Nextcloud&lt;/a&gt;, je ne voulais retomber dans les mêmes problèmes.&lt;/p&gt;&#xA;&lt;p&gt;Mais finalement tout s&amp;rsquo;est globalement bien passé, à part un problème de droits sur mes dossiers Nextcloud justement. J&amp;rsquo;ai réglé le problème grâce aux sauvegardes que j&amp;rsquo;avais fait avant de me lancer (solution de facilité).&lt;/p&gt;&#xA;&lt;p&gt;Voyons tout ça&amp;hellip;&lt;/p&gt;&#xA;&lt;h3 id=&#34;docker&#34;&gt;Docker&#xA;&lt;/h3&gt;&lt;p&gt;Par défaut, Docker est donc installé dans &lt;code&gt;/var/lib/docker&lt;/code&gt;, comme on peut le voir dans Openmediavault/OMV-Extras :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;793px&#34; data-flex-grow=&#34;330&#34; height=&#34;203&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-deplacement-de-docker/docker1.png&#34; width=&#34;671&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Pour le déplacer, il suffit de modifier ce chemin, et de cliquer sur le bouton Save :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;819px&#34; data-flex-grow=&#34;341&#34; height=&#34;193&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-deplacement-de-docker/docker2.png&#34; width=&#34;659&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Je déplace donc Docker sur mon HD, dans le dossier &lt;code&gt;/srv/dev-disk-by-label-DATA/AppData&lt;/code&gt; déjà utilisé par tous les containers Docker pour y stocker leurs fichiers de configuration. C&amp;rsquo;est pratique, je pourrais ainsi tout sauvegarder d&amp;rsquo;un coup : les containers et leur configuration.&lt;/p&gt;&#xA;&lt;p&gt;Après quelques instants, Docker est redémarré, mais tous les containers ont disparu, y compris Portainer, qu&amp;rsquo;il va falloir réinstaller, c&amp;rsquo;est l&amp;rsquo;affaire d&amp;rsquo;un click. Jusque là, tout est vraiment simple.&lt;/p&gt;&#xA;&lt;h3 id=&#34;containers&#34;&gt;Containers&#xA;&lt;/h3&gt;&lt;p&gt;La bonne nouvelle, c&amp;rsquo;est que l&amp;rsquo;on va pouvoir recréer ses containers sans perdre leur configuration ou les fichiers de données. Il va suffire de faire pointer les variables d&amp;rsquo;environnement correspondantes (les &amp;lsquo;volumes&amp;rsquo;) sur les mêmes dossiers que lors de la première création du container.&lt;/p&gt;&#xA;&lt;p&gt;Pour Plex et Nextcloud, je suis passé par les Stacks, j&amp;rsquo;avais sauvegardé leurs configurations dans ce format, tout a donc été très simple : dans Portainer, sélectionner Stacks et cliquer sur le bouton Add stack :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;327px&#34; data-flex-grow=&#34;136&#34; height=&#34;355&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-deplacement-de-docker/portainer.png&#34; width=&#34;484&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Il suffit ensuite de coller le contenu que j&amp;rsquo;avais sauvegardé, mais que l&amp;rsquo;on peut retrouver sur &lt;a class=&#34;link&#34; href=&#34;https://docs.linuxserver.io/images/docker-plex&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;la page du projet&lt;/a&gt;. L&amp;rsquo;important est de bien mettre les mêmes valeurs pour les différents &lt;strong&gt;volumes&lt;/strong&gt; où sont nos fichiers :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-docker&#34; data-lang=&#34;docker&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;---&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;version: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;services:&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  plex:&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    image : ghcr.io/linuxserver/plex&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    container_name : plex&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    network_mode: host&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    environment:&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - PUID&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;997&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - PGID&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - VERSION&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;Docker&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - UMASK_SET&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;022&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    volumes:&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - /srv/dev-disk-by-label-DATA/AppData/Plex:/config&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - /srv/dev-disk-by-label-DATA/OMV-DATA/Series:/Series&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - /srv/dev-disk-by-label-DATA/OMV-DATA/Films:/Films&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - /srv/dev-disk-by-label-DATA/OMV-DATA/Docus:/Docus&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    restart: unless-stopped&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Et voilà ! En quelques minutes (les softs vont être téléchargés à nouveau), mon instance Plex est de nouveau disponible, et toutes les données conservées (par exemple les films Vus/Non Vus).&lt;/p&gt;&#xA;&lt;p&gt;Pour qBittorent-OpenVPN, comme il y avait des paramètres non supportées par Portainer, j&amp;rsquo;avais le script &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=17202&#34; &gt;utilisé pour l&amp;rsquo;installation&lt;/a&gt;, il a donc suffit de le relancer :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;558px&#34; data-flex-grow=&#34;232&#34; height=&#34;338&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-deplacement-de-docker/qb-openvpn-1.png&#34; width=&#34;786&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;templates&#34;&gt;Templates&#xA;&lt;/h3&gt;&lt;p&gt;Il y a aussi la solution des &amp;ldquo;Templates&amp;rdquo; pour recréer rapidement ses containers. Par défaut, ceux proposés dans Portainer sont assez restreints, mais on peut modifier la liste proposée en la remplaçant par une autre plus adaptée à l&amp;rsquo;utilisateur standard. Il suffit d&amp;rsquo;aller dans Settings, et de remplacer le lien existant :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;https://raw.githubusercontent.com/portainer/templates/master/templates-2.0.json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Par celui-ci, récupéré sur le page du projet Github &lt;a class=&#34;link&#34; href=&#34;https://github.com/SelfhostedPro/selfhosted_templates&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;selfhosted_templates&lt;/a&gt; :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;https://raw.githubusercontent.com/SelfhostedPro/selfhosted_templates/portainer-2.0/Template/template.json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Puis cliquer sur &amp;ldquo;Save settings&amp;rdquo;. La liste des templates désormais proposée est alors beaucoup plus étoffée, on y retrouve Plex, Nextcloud, Pihole, Mariadb, etc&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;L&amp;rsquo;idée est de s&amp;rsquo;en servir comme une base, et de l&amp;rsquo;éditer pour modifier certaines variables pour l&amp;rsquo;adapter à notre environnement personnel, et dans ce cas précis, faire pointer les variables de type &amp;lsquo;Volumes&amp;rsquo; ou &amp;lsquo;Config&amp;rsquo; au même endroit que précédemment.&lt;/p&gt;&#xA;&lt;h3 id=&#34;nextcloud&#34;&gt;Nextcloud&#xA;&lt;/h3&gt;&lt;p&gt;Nextcloud a été le plus compliqué, comme je m&amp;rsquo;y attendais, heureusement j&amp;rsquo;avais dupliqué mes données avant de me lancer.&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;avais le fichier &amp;ldquo;Stack&amp;rdquo; de l&amp;rsquo;installation, celui qui installe en même temps Nextcloud, Mariadb et Swag (voir l&amp;rsquo;&lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=16959&#34; &gt;installation de Nextcloud&lt;/a&gt;). Je l&amp;rsquo;ai donc lancé et là, première erreur :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;338px&#34; data-flex-grow=&#34;141&#34; height=&#34;229&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-deplacement-de-docker/bind-error.png&#34; width=&#34;323&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Au moins le message est clair, et en vérifiant, il y avait une erreur dans mon fichier &amp;lsquo;docker-compose&amp;rsquo;, sans doute suite à un des premiers essais que j&amp;rsquo;avais fait en voulant l&amp;rsquo;installer : j&amp;rsquo;avais le port défini en &lt;code&gt;444:443&lt;/code&gt; pour le container nextcloud au lieu de &lt;code&gt;443:443&lt;/code&gt;. Une fois corrigé, les trois containers nextcloud/mariadb/swag sont créés et démarrés sans problème.&lt;/p&gt;&#xA;&lt;p&gt;Ensuite, je reçois un premier message de mon client Nextcloud sur le PC m&amp;rsquo;informant qu&amp;rsquo;il y a une erreur avec le certificat. En effet, en recréant mon instance Nextcloud, un nouveau certificat a été créé, il va donc falloir le valider pour chaque client se connectant à l&amp;rsquo;instance : le client Nextcloud sur le smartphone ou sur le PC, mais aussi dans Firefox pour accéder à la WebUI.&lt;/p&gt;&#xA;&lt;p&gt;Première surprise : je retombe sur la page d&amp;rsquo;initialisation de Nextcloud, où il faut définir un administrateur, la base de données, etc&amp;hellip; :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;197px&#34; data-flex-grow=&#34;82&#34; height=&#34;608&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-deplacement-de-docker/nextcloud1.png&#34; width=&#34;500&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;C&amp;rsquo;est finalement logique, puisque c&amp;rsquo;est une nouvelle instance de Nextcloud&amp;hellip; Mais quand j&amp;rsquo;entre &amp;lsquo;pascal&amp;rsquo; pour le compte administrateur, il refuse et me dit que le nom d&amp;rsquo;utilisateur est déjà pris. OK, c&amp;rsquo;est vrai (et tant mieux, ça veut dire que mon compte existe toujours, et c&amp;rsquo;est bien ce que je voulais), je crée donc un utilisateur &amp;lsquo;admin&amp;rsquo; pour terminer l&amp;rsquo;installation.&lt;/p&gt;&#xA;&lt;p&gt;Du coup, j&amp;rsquo;ai même droit à une mise à jour&amp;hellip; So far so good !&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;531px&#34; data-flex-grow=&#34;221&#34; height=&#34;271&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-deplacement-de-docker/nextcloudupd.png&#34; width=&#34;600&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Je me reconnecte en tant que &amp;lsquo;pascal&amp;rsquo;, retrouve mes dossiers, et je crois alors que &amp;ldquo;tout est bien qui finit bien&amp;rdquo;. Hélas, un peu plus tard, je me rends compte que je n&amp;rsquo;ai pas les droits d&amp;rsquo;écriture sur mes dossiers ! C&amp;rsquo;est une photo prise sur le smartphone qui me le signale car le téléchargement échoue. Et c&amp;rsquo;est confirmé via l&amp;rsquo;interface web, impossible d&amp;rsquo;ajouter le moindre fichier à mes dossiers Nextcloud.&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai fait quelques recherches rapides sur internet, ça m&amp;rsquo;a paru vite assez compliqué à dépanner, Nextcloud est apparemment bien sécurisé, et j&amp;rsquo;ai vite opté pour la solution la plus simple : tout effacer, recréer les répertoires, et y recopier les fichiers précédemment sauvegardés.&lt;/p&gt;&#xA;&lt;p&gt;Bon, ce n&amp;rsquo;est pas très glorieux, mais l&amp;rsquo;opération a été assez rapide, et je n&amp;rsquo;avais pas envie de me plonger dans les permissions et autres ACLs de Nextcloud ! :shock: Ça peut vite devenir une belle prise de tête !&lt;/p&gt;&#xA;&lt;h3 id=&#34;conclusion&#34;&gt;Conclusion&#xA;&lt;/h3&gt;&lt;p&gt;C&amp;rsquo;est une bonne chose d&amp;rsquo;avoir fait cette modification, et pour l&amp;rsquo;essentiel, tout s&amp;rsquo;est bien passé.&lt;/p&gt;&#xA;&lt;p&gt;Non seulement mon disque système microSD ne sera plus sollicité par Docker, mais la sauvegarde sera beaucoup plus simple, puisque le répertoire AppData est déjà partagé par Openmediavault, et une simple tâche avec &lt;strong&gt;Rsync&lt;/strong&gt; fera parfaitement l&amp;rsquo;affaire.&lt;/p&gt;&#xA;&lt;p&gt;Ce sera l&amp;rsquo;objet du prochain article, qui traitera de la stratégie de sauvegarde. C&amp;rsquo;est important, car en quittant Synology pour ce système Odroid-hc2, je n&amp;rsquo;ai plus de RAID (un seul HD) et il ne s&amp;rsquo;agit pas de perdre toute cette belle configuration ! ;)&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Openmediavault : installation de Qbittorrent avec OpenVPN</title>
            <link>https://pled.fr/openmediavault-installation-de-qbittorrent-avec-openvpn/</link>
            <pubDate>Thu, 21 Jan 2021 11:06:16 +0000</pubDate>
            <guid>https://pled.fr/openmediavault-installation-de-qbittorrent-avec-openvpn/</guid>
            <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;qb.png#floatleft&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Après avoir installé Nextcloud et Plex, le dernier truc important à installer était un client qBittorrent pour l&amp;rsquo;utiliser avec une connexion OpenVPN.&lt;/p&gt;&#xA;&lt;p&gt;Après avoir regardé quelques vidéos, des containers Docker existent, combinant à la fois le client qBittorrent et la connexion OpenVPN, tout semblait parfait.&lt;/p&gt;&#xA;&lt;p&gt;Hélas, après une première tentative, je me rendais compte que ce qui était proposé ne l&amp;rsquo;était pas pour une architecture armv7l de mon odroid-hc2 . :(&lt;/p&gt;&#xA;&lt;p&gt;Heureusement, la situation s&amp;rsquo;est vite débloquée, grâce à la souplesse de l&amp;rsquo;Open source.&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;avais répéré la solution &lt;a class=&#34;link&#34; href=&#34;https://hub.docker.com/r/markusmcnugen/qbittorrentvpn&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;MarkusMcNugen/docker-qBittorrentvpn&lt;/a&gt; sur &lt;a class=&#34;link&#34; href=&#34;https://hub.docker.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;dockerhub&lt;/a&gt;., hélas uniquement disponible sur une base Debian (Ubuntu 18.04). À tout hasard, je postais sur le projet Github correspondant un petit commentaire sur une &lt;a class=&#34;link&#34; href=&#34;https://github.com/MarkusMcNugen/docker-qBittorrentvpn/issues/74#issuecomment-753511680&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;issue déjà existante&lt;/a&gt; concernant le support ARM7 :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;954px&#34; data-flex-grow=&#34;397&#34; height=&#34;143&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-qbittorrent-avec-openvpn/githubreq.png&#34; width=&#34;569&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Deux jours plus tard, je recevais un mail d&amp;rsquo;un certain chrisjohnson00 me proposant de tester &lt;a class=&#34;link&#34; href=&#34;https://hub.docker.com/r/markusmcnugen/qbittorrentvpn/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;son container&lt;/a&gt;, un fork compilé en mode &amp;ldquo;multi-architecture&amp;rdquo;. 8-)&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;essayais tout d&amp;rsquo;abord avec Portainer, mais le démarrage échouait avec ce message : &lt;code&gt;Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Après quelques recherches, il semble que certains paramètres nécessaires pour ce container ne peuvent être passés via Portainer. Je faisais donc un nouvel essai en utilisant la ligne de commande docker comme suit :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;docker run --privileged -d &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;-v /your/download/path/:/downloads &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;-v /your/config/path/:/config  &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;-e &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;VPN_ENABLED=yes&amp;#34;&lt;/span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;-e &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;LAN_NETWORK=192.168.1.0/24&amp;#34;&lt;/span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;-e &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;NAME_SERVERS=8.8.8.8,8.8.4.4&amp;#34;&lt;/span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;-e &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;VPN_USERNAME=nom_utilisateur_VPN&amp;#34;&lt;/span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;-e &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;VPN_PASSWORD=mot_de_passe&amp;#34;&lt;/span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;-e &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;PUID=XXX&amp;#34;&lt;/span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;-e &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;PGID=XXX&amp;#34;&lt;/span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;-e &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;INCOMING_PORT_ENV=8999&amp;#34;&lt;/span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;-p 8080:8080  &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;-p 8999:8999  &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;-p 8999:8999/udp  &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;--sysctl net.ipv6.conf.all.disable_ipv6&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;--name qbittorrent-openvpn  &lt;span style=&#34;color:#ae81ff&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#x9;chrisjohnson00/qbittorrent-openvpn:latest&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Notes :&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;On renseigne bien sûr VPN_USERNAME et VPN_PASSWORD avec ceux de votre fournisseur.&lt;/li&gt;&#xA;&lt;li&gt;La valeur de LAN_NETWORK dépend bien sûr de votre réseau local.&lt;/li&gt;&#xA;&lt;li&gt;la valeur de PUID et PGID dépend de l&amp;rsquo;utilisateur qui lance le container.&lt;/li&gt;&#xA;&lt;li&gt;La commande &amp;ldquo;privileged -d&amp;rdquo; est celle que l&amp;rsquo;on ne peut passer avec Portainer.&lt;/li&gt;&#xA;&lt;li&gt;Le paramètre &amp;ldquo;&amp;ndash;sysctl net.ipv6.conf.all.disable_ipv6=0&amp;rdquo; est à priori nécessaire pour MULLVAD, mon fournisseur VPN. Et même chose, impossible avec Portainer.&lt;/li&gt;&#xA;&lt;li&gt;Pour changer le port de la WebUI de qBittorrent, il faut par exemple changer &amp;ldquo;-p 8080:8080&amp;rdquo; en &amp;ldquo;-p 9090:8080&amp;rdquo;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Dernière remarque : lors du premier démarrage, un message d&amp;rsquo;erreur nous signale que le fichier &lt;code&gt;.ovpn&lt;/code&gt; est manquant (VPN_ENABLED=yes). Il faut alors récupérer ce fichier auprès du fournisseur VPN, et le copier dans le répertoire &lt;code&gt;/your/config/path/Qbittorrent/openvpn&lt;/code&gt; existant (créé lors du premier démarrage).&lt;/p&gt;&#xA;&lt;p&gt;Le container démarre enfin, il ne reste plus qu&amp;rsquo;à se logguer via l&amp;rsquo;interface à partir de votre navigateur (utilisateur: admin / mot de passe : adminadmin) :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;345px&#34; data-flex-grow=&#34;143&#34; height=&#34;414&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-qbittorrent-avec-openvpn/qbwebui.png&#34; width=&#34;596&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Et voilà, c&amp;rsquo;était quelque chose que je voulais faire depuis longtemps, et que je pouvais faire avec la baie Synology (en tout cas, je n&amp;rsquo;avais pas trouvé comment installer un client openvpn standard, celui de Synology n&amp;rsquo;étant pas à jour (et modifié il me semble). Typiquement le genre de problème que l&amp;rsquo;on a avec les solutions &amp;ldquo;propriétaires&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;Il ne me reste qu&amp;rsquo;à modifier mon container Plex pour y ajouter une nouvelle bibliothèque pointant sur le répertoire de &amp;ldquo;download&amp;rdquo; défini pour qBittorrent, et je peux retrouver directement le contenu multimedia téléchargé sur la TV ! :cool:&lt;/p&gt;&#xA;&lt;p&gt;Enfin, pour en faciliter l&amp;rsquo;usage dans Firefox, on peut installer l&amp;rsquo;extension &lt;a class=&#34;link&#34; href=&#34;https://github.com/kyuucr/add-link-to-qbittorrent-webui&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Add Link to qBittorrent WebUI&lt;/a&gt;. Il suffira de lui indiquer l&amp;rsquo;adresse du serveur :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;454px&#34; data-flex-grow=&#34;189&#34; height=&#34;232&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-qbittorrent-avec-openvpn/qbext.png&#34; width=&#34;439&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;On retrouve ensuite le menu contextuel avec un click droit sur un lien torrent :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;332px&#34; data-flex-grow=&#34;138&#34; height=&#34;509&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-qbittorrent-avec-openvpn/qbext2.png&#34; width=&#34;705&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Voilà, j&amp;rsquo;ai à peu près tout ce dont j&amp;rsquo;avais besoin pour mon NAS Openmediavault.&lt;/p&gt;&#xA;&lt;p&gt;Il va falloir maintenant penser aux solutions de sauvegarde, ce serait dommage de perdre tout ça : ce sera l&amp;rsquo;objet d&amp;rsquo;un prochain article.&lt;/p&gt;&#xA;&lt;h3 id=&#34;problème-au-redémarrage&#34;&gt;Problème au redémarrage&#xA;&lt;/h3&gt;&lt;p&gt;J&amp;rsquo;ai eu depuis un problème après un redémarrage du container (via Portainer), ou un redémarrage d&amp;rsquo;OMV : plus moyen d&amp;rsquo;accéder via l&amp;rsquo;interface de qBittorrent (WebUI) alors que le container est bien affiché comme démarré. Il me fallait effacer puis recréer le container pour que cela fonctionne à nouveau&amp;hellip; :(&lt;/p&gt;&#xA;&lt;p&gt;En comparant les logs, voilà ce que l&amp;rsquo;on voyait sur un redémarrage correct :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo docker logs -f qbittorrent-openvpn&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Adding &lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt; group&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;groupadd: GID &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;100&amp;#39;&lt;/span&gt; already exists&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Adding &lt;span style=&#34;color:#ae81ff&#34;&gt;997&lt;/span&gt; user&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2021-02-06 09:37:44.489980 &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;warn&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; UMASK not defined &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;via -e UMASK&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, defaulting to &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;002&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2021-02-06 09:37:44.571608 &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;info&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; Starting qBittorrent daemon...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Log file /config/qBittorrent/data/logs/qbittorrent-daemon.log doesn&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;#39;&lt;/span&gt;t exist. Creating it...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Logfile created. Logging to /config/qBittorrent/data/logs/qbittorrent-daemon.log&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2021-02-06 09:37:45.685073 &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;info&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; qBittorrent PID: &lt;span style=&#34;color:#ae81ff&#34;&gt;189&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2021-02-06 09:37:45.710933 &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;info&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; Started qBittorrent daemon successfully...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;On voit le PID du process qBittorrent, et le message de confirmation&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Et maintenant les logs quand il est impossible de se connecter à la WebUI de qBittorrent :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo docker logs -f qbittorrent-openvpn&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Adding &lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt; group&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;groupadd: GID &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;100&amp;#39;&lt;/span&gt; already exists&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Adding &lt;span style=&#34;color:#ae81ff&#34;&gt;997&lt;/span&gt; user&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;useradd: user &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;qbittorent&amp;#39;&lt;/span&gt; already exists&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2021-02-06 10:21:20.548073 &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;warn&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; UMASK not defined &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;via -e UMASK&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, defaulting to &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;002&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2021-02-06 10:21:20.644612 &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;info&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; Starting qBittorrent daemon...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Logging to /config/qBittorrent/data/logs/qbittorrent-daemon.log.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;start-stop-daemon: matching on world-writable pidfile /var/run/qbittorrent-nox.pid is insecure&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;2021-02-06 10:21:21.768415 &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;info&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; qBittorrent PID:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Le log s&amp;rsquo;arrête à cet endroit, manifestement le process n&amp;rsquo;est pas créé. La ligne précédente en donne la raison : il y a un fichier &lt;code&gt;/var/run/qbittorrent-nox.pid&lt;/code&gt; qui provoque un problème de sécurité et empêche le lancement du process&amp;hellip; Je n&amp;rsquo;en sais pas plus pour l&amp;rsquo;instant.&lt;/p&gt;&#xA;&lt;p&gt;Toujours est-il qu&amp;rsquo;il suffit de se logguer via la console du container qbittorrent-openvpn (via portainer), et d&amp;rsquo;effacer le fichier en question :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;387px&#34; data-flex-grow=&#34;161&#34; height=&#34;375&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-qbittorrent-avec-openvpn/console-1.png&#34; width=&#34;606&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;On remarque d&amp;rsquo;ailleurs que le PID du fichier est égal au PID du process lancé -2 (198-2=187).&lt;/p&gt;&#xA;&lt;p&gt;Et voilà, le container peut être redémarré proprement, le process est bien lancé, et l&amp;rsquo;interface WebUI à nouveau accessible.&lt;/p&gt;&#xA;&lt;p&gt;On peut aussi effacer ce fichier en ligne de commande. On recherche d&amp;rsquo;abord le container ID de Nextcloud (commande &lt;code&gt;docker ls&lt;/code&gt;), puis on lance un terminal à l&amp;rsquo;intérieur du container (commande &lt;code&gt;docker exec&lt;/code&gt;). Il ne reste alors plus qu&amp;rsquo;à aller supprimer le fichier souhaité :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;436px&#34; data-flex-grow=&#34;181&#34; height=&#34;432&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-qbittorrent-avec-openvpn/docker-cmd.png&#34; width=&#34;786&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Il ne reste plus qu&amp;rsquo;à relancer le container :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo docker restart qbittorrent-openvpn&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Voir &lt;a class=&#34;link&#34; href=&#34;https://devconnected.com/docker-exec-command-with-examples/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;cette page&lt;/a&gt; pour plus d&amp;rsquo;exemples de commandes docker : on peut même tout enchaîner en une seule commande :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo docker exec 6a54133fa769 bash -c &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;cd /var/run ; ls ; rm qbittorrent-nox.pid&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;De là à préparer un script pour automatiser tout ça, y compris le redémarrage du container, il n&amp;rsquo;y a qu&amp;rsquo;un pas ! :cool:&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Pihole comme DHCP serveur avec la box Orange</title>
            <link>https://pled.fr/pihole-comme-dhcp-serveur-avec-la-box-orange/</link>
            <pubDate>Thu, 14 Jan 2021 13:28:43 +0000</pubDate>
            <guid>https://pled.fr/pihole-comme-dhcp-serveur-avec-la-box-orange/</guid>
            <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;pihole.png#floatleft&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai finalement décidé d&amp;rsquo;utiliser mon serveur Pihole comme serveur DHCP. Il sera donc en charge d&amp;rsquo;attribuer les adresses IP sur mon réseau local, et se définira en même temps comme serveur DNS. De cette façon, tous les appareils du réseau bénéficieront du filtre anti-pubs de Pihole.&lt;/p&gt;&#xA;&lt;p&gt;Je précise tout de suite que je suis en IPv4 pour la box comme pour mon LAN, et que IPv6 est désactivé sur la box (voir &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=17148#comment-57851&#34; &gt;le commentaire d&amp;rsquo;Eliastik&lt;/a&gt; à ce sujet).&lt;/p&gt;&#xA;&lt;p&gt;On verra en fin d&amp;rsquo;article que cela apporte pas mal d&amp;rsquo;informations sur ce qui se passe sur mon réseau local, j&amp;rsquo;ai fait des découvertes. :-o&lt;/p&gt;&#xA;&lt;p&gt;Il aurait été plus simple de définir le serveur DNS au niveau de la box, mais Orange ne permet pas de changer ceux-ci, pour des raisons de VOIP apparemment. Autre problème avec cette box, le décodeur TV d&amp;rsquo;Orange doit obtenir son adresse de la box (un VLAN est créé semble-t-il), sinon plus de TV ! Ce sont d&amp;rsquo;ailleurs les deux gros reproches que l&amp;rsquo;on faire à Orange au niveau de sa box ! :(&lt;/p&gt;&#xA;&lt;p&gt;Ce dernier problème m&amp;rsquo;a fait longuement fait hésiter à faire la manip, et puis finalement je me suis décidé à franchir le pas, car parfois le DNS IPv6 de la box (attribué lors de la requête DHCP) prenait le pas sur le DNS IPv4 (définit manuellement sur le PC pour pointer sur Pihole, voir &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=16628&#34; &gt;cet article&lt;/a&gt;) sans que je sache vraiment pourquoi.&lt;/p&gt;&#xA;&lt;p&gt;Il était temps de reprendre le contrôle&amp;hellip;&lt;/p&gt;&#xA;&lt;h3 id=&#34;le-décodeur-tv&#34;&gt;Le décodeur TV&#xA;&lt;/h3&gt;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;447px&#34; data-flex-grow=&#34;186&#34; height=&#34;161&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/pihole-comme-dhcp-serveur-avec-la-box-orange/decodeur.png&#34; width=&#34;300&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Avant d&amp;rsquo;activer le serveur DHCP de Pihole, il va d&amp;rsquo;abord falloir s&amp;rsquo;organiser pour que le décodeur d&amp;rsquo;Orange obtienne toujours son adresse IP de la box Orange.&lt;/p&gt;&#xA;&lt;p&gt;Pour cela, on va faire deux choses : limiter au minimum le champ d&amp;rsquo;adresses disponibles sur la box, puis ajouter l&amp;rsquo;adresse MAC du décodeur dans la liste des adresses rejetées par le serveur Pihole.&lt;/p&gt;&#xA;&lt;p&gt;Sur la box, il suffit d&amp;rsquo;aller dans l&amp;rsquo;interface de gestion, Configuration avancée, onglet DHCP, et de définir le &amp;ldquo;scope&amp;rdquo; comme suit (c&amp;rsquo;est un exemple) :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;497px&#34; data-flex-grow=&#34;207&#34; height=&#34;252&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/pihole-comme-dhcp-serveur-avec-la-box-orange/dhcp1.png&#34; width=&#34;522&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Redémarrer la box puis le décodeur, et vérifier que la TV fonctionne. Sur cette même page, récupérer l&amp;rsquo;adresse MAC du décodeur :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;2280px&#34; data-flex-grow=&#34;950&#34; height=&#34;76&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/pihole-comme-dhcp-serveur-avec-la-box-orange/dhcp2.png&#34; width=&#34;722&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Reste à exclure cette adresse du serveur Pihole. De ce que j&amp;rsquo;ai lu, Pihole utilise un fork de &lt;code&gt;dnsmasq&lt;/code&gt;, on peut donc à priori utiliser ses fonctionnalités. J&amp;rsquo;ai donc créé un fichier &lt;code&gt;04-bypass.conf&lt;/code&gt; dans &lt;code&gt;/etc/dnsmasqd&lt;/code&gt; comme suit :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;544px&#34; data-flex-grow=&#34;226&#34; height=&#34;263&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/pihole-comme-dhcp-serveur-avec-la-box-orange/ignore.png&#34; width=&#34;597&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;C&amp;rsquo;est d&amp;rsquo;ailleurs ce qui est indiqué dans le fichier &lt;code&gt;01-pihole.conf&lt;/code&gt; créé pendant l&amp;rsquo;installation :&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;FILE AUTOMATICALLY POPULATED BY PI-HOLE INSTALL/UPDATE PROCEDURE.&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;ANY CHANGES MADE TO THIS FILE AFTER INSTALL WILL BE LOST ON THE NEXT UPDATE.&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;ANY OTHER CHANGES SHOULD BE MADE IN A SEPARATE CONFIG FILE WITHIN /etc/dnsmasq.d/yourname.conf&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;h3 id=&#34;le-serveur&#34;&gt;Le serveur&#xA;&lt;/h3&gt;&lt;p&gt;On peut maintenant activer le serveur DHCP de Pihole (dans Settings), en s&amp;rsquo;assurant d&amp;rsquo;affecter un &amp;lsquo;range&amp;rsquo; d&amp;rsquo;adresses différentes de celle de la box Orange, et en définissant cette dernière comme routeur :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;481px&#34; data-flex-grow=&#34;200&#34; height=&#34;387&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/pihole-comme-dhcp-serveur-avec-la-box-orange/dhcp3.png&#34; width=&#34;777&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Avant de redémarrer le serveur Pihole, il reste une chose importante à faire, c&amp;rsquo;est de lui assigner une adresse IP fixe. C&amp;rsquo;est normalement fait lors de l&amp;rsquo;installation de Pihole, et je ne sais pas trop où cette information est stockée.&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai toutefois procédé comme indiqué sur Raspbian, en renseignant le fichier &lt;code&gt;/etc/dhcpcd.conf&lt;/code&gt;. On trouve le nom des interfaces en faisant un &lt;code&gt;ip link&lt;/code&gt;, puis on définit ce que l&amp;rsquo;on souhaite :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;interface eth0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;static ip_address&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;192.168.1.18/24&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;static routers&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;192.168.1.1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;static domain_name_servers&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;208.67.222.222 208.67.220.220&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;interface wlan0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;static ip_address&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;192.168.1.17/24&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;static routers&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;192.168.1.1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;static domain_name_servers&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;208.67.222.222 208.67.220.220&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;J&amp;rsquo;ai donc deux interfaces actives : &lt;code&gt;eth0&lt;/code&gt; pour ethernet, et &lt;code&gt;wlan0&lt;/code&gt; pour le wifi. Les deux serveurs DNS définis sont ceux d&amp;rsquo;OpendDNS. Au passage, le fichier pour le mot de passe wifi est &lt;code&gt;/etc/wpa_supplicant/wpa_supplicant.conf&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;À ce stade, on peut redémarrer le serveur Pihole, et dans la foulée redémarrer le décodeur TV pour vérifier qu&amp;rsquo;il obtient toujours son adresse de la box, et que la TV fonctionne.&lt;/p&gt;&#xA;&lt;p&gt;À toutes fins utiles, le service pihole s&amp;rsquo;appelle &lt;strong&gt;pihole-FTL&lt;/strong&gt;, on peut donc le contrôler avec les commandes suivantes (avec &amp;ldquo;disable&amp;rdquo; on l&amp;rsquo;empêche de redémarrer au boot de la machine) :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo systemctl status pihole-FTL&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo systemctl stop pihole-FTL&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo systemctl start pihole-FTL&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo systemctl disable pihole-FTL&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo systemctl enable pihole-FTL&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Si tout se passe bien, on peut passer au reste des appareils sur le réseau, à savoir mon PC desktop, un PC portable, mon smartphone BQ Aquaris, la TV, etc&amp;hellip; Vérifier que tout se passe bien, et éventuellement assigner des baux fixes à chaque appareil :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;328px&#34; data-flex-grow=&#34;137&#34; height=&#34;716&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/pihole-comme-dhcp-serveur-avec-la-box-orange/baux-1.png&#34; srcset=&#34;https://pled.fr/pihole-comme-dhcp-serveur-avec-la-box-orange/baux-1_hu_c7cff9967fabe34d.png 800w, https://pled.fr/pihole-comme-dhcp-serveur-avec-la-box-orange/baux-1.png 981w&#34; width=&#34;981&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Sur le PC, on peut vérifier en allant voir le fichier &lt;code&gt;/var/lib/dhcp/dhclient.leases&lt;/code&gt; :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;329px&#34; data-flex-grow=&#34;137&#34; height=&#34;461&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/pihole-comme-dhcp-serveur-avec-la-box-orange/dhcp4.png&#34; width=&#34;633&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;On peut aussi forcer le renouvellement de notre adresse IP, ici sur mon portable, avec la commande &lt;code&gt;dhclient -d -nw wlp2s0&lt;/code&gt; (après avoir identifié le nom de l&amp;rsquo;interface wifi) :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;312px&#34; data-flex-grow=&#34;130&#34; height=&#34;1318&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/pihole-comme-dhcp-serveur-avec-la-box-orange/dhclient-1.png&#34; srcset=&#34;https://pled.fr/pihole-comme-dhcp-serveur-avec-la-box-orange/dhclient-1_hu_527820ad2246a15d.png 800w, https://pled.fr/pihole-comme-dhcp-serveur-avec-la-box-orange/dhclient-1_hu_ebc4ec995787dcc4.png 1600w, https://pled.fr/pihole-comme-dhcp-serveur-avec-la-box-orange/dhclient-1.png 1716w&#34; width=&#34;1716&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Voilà, tout fonctionne comme attendu. Désormais, tous les appareils sur le réseau bénéficient de Pihole comme bloqueur de pub, c&amp;rsquo;est plutôt sympa :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;329px&#34; data-flex-grow=&#34;137&#34; height=&#34;363&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/pihole-comme-dhcp-serveur-avec-la-box-orange/pihole1.png&#34; width=&#34;499&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;On voit que mon serveur odroidhc2 est plutôt bavard : c&amp;rsquo;est normal, puisque j&amp;rsquo;ai installé dessus un serveur Nextcloud, et qu&amp;rsquo;il est accessible depuis internet via un proxy (voir l&amp;rsquo;&lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=16959&#34; &gt;installation de Nextcloud sur Openmediavault&lt;/a&gt;). Il s&amp;rsquo;agit en l&amp;rsquo;occurence de requêtes DNS déjà en cache.&lt;/p&gt;&#xA;&lt;p&gt;Plus intéressant, on voit que le smartphone est celui qui est qui a le plus de requêtes bloquées !&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;412px&#34; data-flex-grow=&#34;172&#34; height=&#34;286&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/pihole-comme-dhcp-serveur-avec-la-box-orange/pihole2.png&#34; width=&#34;492&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Pourtant, j&amp;rsquo;utilise LineageOS, je n&amp;rsquo;ai aucune appli Google d&amp;rsquo;installées&amp;hellip; Et à y regarder de plus près, un bon nombre de ces requêtes sont bloquées par Pihole ! Un peu inquiétant sur notre vie privée tout ça, je n&amp;rsquo;ose imaginer ce que fait un smartphone avec tous les services Google d&amp;rsquo;installés !&lt;/p&gt;&#xA;&lt;p&gt;Mais il y a encore plus surprenant : Pihole offre des statistiques très intéressantes, et en allant dans &amp;ldquo;Long-term data - Top Lists&amp;rdquo;, je vois que la TV Samsung est également très active :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;554px&#34; data-flex-grow=&#34;230&#34; height=&#34;542&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/pihole-comme-dhcp-serveur-avec-la-box-orange/pihole3.png&#34; srcset=&#34;https://pled.fr/pihole-comme-dhcp-serveur-avec-la-box-orange/pihole3_hu_560b18cb4d3942b1.png 800w, https://pled.fr/pihole-comme-dhcp-serveur-avec-la-box-orange/pihole3.png 1252w&#34; width=&#34;1252&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;La &amp;ldquo;Smart TV&amp;rdquo; est effectivement très smart&amp;hellip; un peu trop à mon goût. ;) Du coup, après quelques recherches pour comprendre ce qui se passe, je trouve une &amp;ldquo;Ad List&amp;rdquo; spécialement conçue pour filtrer les accès de ces Smart TVs. Voici le lien :&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://raw.githubusercontent.com/Perflyst/PiHoleBlocklist/master/SmartTV.txt&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://raw.githubusercontent.com/Perflyst/PiHoleBlocklist/master/SmartTV.txt&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;à ajouter dans &amp;ldquo;Group Management - Adlists&amp;rdquo; de Pihole, suivi d&amp;rsquo;un &lt;code&gt;pihole -g&lt;/code&gt; pour mettre à jour la liste utilisée par Pihole.&lt;/p&gt;&#xA;&lt;p&gt;Reste à vérifier que la TV fonctionne toujours correctement avec cette liste active. Je n&amp;rsquo;ai aucun besoin d&amp;rsquo;un accès internet sur celle-ci (il n&amp;rsquo;y a que Plex que j&amp;rsquo;utilise en local comme media serveur), ce sera donc très bien de lui couper le sifflet.&lt;/p&gt;&#xA;&lt;p&gt;Voilà, ce changement de serveur DHCP est finalement très bénéfique : non seulement Pihole filtre les publicités, mais il fournit aussi beaucoup d&amp;rsquo;informations sur ce qui se passe sur votre réseau personnel ! :cool:&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Openmediavault : Installation de Nextcloud</title>
            <link>https://pled.fr/openmediavault-installation-de-nextcloud/</link>
            <pubDate>Tue, 01 Dec 2020 17:14:36 +0000</pubDate>
            <guid>https://pled.fr/openmediavault-installation-de-nextcloud/</guid>
            <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;nextcloud.png#floatleft&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Étape importante pour mon nouveau NAS : installer Nextcloud avec un accès externe sécurisé afin de pouvoir y accéder hors de la maison. Pour info, il s&amp;rsquo;agit de la version 20 de Nextcloud.&lt;/p&gt;&#xA;&lt;p&gt;Car en plus de fichiers classiques dont un Cloud offre la disponibilité, il y a une autre fonctionnalité que j&amp;rsquo;apprécie énormément : le téléchargement automatique des photos prises sur le smartphone, chose rendue possible par l&amp;rsquo;application cliente Nextcloud.&lt;/p&gt;&#xA;&lt;p&gt;L&amp;rsquo;accès par internet était donc primordial. J&amp;rsquo;ai eu plus de mal que prévu, et pas forcément sur l&amp;rsquo;installation en elle-même (avec Docker et ses containers c&amp;rsquo;est plutôt bien fait), mais j&amp;rsquo;ai du faire face à des problèmes de réseau (NAT, DNS&amp;hellip;) et le plus dur a été finalement de bien identifier les problèmes, puis de leur trouver une solution.&lt;/p&gt;&#xA;&lt;p&gt;Mais bon, aujourd&amp;rsquo;hui tout fonctionne, et je vais pouvoir me débarrasser de mon NAS Synology, et ce sera sans aucun regret, je suis plutôt épaté par Openmediavault et par tout ce qu&amp;rsquo;il propose.&lt;/p&gt;&#xA;&lt;p&gt;Je vais donc installer le triptyque Nextcloud-MariaDB-Swag. SWAG ( &lt;strong&gt;S&lt;/strong&gt; ecure &lt;strong&gt;W&lt;/strong&gt; eb &lt;strong&gt;A&lt;/strong&gt; pplication &lt;strong&gt;G&lt;/strong&gt; ateway, qui s&amp;rsquo;appelait précédemment &lt;strong&gt;letsencrypt&lt;/strong&gt;), inclut un &lt;em&gt;webserver&lt;/em&gt;, un &lt;em&gt;reverse-proxy&lt;/em&gt;, un client certbot pour la génération de certificats SSL, et enfin &lt;em&gt;fail2ban&lt;/em&gt; pour prévenir les intrusions. Plutôt complet donc !&lt;/p&gt;&#xA;&lt;p&gt;Pour cela, il faut définir un nom de domaine ; comme j&amp;rsquo;ai un domaine avec ce blog (pled.fr), et que mon hébergeur permet de se créer des enregistrements, j&amp;rsquo;ai procédé de cette manière.&lt;/p&gt;&#xA;&lt;p&gt;Hélas, une fois l&amp;rsquo;installation terminée, il m&amp;rsquo;était impossible d&amp;rsquo;accéder à la page web de Nextcloud. D&amp;rsquo;où venait le problème : configuration ? NAT ? DNS ? J&amp;rsquo;ai pas mal galéré avant de trouver la solution.&lt;/p&gt;&#xA;&lt;p&gt;Il s&amp;rsquo;agissait en fait d&amp;rsquo;un problème de &lt;a class=&#34;link&#34; href=&#34;https://fr.wikipedia.org/wiki/Hairpinning&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;NAT hairpinning&lt;/a&gt; : on ne peut pas communiquer entre deux machines sur le même réseau interne en utilisant les adresses externes. On verra comment régler ce problème.&lt;/p&gt;&#xA;&lt;p&gt;Bref, voyons un peu tout cela de plus près, et comment tout a fini par tomber en marche&amp;hellip; :cool:&lt;/p&gt;&#xA;&lt;h2 id=&#34;préparation&#34;&gt;Préparation&#xA;&lt;/h2&gt;&lt;p&gt;Voilà ce que donne le schéma général : le reverse proxy et nextcloud tournent sur la même machine, mais cette vue permet de voir la redirection des ports 443 et 80 :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;782px&#34; data-flex-grow=&#34;326&#34; height=&#34;368&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-nextcloud/network.png&#34; srcset=&#34;https://pled.fr/openmediavault-installation-de-nextcloud/network_hu_1c788dd408c4f17.png 800w, https://pled.fr/openmediavault-installation-de-nextcloud/network.png 1200w&#34; width=&#34;1200&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Première chose à faire : on passe l&amp;rsquo;interface d&amp;rsquo;administration d&amp;rsquo;OMV sur le port 8080 afin de libérer le port 80 :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;396px&#34; data-flex-grow=&#34;165&#34; height=&#34;286&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-nextcloud/OVM.png&#34; width=&#34;472&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ensuite, une des premières questions à se poser est celle-ci : ma box dispose-t-elle d&amp;rsquo;une IP fixe ? Car les enregistrements DNS que l&amp;rsquo;on va créer vont pointer sur cette adresse, c&amp;rsquo;est donc très important.&lt;/p&gt;&#xA;&lt;h3 id=&#34;adresse-ip&#34;&gt;Adresse IP&#xA;&lt;/h3&gt;&lt;p&gt;Orange à priori ne fournit pas d&amp;rsquo;adresse IP fixe aux particuliers ! Mais heureusement j&amp;rsquo;ai trouvé &lt;a class=&#34;link&#34; href=&#34;https://communaute.orange.fr/t5/ma-connexion/adresse-ip-fixe-et-dynamique/td-p/2351552&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;cette information&lt;/a&gt; :&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;Orange ne fournit pas d&amp;rsquo;adresse fixe pour ses contrats grand public. Mais :&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Les liaisons Fibre et VDSL ont des adresses &amp;ldquo;presque fixe&amp;rdquo;. Elles ne changent que rarement.&lt;/li&gt;&#xA;&lt;li&gt;Les liaisons ADSL (en voie de disparition) ont des adresses dynamiques.&lt;/li&gt;&#xA;&lt;li&gt;L&amp;rsquo;utilisateur ne peut pas forcer une IP strictement fixe.&lt;/li&gt;&#xA;&lt;li&gt;L&amp;rsquo;utilisateur peut forcer un changement d&amp;rsquo;IP depuis son espace client ou l&amp;rsquo;interface d&amp;rsquo;administration de sa box (forcer un redémarrage par logiciel)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;De plus ce n&amp;rsquo;est pas nécessaire, même pour atteindre une machine ayant une fonction de &amp;ldquo;serveur&amp;rdquo; : disque NAS, caméra, imprimante, serveur web, etc&amp;hellip; Il suffit de passer par l&amp;rsquo;utilisation d&amp;rsquo;un DNS dynamique.&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;p&gt;Dans mon cas, étant en VDSL, je peux considérer que mon adresse IP ne changera que très rarement. Je peux donc me baser sur celle-ci pour définir mon domaine DNS.&lt;/p&gt;&#xA;&lt;p&gt;Je ne souhaite pas utiliser de DNS dynamique : beaucoup de vidéos d&amp;rsquo;installation de Nextcloud sur OMV utilisent cette méthode (avec le service &lt;a class=&#34;link&#34; href=&#34;http://www.duckdns.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;duckdns&lt;/a&gt; par exemple). Mais comme mon hébergeur me permet de créer mon propre sous-domaine, je voulais vraiment utiliser cette solution, c&amp;rsquo;est plus propre.&lt;/p&gt;&#xA;&lt;h3 id=&#34;dns&#34;&gt;DNS&#xA;&lt;/h3&gt;&lt;p&gt;D&amp;rsquo;après ce que j&amp;rsquo;ai pu lire, il faut donc créer deux enregistrements: un enregistrement &lt;strong&gt;A&lt;/strong&gt; qui pointe vers l&amp;rsquo;adresse IP de la box, puis un enregistrement &lt;strong&gt;CNAME&lt;/strong&gt; qui pointe vers ce &amp;ldquo;A record&amp;rdquo; (qui est en fait un simple alias). Alors voilà ce que cela donne dans mon cas :&lt;/p&gt;&#xA;&lt;p&gt;TypeNomPointe versAxxx.pled.fr1.2.3.4TypeNomAlias deCNAMEnextcloud.xxx.pled.frxxx.pled.fr&lt;/p&gt;&#xA;&lt;p&gt;On peut vérifier facilement que la résolution du nom en adresse fonctionne avec la commande nslookup par exemple.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pascal$ nslookup nextcloud.xxx.pled.fr&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Server:&#x9;&#x9;127.0.0.53&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Address:&#x9;127.0.0.53#53&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Non-authoritative answer:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;nextcloud.xxx.pled.fr&#x9;canonical name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; xxx.pled.fr.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Name:&#x9;xxx.pled.fr&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Address: 1.2.3.4&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;box-orange&#34;&gt;Box orange&#xA;&lt;/h3&gt;&lt;p&gt;On va ouvrir les ports 443 et 80 en les redirigeant vers eux-mêmes, soit 443 et 80. Il suffit d&amp;rsquo;aller sur la box, &amp;ldquo;Configuration réseau&amp;rdquo;, puis &amp;ldquo;Configuration avancée&amp;rdquo;, et enfin choisir l&amp;rsquo;onglet NAT/PAT. Ensuite, sélectionner les deux services concernés, et les faire pointer sur le périphérique où tourne Openmediavault :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;896px&#34; data-flex-grow=&#34;373&#34; height=&#34;188&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-nextcloud/boxorange.png&#34; width=&#34;702&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Voilà, tout est prêt, on peut maintenant installer Nextcloud.&lt;/p&gt;&#xA;&lt;h2 id=&#34;nextcloud---mariadb---swag&#34;&gt;Nextcloud - Mariadb - Swag&#xA;&lt;/h2&gt;&lt;p&gt;La première méthode que j&amp;rsquo;ai essayé est normalement la plus simple, à savoir utiliser &amp;ldquo;Stacks&amp;rdquo;, qui permet de tout installer en une seule fois.&lt;/p&gt;&#xA;&lt;p&gt;Tout est expliqué sur &lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=4HPXGKfFibc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;cette vidéo de Techno Dad Life&lt;/a&gt;. Concernant la configuration et les paramètres, On trouve pas mal d&amp;rsquo;explications et d&amp;rsquo;exemples de configuration sur &lt;a class=&#34;link&#34; href=&#34;https://docs.linuxserver.io/general/swag&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;cette page&lt;/a&gt;, ou encore &lt;a class=&#34;link&#34; href=&#34;https://forum.openmediavault.org/index.php?thread%2F28216-how-to-nextcloud-with-letsencrypt-using-omv-and-docker-compose%2F&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;celle-ci&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Comme j&amp;rsquo;ai rencontré des problèmes de NAT, j&amp;rsquo;ai fini par tout installer container par container, mais la méthode &amp;ldquo;Stacks&amp;rdquo; est beaucoup plus simple et plus rapide ! C&amp;rsquo;est donc celle-là que je vais décrire.&lt;/p&gt;&#xA;&lt;p&gt;Dans Portainer, le gestionnaire Docker d&amp;rsquo;Openmediavault (voir &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=16901&#34; &gt;l&amp;rsquo;article sur Plex&lt;/a&gt; si nécessaire), on clique sur Stacks à gauche, puis sur le bouton &amp;ldquo;Add stack&amp;rdquo;. Il ne reste plus qu&amp;rsquo;à coller le contenu suivant qui définit les 3 containers que l&amp;rsquo;on souhaite installer.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;---&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;version: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;services:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  nextcloud:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    image: linuxserver/nextcloud&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    container_name: nextcloud&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    environment:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - PUID&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;997&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - PGID&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - TZ&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;Europe/Paris&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    volumes:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - /srv/dev-disk-by-label-DATA/AppData/Nextcloud/config:/config&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - /srv/dev-disk-by-label-DATA/Nextcloud/data:/data&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    depends_on:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - mariadb&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    restart: unless-stopped&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  mariadb:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    image: linuxserver/mariadb&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    container_name: nextclouddb&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    environment:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - PUID&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;997&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - PGID&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - MYSQL_ROOT_PASSWORD&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;password&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - TZ&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;Europe/Paris&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    volumes:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - /srv/dev-disk-by-label-DATA/AppData/Nextclouddb:/config&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    restart: unless-stopped&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  swag:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    image: linuxserver/swag&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    container_name: swag&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    cap_add:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - NET_ADMIN&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    environment:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - PUID&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;997&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - PGID&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - TZ&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;Europe/Paris&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - URL&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;xxx.pled.fr&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - SUBDOMAINS&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;nextcloud&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - VALIDATION&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;http&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - EMAIL&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;xxx@yyy.zz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    volumes:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - /srv/dev-disk-by-label-DATA/AppData/swag:/config&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    ports:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - 443:443&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - 80:80&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      - 81:81&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    restart: unless-stopped&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Quelques remarques sur ce contenu :&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai volontairement retiré le définition du port 443 pour le container Nextcloud, car il rentrait en conflit au démarrage avec la définition du même port dans Swag. Comme le port SSL par défaut est 443, Nextcloud fonctionne parfaitement sans avoir à définir le port.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Le PUID et le PGID du compte admin sont à identifier sur votre serveur, comme lors de l&amp;rsquo;&lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=16901&#34; &gt;installation de PLEX&lt;/a&gt;. Vous pouvez éventuellement créer un compte spécifique &amp;ldquo;nextcloud&amp;rdquo; pour cette installation, à vous de voir.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Le port 81 n&amp;rsquo;est pas nécessaire à ce stade, mais je vais l&amp;rsquo;utiliser pour &amp;ldquo;Swag Dashboard&amp;rdquo;, un &amp;ldquo;mod&amp;rdquo; qui permet d&amp;rsquo;afficher les stats de Swag (voir &lt;a class=&#34;link&#34; href=&#34;https://colinfo.fr/installation-du-dashboard-de-swag/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;cet article&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Pour le chemin d&amp;rsquo;accès aux volumes, j&amp;rsquo;ai d&amp;rsquo;abord créé via l&amp;rsquo;interface d&amp;rsquo;OMV les dossiers partagés &lt;code&gt;AppData&lt;/code&gt; (utilisé pour la configuration des containers), et un répertoire &lt;code&gt;Nextcloud&lt;/code&gt; qui sera utilisé par les utilisateurs de Nextcloud. Je peux ainsi accéder facilement à ce dernier avec un partage NFS (ou autre) si je le souhaite.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;458px&#34; data-flex-grow=&#34;190&#34; height=&#34;372&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-nextcloud/shared-folders.png&#34; width=&#34;710&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ensuite, il faut se connecter en SSH pour créer les sous-dossiers &amp;ldquo;Nextcloud&amp;rdquo;, &amp;ldquo;Nextclouddb&amp;rdquo; et &amp;ldquo;swag&amp;rdquo; qui sont utilisés pour les dossiers &amp;ldquo;config&amp;rdquo; des applis, et les faire appartenir au compte admin (le compte utilisé par OMV).&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pascal@odroidhc2:~$ cd /srv/dev-disk-by-label-DATA/AppData&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pascal@odroidhc2:/srv/dev-disk-by-label-DATA/AppData$ sudo mkdir Nextcloud Nextclouddb swag&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pascal@odroidhc2:/srv/dev-disk-by-label-DATA/AppData$ sudo chown -R admin Nextcloud Nextclouddb swag&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pascal@odroidhc2:/srv/dev-disk-by-label-DATA/AppData$ ls -l&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;total &lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;drwxrwsrwx+  &lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt; admin users &lt;span style=&#34;color:#ae81ff&#34;&gt;4096&lt;/span&gt; Nov &lt;span style=&#34;color:#ae81ff&#34;&gt;22&lt;/span&gt; 18:23 Nextcloud&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;drwxrwsrwx+  &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt; admin users &lt;span style=&#34;color:#ae81ff&#34;&gt;4096&lt;/span&gt; Nov &lt;span style=&#34;color:#ae81ff&#34;&gt;23&lt;/span&gt; 14:59 Nextclouddb&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;drwxrwsrwx+ &lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt; admin users &lt;span style=&#34;color:#ae81ff&#34;&gt;4096&lt;/span&gt; Nov &lt;span style=&#34;color:#ae81ff&#34;&gt;23&lt;/span&gt; 19:00 swag&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;En ce qui concerne les noms de domaine, j&amp;rsquo;ai donc utilisé mon enregistrement de type A pour le paramètre &lt;strong&gt;URL&lt;/strong&gt;, et le sous-domaine &amp;ldquo;nextcloud&amp;rdquo; du CNAME pour le paramètre &lt;strong&gt;SUBDOMAINS&lt;/strong&gt;. La validation est elle de type http.&lt;/li&gt;&#xA;&lt;li&gt;Concernant le port pour swag, j&amp;rsquo;ai bien mappé le port 443 (ce que je vais recevoir du router de la box) vers le port 443 (celui sur lequel écoute l&amp;rsquo;instance Nextcloud).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Voilà, il ne reste plus qu&amp;rsquo;à cliquer sur &amp;ldquo;Deploy the stack&amp;rdquo; pour que tout s&amp;rsquo;exécute et s&amp;rsquo;installe. Cela prend un peu de temps, puisque les logiciels vont être téléchargés, puis installés et configurés.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;Ce n&amp;rsquo;est pas complètement terminé, il reste à finaliser l&amp;rsquo;installation en modifiant quelques fichiers de configuration.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Swag&lt;/strong&gt; : comme je souhaite utiliser un sous-domaine (nextcloud.xxx.pled.fr) et non pas un sous-dossier (xxx.pled.fr/nextcloud) pour accéder au serveur, il va falloir &amp;ldquo;activer&amp;rdquo; le fichier d&amp;rsquo;exemple :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd /srv/dev-disk-by-label-DATA/AppData/swag/nginx/proxy-confs&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cp nextcloud.subdomain.conf.sample nextcloud.subdomain.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo chown -R admin nextcloud.subdomain.conf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Info&lt;/p&gt;&#xA;&lt;p&gt;Avec une version plus récente de Nextcloud (v23 par exemple), modifier le fichier config.php comme indiqué ci-dessous est à faire APRÈS avoir passé la page d&amp;rsquo;installation dans le navigateur, ce qui permet de finir l&amp;rsquo;installation, et télécharger tous les fichiers nécessaires. Avant, le fichier n&amp;rsquo;est pas encore présent.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Nextcloud&lt;/strong&gt; : il faut éditer et modifier/ajouter quelques paramètres dans le fichier &lt;code&gt;/srv/dev-disk-by-label-DATA/AppData/Nextcloud/config/www/nextcloud/config/config.php&lt;/code&gt; : vérifiez que ceux listés ci-dessous existent et adaptez-les à votre configuration.&lt;/p&gt;&#xA;&lt;p&gt;Pour une bonne définition du réseau pour l&amp;rsquo;entrée &lt;code&gt;trusted_proxies&lt;/code&gt;, il est recommandé d&amp;rsquo;utiliser la notation CIDR (voir &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/streaming-de-sa-propre-musique-avec-lapplication-nextcloud-music/&#34; &gt;cet article&lt;/a&gt;). Grâce à Portainer, on peut voir le réseau utilisé par Nextcloud et/ou Swag :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;550px&#34; data-flex-grow=&#34;229&#34; height=&#34;219&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-nextcloud/reseau.png&#34; width=&#34;502&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;On indique donc ce réseau en notation CIDR pour que Nextcloud soit content (sinon, laisser &amp;lsquo;swag&amp;rsquo;) :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;trusted_proxies&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;array&lt;/span&gt; (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;17Z.20.0.0/16&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;trusted_domains&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;array&lt;/span&gt; (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;192.168.1.30:443&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;nextcloud.xxx.pled.fr&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;overwrite.cli.url&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;https://nextcloud.xxx.pled.fr&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;overwritehost&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;nextcloud.xxx.pled.fr&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;overwriteprotocol&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;https&amp;#39;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;il faut vérifier que tout démarre bien. Il faut se connecter en SSH sur la machine, et entre les commandes suivantes :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo docker restart swag&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo docker restart nextcloud&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo docker logs -f swag&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo docker logs -f nextcloud&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Pour swag, vérifier que vous voyez bien les messages suivants : &amp;quot; &lt;em&gt;Congratulations! Your certificate and chain have been saved at&amp;hellip;&lt;/em&gt;&amp;quot;. Pour swag et nextcloud, vous devez voir &amp;quot; &lt;em&gt;[services.d] starting services&lt;/em&gt;&amp;quot; suivi de &amp;quot; &lt;em&gt;[services.d] done&lt;/em&gt;&amp;quot; en fin de log. Si ces deux messages s&amp;rsquo;affichent, c&amp;rsquo;est plutôt bon signe.&lt;/p&gt;&#xA;&lt;p&gt;Du côté de l&amp;rsquo;interface de Portainer, on doit voir les containers démarrés et actifs :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;963px&#34; data-flex-grow=&#34;401&#34; height=&#34;299&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-nextcloud/portainer.png&#34; srcset=&#34;https://pled.fr/openmediavault-installation-de-nextcloud/portainer_hu_70d5a5055c27595a.png 800w, https://pled.fr/openmediavault-installation-de-nextcloud/portainer.png 1200w&#34; width=&#34;1200&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Voilà, on doit maintenant pouvoir afficher la page de première connexion de Nextcloud. C&amp;rsquo;est là que j&amp;rsquo;ai eu des problèmes avec mon histoire de NAT. J&amp;rsquo;y reviens tout de suite, mais terminons rapidement l&amp;rsquo;installation de Nextcloud :&lt;/p&gt;&#xA;&lt;p&gt;Sur l&amp;rsquo;écran qui s&amp;rsquo;affiche ci-dessous, il suffit de remplir les champs correctement. J&amp;rsquo;ai également décoché l&amp;rsquo;installation des &amp;ldquo;applications recommandées&amp;rdquo;, je n&amp;rsquo;installerai que ce dont j&amp;rsquo;ai besoin au fur et à mesure.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;197px&#34; data-flex-grow=&#34;82&#34; height=&#34;1098&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-nextcloud/nextcloud.png&#34; srcset=&#34;https://pled.fr/openmediavault-installation-de-nextcloud/nextcloud_hu_16818c5b329d135d.png 800w, https://pled.fr/openmediavault-installation-de-nextcloud/nextcloud.png 903w&#34; width=&#34;903&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Créer un compte admin (choisissez le nom que vous voulez, c&amp;rsquo;est celui qui aura les droits d&amp;rsquo;administration) et lui donner un mot de passe.&lt;/li&gt;&#xA;&lt;li&gt;Pour la base de données, laisser &amp;ldquo;/data&amp;rdquo; pour le dossier de la DB, choisir MySQL/MariaDB, le &amp;ldquo;Database user&amp;rdquo; est &amp;ldquo;root&amp;rdquo;, le &amp;ldquo;Database password&amp;rdquo; est celui que l&amp;rsquo;on a mis dans le fichier de configuration &amp;ldquo;Stack&amp;rdquo; ( &lt;code&gt;MYSQL_ROOT_PASSWORD&lt;/code&gt;), idem pour le nom de la base de donnée ( &lt;code&gt;nextclouddb&lt;/code&gt;), et enfin on remplace localhost par &amp;quot; &lt;code&gt;mariadb&lt;/code&gt;&amp;quot; (le nom du container en tant que nom DNS).&lt;/li&gt;&#xA;&lt;li&gt;Comme indiqué juste en-dessous de &amp;ldquo;mariadb&amp;rdquo;, on peut aussi préciser le numéro de port. Dans mon cas, comme j&amp;rsquo;ai fait l&amp;rsquo;installation container par container, j&amp;rsquo;avais défini un port pour mariadb (3306, le port par défaut), j&amp;rsquo;ai donc remplacé&amp;quot; &amp;ldquo;localhost&amp;rdquo; par mon adresse IP locale suivie du numéro de port (soit 192.168.1.30:3306). Ce n&amp;rsquo;était sans doute pas nécessaire, puisque ce sont finalement les valeurs par défaut, mais cela permet de comprendre ce que l&amp;rsquo;on fait !&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Voilà, cliquer sur les quelques écrans de présentation qui suivent, et Nextcloud est installé et prêt à fonctionner !&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;265px&#34; data-flex-grow=&#34;110&#34; height=&#34;922&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-nextcloud/nextcloud-dashboard-1.png&#34; srcset=&#34;https://pled.fr/openmediavault-installation-de-nextcloud/nextcloud-dashboard-1_hu_a49be1b53e85adba.png 800w, https://pled.fr/openmediavault-installation-de-nextcloud/nextcloud-dashboard-1.png 1020w&#34; width=&#34;1020&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;nat-hairpinning&#34;&gt;NAT hairpinning&#xA;&lt;/h2&gt;&lt;p&gt;Revenons donc au problème qui m&amp;rsquo;a occupé bien des heures. Non pas qu&amp;rsquo;il soit compliqué à résoudre, mais j&amp;rsquo;ai mis un certain temps à comprendre ce qui se passait.&lt;/p&gt;&#xA;&lt;p&gt;Donc lorsque je voulais afficher la page &lt;a class=&#34;link&#34; href=&#34;https://nextcloud.xxx.pled.fr&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://nextcloud.xxx.pled.fr&lt;/a&gt; pour finaliser l&amp;rsquo;installation de Nextcloud, je partais en timeout :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;512px&#34; data-flex-grow=&#34;213&#34; height=&#34;234&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-nextcloud/timeout.png&#34; width=&#34;500&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;avais tout vérifié : les ports ouverts avec &lt;strong&gt;nmap&lt;/strong&gt;, les noms de domaine avec &lt;strong&gt;nslookup&lt;/strong&gt;, tout semblait correct. J&amp;rsquo;ai fini par réinstaller tous les containers un par un, pour chaque fois arriver au même résultat. Et puis j&amp;rsquo;ai eu l&amp;rsquo;idée de prendre mon smartphone, de couper le wifi, et de tester l&amp;rsquo;URL de Nextcloud en passant donc par le réseau GSM : et là, ça marchait !! :razz:&lt;/p&gt;&#xA;&lt;p&gt;Restait à comprendre le problème, et là c&amp;rsquo;est un type sur Discord (en bas de la page de &lt;a class=&#34;link&#34; href=&#34;https://docs.linuxserver.io/general/swag&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Swag setup&lt;/a&gt;, il y a une invitation pour rejoindre le groupe) avec qui j&amp;rsquo;avais vérifié ma config swag quand je pensais que c&amp;rsquo;était peut-être la cause du problème, qui m&amp;rsquo;a parlé de ce désormais fameux &amp;ldquo;NAT hairpinning&amp;rdquo; !&lt;/p&gt;&#xA;&lt;p&gt;Alors qu&amp;rsquo;est-ce qui se passe ? quand on envoie un message TCP sur le réseau, il y a une adresse destination et une adresse source : quand je suis sur mon PC, l&amp;rsquo;adresse source est donc mon adresse locale (192.168.x.y). Le message par vers la destination (le nom DNS du serveur Nextcloud), soit une fois le nom DNS résolu en adresse IP, l&amp;rsquo;adresse de ma box. Et la box, voyant un message TCP arriver de l&amp;rsquo;extérieur avec une adresse source ET destination locale&amp;hellip; eh bien bloque tout simplement ce message le message : c&amp;rsquo;est apparemment une limitation du protocole NAT. Voilà ce qu&amp;rsquo;explique &lt;a class=&#34;link&#34; href=&#34;https://fr.wikipedia.org/wiki/Hairpinning&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;la page wikipedia&lt;/a&gt; sur le sujet :&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;le hairpinning décrit une communication entre deux machines placées derrière le même routeur NAT qui utilisent l&amp;rsquo;adresse IP de leurs points de sorties pour communiquer. Tous les mécanismes de NAT ne supportent pas cette configuration de communication.&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;p&gt;Et donc soit vous avez un router évolué qui permet de définir une règle pour éviter ce problème (ce qui n&amp;rsquo;est pas le cas du router de box Orange), soit le plus simple est d&amp;rsquo;utiliser un serveur DNS local.&lt;/p&gt;&#xA;&lt;p&gt;Or il se trouve que j&amp;rsquo;ai installé il y a peu &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=16628&#34; &gt;un serveur Pihole sur mon Raspberry&lt;/a&gt;. J&amp;rsquo;avais fait ça pour le fun (ou presque), mais finalement cela va m&amp;rsquo;être très utile, puisque Pihole fait office de serveur DNS. Il me suffit alors de définir deux entrées pour mes deux enregistrements DNS :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;678px&#34; data-flex-grow=&#34;282&#34; height=&#34;230&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-nextcloud/localdns-1.png&#34; width=&#34;650&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;847px&#34; data-flex-grow=&#34;353&#34; height=&#34;160&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-nextcloud/localdns2-1.png&#34; width=&#34;565&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Et voilà ! Après un rechargement de la page, Nextcloud s&amp;rsquo;affiche enfin correctement dans le PC et je peux finaliser l&amp;rsquo;installation ! :cool:&lt;/p&gt;&#xA;&lt;p&gt;Pour être complet, j&amp;rsquo;ai bien entendu eu le même problème avec le smartphone et l&amp;rsquo;application android Nextcloud. Sauf que là, quand j&amp;rsquo;ai voulu passer ma connexion wifi en mode &amp;ldquo;statique&amp;rdquo; (au lieu de DHCP) afin de définir mon propre DNS, cela ne fonctionnait toujours pas. Je n&amp;rsquo;ai pas creusé plus que ça, j&amp;rsquo;ai installé &lt;a class=&#34;link&#34; href=&#34;https://f-droid.org/fr/packages/org.blokada.alarm/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Blokada&lt;/a&gt;, ajouté mon propre DNS avec mon serveur Pihole en primaire, et celui de Google en secondaire, pour quand je suis en extérieur. Ça a l&amp;rsquo;air de bien fonctionner comme ça.&lt;/p&gt;&#xA;&lt;h2 id=&#34;conclusion&#34;&gt;Conclusion&#xA;&lt;/h2&gt;&lt;p&gt;Cette installation n&amp;rsquo;aura pas été facile. Elle aurait pu l&amp;rsquo;être sans ce problème de NAT, qui m&amp;rsquo;a bien pris la tête. Comme toujours, à force de réinstaller, de tester, regarder les logs de docker, j&amp;rsquo;ai appris plein de choses (comme des commandes &amp;lsquo;docker&amp;rsquo;). C&amp;rsquo;est donc bénéfique globalement.&lt;/p&gt;&#xA;&lt;p&gt;Et maintenant, j&amp;rsquo;ai un Nextcloud dernière version qui tourne sur une machine suffisamment puissante. Contrairement à ma baie Synology qui manque singulièrement de puissance CPU, et sur laquelle installer Nextcloud est une plaie.&lt;/p&gt;&#xA;&lt;p&gt;C&amp;rsquo;est d&amp;rsquo;ailleurs la raison principale de ce changement de NAS : passer sur un système open-source, afin d&amp;rsquo;avoir un choix plus vaste de logiciels.&lt;/p&gt;&#xA;&lt;p&gt;Il me reste maintenant à penser à la sauvegarde de tout ça (car je n&amp;rsquo;ai plus de RAID sur mon Odroid-HC2 !). Et puis ce sera le tour d&amp;rsquo;un client Open VPN, chose que je ne pouvais tout simplement pas installer sur la baie Synology.&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Odroid : changement du MOTD</title>
            <link>https://pled.fr/odroid-changement-du-motd/</link>
            <pubDate>Sun, 15 Nov 2020 13:50:19 +0000</pubDate>
            <guid>https://pled.fr/odroid-changement-du-motd/</guid>
            <description>&lt;p&gt;Sur mon nouveau Odroid-HC2, après avoir installé OMV, il y avait un petit truc qui me chiffonnait : c&amp;rsquo;était le message affiché au login dans le terminal :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;409px&#34; data-flex-grow=&#34;170&#34; height=&#34;461&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/odroid-changement-du-motd/motdxu4.png&#34; width=&#34;786&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Les informations affichées sont très jolies et utiles, mais mon modèle Odroid n&amp;rsquo;est pas un XU4, c&amp;rsquo;est un HC2 : Je ne pouvais pas décemment laisser les choses en l&amp;rsquo;état ! ;-)&lt;/p&gt;&#xA;&lt;p&gt;En fait c&amp;rsquo;est normal, le système installé est le même pour les modèles XU4, HC1 et HC2 (même noyau) :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pascal@odroidhc2:~$ uname -r&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;4.14.202-odroidxu4&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Il va donc falloir &amp;ldquo;tricher&amp;rdquo; un peu, et pour cela rechercher d&amp;rsquo;où vient ce qui est affiché au login. Je me souvenais de mes premiers cours Unix où on affichait le &lt;strong&gt;motd&lt;/strong&gt; ( &lt;strong&gt;m&lt;/strong&gt; essage &lt;strong&gt;o&lt;/strong&gt; f &lt;strong&gt;t&lt;/strong&gt; he &lt;strong&gt;d&lt;/strong&gt; ay), un simple fichier texte situé dans &lt;code&gt;/etc&lt;/code&gt;. Mais ce temps est révolu, et j&amp;rsquo;ai pu trouver les explications actualisées sur &lt;a class=&#34;link&#34; href=&#34;https://ownyourbits.com/2017/04/05/customize-your-motd-login-message-in-debian-and-ubuntu/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;cette page&lt;/a&gt;, qui reprend tout l&amp;rsquo;historique et l&amp;rsquo;évolution de ce message affiché au login.&lt;/p&gt;&#xA;&lt;p&gt;En résumé, on affiche le contenu du fichier &lt;code&gt;/var/run/motd.dynamic&lt;/code&gt;, mais ce dernier est dynamique (généré à chaque login), et les fichiers utilisés pour le créer sont dans &lt;code&gt;/etc/update-motd.d&lt;/code&gt;. Et si l&amp;rsquo;on veut modifier ceux qui s&amp;rsquo;affichent, on est censé éditer le fichier &lt;code&gt;/etc/default/armbian-motd&lt;/code&gt; :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;321px&#34; data-flex-grow=&#34;133&#34; height=&#34;587&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/odroid-changement-du-motd/motd1.png&#34; width=&#34;786&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Je regarde alors le contenu du fichier &lt;code&gt;10-armbian-header&lt;/code&gt; qui me semble bien correspondre à ce que je cherche, et j&amp;rsquo;y trouve cette ligne :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;TERM&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;linux toilet -f standard -F metal &lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;echo $BOARD_NAME | sed &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/Orange Pi/OPi/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt; | sed &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/NanoPi/NPi/&amp;#39;&lt;/span&gt; | sed &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/Banana Pi/BPi/&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;L&amp;rsquo;occasion de découvrir cette commande &lt;strong&gt;toilet&lt;/strong&gt; que je ne connaissais pas (on peut s&amp;rsquo;amuser avec !). Pour en revenir à la ligne en question, les commandes &amp;lsquo;sed&amp;rsquo; de substitution de texte me donnent la solution toute simple : il suffit de rajouter un &amp;lsquo;sed&amp;rsquo; de plus, pour remplacer la chaîne XU4 par HC2 :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;TERM&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;linux toilet -f standard -F metal &lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;echo $BOARD_NAME | sed &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/Orange Pi/OPi/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt; | sed &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/NanoPi/NPi/&amp;#39;&lt;/span&gt; | sed &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/Banana Pi/BPi/&amp;#39;&lt;/span&gt; | sed &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/XU4/HC2/&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Et voilà, au prochain login, j&amp;rsquo;ai bien Odroid HC2 d&amp;rsquo;affiché :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;443px&#34; data-flex-grow=&#34;184&#34; height=&#34;425&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/odroid-changement-du-motd/motdhc2.png&#34; width=&#34;786&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;NOTE : Il est possible qu&amp;rsquo;une mise à jour du système écrase un jour ma modification (encore que ça ne doit pas arriver tous les jours), et dans ce cas il faudra la refaire.&lt;/p&gt;&#xA;&lt;p&gt;Mais bon, j&amp;rsquo;ai un beau MOTD maintenant ! :cool:&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Openmediavault - Installation de PLEX server</title>
            <link>https://pled.fr/openmediavault-installation-de-plex-server/</link>
            <pubDate>Wed, 11 Nov 2020 17:34:56 +0000</pubDate>
            <guid>https://pled.fr/openmediavault-installation-de-plex-server/</guid>
            <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;plex.png#floatleft&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Suite de l&amp;rsquo;&lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=16854&#34; &gt;installation d&amp;rsquo;Openmediavault&lt;/a&gt; : cette fois, il s&amp;rsquo;agit d&amp;rsquo;installer PLEX Media Server, solution bien pratique pour diffuser le contenu media (films, séries, documentaires) du NAS vers la TV Samsung, qui intègre un client Plex.&lt;/p&gt;&#xA;&lt;p&gt;Pour ce faire, on va utiliser Docker et Portainer, qui simplifie l&amp;rsquo;installation. Il va tout de même y avoir quelques valeurs à saisir correctement, mais rien de très compliqué non plus, et tout a fonctionné du premier coup, c&amp;rsquo;est bien là l&amp;rsquo;essentiel.&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai en fait suivi &lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=I6PloKML_sc&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;une vidéo&lt;/a&gt; (en anglais) pour cette installation. Je la retranscris ici en mode texte avec les captures d&amp;rsquo;écran nécessaires, et en français. Il y a un petit changement par rapport à la vidéo concernant le répertoire de configuration de Plex, qu&amp;rsquo;il n&amp;rsquo;est plus nécessaire de créer car il est géré par l&amp;rsquo;installation. La version Plex d&amp;rsquo;installée est la 1.20.4.3517 .&lt;/p&gt;&#xA;&lt;p&gt;C&amp;rsquo;est parti&amp;hellip;&lt;/p&gt;&#xA;&lt;h2 id=&#34;dossiers-partagés&#34;&gt;Dossiers partagés&#xA;&lt;/h2&gt;&lt;p&gt;Avant d&amp;rsquo;installer Plex, on va d&amp;rsquo;abord créer des dossiers partagés. Pendant l&amp;rsquo;installation d&amp;rsquo;OMV, j&amp;rsquo;avais partagé tout mon disque DATA (OMV-DATA), de manière à pouvoir y accéder depuis mon PC.&lt;/p&gt;&#xA;&lt;p&gt;Je vais donc créer des sous-répertoires à ce dossier partagé, pour l&amp;rsquo;utilisation de Plex :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;539px&#34; data-flex-grow=&#34;224&#34; height=&#34;309&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-plex-server/dossiers-partages-1.png&#34; width=&#34;694&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai donc créé les trois dossiers dont j&amp;rsquo;ai besoin : Films, Series et Docus. Lors de la création de ceux-ci, j&amp;rsquo;ai ajouté un chemin relatif pour créer des sous-répertoires par rapport à OMV-DATA (qui est celui que je partage en NFS), et j&amp;rsquo;ai accordé à tous ces dossiers les droits Lecture/Ecriture :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;445px&#34; data-flex-grow=&#34;185&#34; height=&#34;268&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-plex-server/dossiers-partages-ajout.png&#34; width=&#34;498&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Passons maintenant à l&amp;rsquo;installation du container Plex.&lt;/p&gt;&#xA;&lt;h3 id=&#34;docker-et-portainer&#34;&gt;Docker et Portainer&#xA;&lt;/h3&gt;&lt;p&gt;Info&lt;/p&gt;&#xA;&lt;p&gt;Au sujet de Docker, si vous l&amp;rsquo;installez, il peut être utile de le déplacer hors du disque système, si ce dernier est sur une carte microSD comme c&amp;rsquo;est mon cas avec mon odroid-hc2 (et tous les &lt;a class=&#34;link&#34; href=&#34;https://fr.wikipedia.org/wiki/Ordinateur_%C3%A0_carte_unique&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;SBC&lt;/a&gt; comme les Raspberry &amp;amp; Co). Et mieux vaut le faire dès le départ, c&amp;rsquo;est plus simple.&lt;/p&gt;&#xA;&lt;p&gt;Voir cet article : &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=17223&#34; &gt;Openmediavault : déplacement de Docker&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Pour installer ces deux-là, rien de plus simple : on va dans OMV-Extras (qui ont été précédemment installés par le script d&amp;rsquo;installation), et on installe les deux programmes :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;403px&#34; data-flex-grow=&#34;168&#34; height=&#34;486&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-plex-server/docker-portainer.png&#34; srcset=&#34;https://pled.fr/openmediavault-installation-de-plex-server/docker-portainer_hu_ed7251c31573238b.png 800w, https://pled.fr/openmediavault-installation-de-plex-server/docker-portainer.png 818w&#34; width=&#34;818&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ensuite, on ouvre Portainer (bouton à droite de l&amp;rsquo;installation de Portainer), qui s&amp;rsquo;ouvre dans un nouvel onglet, et on saisit un mot de passe. Puis on choisit &amp;ldquo;Local&amp;rdquo; pour la gestion de l&amp;rsquo;environnement Docker, et on se connecte. On clique sur la petite baleine bleue, et on arrive sur notre &amp;ldquo;Dashboard&amp;rdquo;. Il y a déjà un Container qui tourne, c&amp;rsquo;est Portainer (qui est donc lui-même un container dans Docker).&lt;/p&gt;&#xA;&lt;h3 id=&#34;plex&#34;&gt;Plex&#xA;&lt;/h3&gt;&lt;p&gt;On clique sur Container, puis sur le bouton &amp;quot; + Add container&amp;quot;. Là, il va falloir aller chercher l&amp;rsquo;adresse du Container Plex. On ouvre alors un nouvel onglet dans notre navigateur, et on rentre l&amp;rsquo;adresse &lt;code&gt;hub.docker.com&lt;/code&gt; et on cherche &amp;ldquo;linuxserver/plex&amp;rdquo; :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;408px&#34; data-flex-grow=&#34;170&#34; height=&#34;255&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-plex-server/dockerhub.png&#34; width=&#34;434&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;On arrive sur alors sur la page de Linuxserver.io (qui fournit des containers) pour PLEX :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;1153px&#34; data-flex-grow=&#34;480&#34; height=&#34;104&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-plex-server/linuxserver.png&#34; width=&#34;500&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;C&amp;rsquo;est à partir des informations de cette page qu&amp;rsquo;il va falloir saisir les paramètres de configuration pour notre futur container Plex. C&amp;rsquo;est la partie la plus fastidieuse, mais finalement assez simple. Sur cette page descriptive du container Plex, on trouve donc un peu plus bas les infos suivantes :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;216px&#34; data-flex-grow=&#34;90&#34; height=&#34;593&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-plex-server/plexvariables.png&#34; width=&#34;535&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ce sont toutes ces informations qu&amp;rsquo;il va falloir saisir en créant notre container Plex (sauf PLEX_CLAIM) afin de pouvoir ensuite la démarrer. Une dernière chose à faire, c&amp;rsquo;est de noter l&amp;rsquo;UID et le GID pour le compte admin de notre propre NAS. On se loggue donc en SSH sur le serveur, et on tape la commande suivante :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pascal@odroidhc2:~$ id admin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;uid&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;997&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;admin&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; gid&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;100&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;users&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; groups&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;100&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;users&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;,996&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;openmediavault-admin&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pascal@odroidhc2:~$&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Retour dans l&amp;rsquo;onglet &amp;ldquo;New container&amp;rdquo; ouvert précédemment, on commence par lui donner un nom et indiquer le chemin de l&amp;rsquo;image ci-dessus :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;431px&#34; data-flex-grow=&#34;179&#34; height=&#34;272&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-plex-server/plex1.png&#34; width=&#34;489&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Puis en bas de la page, on clique sur &amp;ldquo;Env&amp;rdquo;, et sur &amp;ldquo;+ add environment variable&amp;rdquo; plusieurs fois pour ajouter nos variables (en appliquant bien nos propres valeurs pour UID et GID) :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;706px&#34; data-flex-grow=&#34;294&#34; height=&#34;314&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-plex-server/env.png&#34; srcset=&#34;https://pled.fr/openmediavault-installation-de-plex-server/env_hu_a006c30884acc8cd.png 800w, https://pled.fr/openmediavault-installation-de-plex-server/env.png 924w&#34; width=&#34;924&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Même chose pour Network où l&amp;rsquo;on choisit &amp;ldquo;host&amp;rdquo; dans la liste :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;934px&#34; data-flex-grow=&#34;389&#34; height=&#34;162&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-plex-server/plex2.png&#34; width=&#34;631&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Pour les Volumes, il va falloir définir chaque répertoire avec le chemin absolu (voir plus haut), en ayant coché &amp;ldquo;Bind&amp;rdquo; auparavant :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;590px&#34; data-flex-grow=&#34;246&#34; height=&#34;398&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-plex-server/plex3.png&#34; srcset=&#34;https://pled.fr/openmediavault-installation-de-plex-server/plex3_hu_e49aafbe9507fee0.png 800w, https://pled.fr/openmediavault-installation-de-plex-server/plex3.png 980w&#34; width=&#34;980&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Info&lt;/p&gt;&#xA;&lt;p&gt;Dans la vidéo, un dossier Config est créé et destiné aux fichiers de configurations de Plex. Cela ne sert plus à rien, le container va créer son propre répertoire &amp;ldquo;config&amp;rdquo;. On peut le retrouver en éditant le container créé et en allant voir les Volumes : chez moi, le dossier est créé dans /var/lib/docker/volumes/ec75ef70e88d3dbfed36925d274292439931f9ff77c88dde055abb9bbf41ae6b/_data. Ça peut servir pour aller voir les logs de Plex en cas de souci&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Et enfin , on modifie le mode &amp;ldquo;Restart&amp;rdquo; comme indiqué en mode &amp;ldquo;Unless stopped&amp;rdquo; :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;1630px&#34; data-flex-grow=&#34;679&#34; height=&#34;168&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-plex-server/plex4.png&#34; srcset=&#34;https://pled.fr/openmediavault-installation-de-plex-server/plex4_hu_8cc9fba863ea7b08.png 800w, https://pled.fr/openmediavault-installation-de-plex-server/plex4.png 1141w&#34; width=&#34;1141&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Voilà, tout est configuré, il ne reste plus qu&amp;rsquo;à cliquer sur le bouton &amp;quot; &lt;strong&gt;Deploy the container&lt;/strong&gt;&amp;quot;. Votre instance Plex est désormais installée et opérationnelle !&lt;/p&gt;&#xA;&lt;p&gt;Il ne reste plus qu&amp;rsquo;à copier des vidéos dans vos dossiers partagés (dans mon cas, via le partage NFS que j&amp;rsquo;ai mis en place &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=16854&#34; &gt;pendant l&amp;rsquo;installation d&amp;rsquo;OMV&lt;/a&gt;. Puis de lancer l&amp;rsquo;interface de Plex pour la première fois en ouvrant l&amp;rsquo;adresse suivante : &lt;code&gt;http://192.168.1.X:32400/web/index.html&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Il faudra un peu la configurer, choisir les dossiers Media, etc&amp;hellip; Rien de très compliqué, et ce n&amp;rsquo;est pas l&amp;rsquo;objet de cet article.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;396px&#34; data-flex-grow=&#34;165&#34; height=&#34;1035&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-plex-server/home-plex.png&#34; srcset=&#34;https://pled.fr/openmediavault-installation-de-plex-server/home-plex_hu_32bef3d8a2d4841e.png 800w, https://pled.fr/openmediavault-installation-de-plex-server/home-plex_hu_a7a387aa204ac06f.png 1600w, https://pled.fr/openmediavault-installation-de-plex-server/home-plex.png 1712w&#34; width=&#34;1712&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Enfin, sur la TV, je me suis déconnecté de mon instance existante (sur la baie Synology), puis reconnecté avec l&amp;rsquo;adresse mail du nouveau compte Plex que j&amp;rsquo;ai créé pour cette occasion. Le &amp;ldquo;Plex client&amp;rdquo; de la TV vous demande alors de rentrer un code :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;344px&#34; data-flex-grow=&#34;143&#34; height=&#34;360&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/openmediavault-installation-de-plex-server/plex-code.png&#34; width=&#34;517&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Il suffit alors de taper l&amp;rsquo;adresse indiquée &lt;code&gt;http://plex.tv/link&lt;/code&gt; et de saisir le code pour que le client de la TV se synchronise avec le nouveau serveur.&lt;/p&gt;&#xA;&lt;p&gt;Et voilà, le nouveau serveur PLEX est prêt ! Reste à recopier ma vidéothèque qui est toujours sur la baie Synology et aussi à automatiser une solution de backup avec Rsync vers mon PC local, puisque sur ce nouveau NAS, je n&amp;rsquo;ai pas de RAID. Ce sera l&amp;rsquo;objet d&amp;rsquo;un prochain article.&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>ODROID-HC2 - Installation d&#39;Openmediavault</title>
            <link>https://pled.fr/odroid-hc2-installation-dopenmediavault/</link>
            <pubDate>Sun, 08 Nov 2020 16:22:40 +0000</pubDate>
            <guid>https://pled.fr/odroid-hc2-installation-dopenmediavault/</guid>
            <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;omv-icon.png#floatleft&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ça faisait longtemps que je voulais remplacer ma baie Synology par un système ouvert, à savoir &lt;a class=&#34;link&#34; href=&#34;https://www.openmediavault.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;openmediavault&lt;/a&gt;, &amp;quot; &lt;em&gt;The open network attached storage solution&lt;/em&gt;&amp;quot;. Restait à savoir sur quel matériel faire tourner ce serveur, l&amp;rsquo;objectif étant aussi de minimiser le budget : ces baies propriétaires comme Synology, Qnas, restent tout de même assez chères, quand on y ajoute le prix des disques durs.&lt;/p&gt;&#xA;&lt;p&gt;Il y a bien les NAS &lt;a class=&#34;link&#34; href=&#34;https://shop.kobol.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Kobol&lt;/a&gt; qui m&amp;rsquo;avaient tapés dans l&amp;rsquo;œil, projet open-source proposant des baies physiques (open hardware) sur lesquelles on peut faire tourner Armbian ou Syncloud, Openmediavault ou encore Nextcould. Mais là en plus du prix (300$ + le port), le produit est indisponible depuis plusieurs mois.&lt;/p&gt;&#xA;&lt;p&gt;Après avoir d&amp;rsquo;abord pensé à utiliser le populaire Raspberry 4, j&amp;rsquo;ai finalement opté pour un Odroid-HC2. D&amp;rsquo;abord parce qu&amp;rsquo;il dispose d&amp;rsquo;un contrôleur SATA, un vrai contrôleur disque, ce qui préférable à la solution USB d&amp;rsquo;un Raspberry. Ensuite parce que le processeur est nettement plus puissant.&lt;/p&gt;&#xA;&lt;p&gt;Enfin parce que j&amp;rsquo;aime bien la conception : le fait de pouvoir insérer un disque dur 3&amp;quot;½ dans le rail, permet avec une coque de n&amp;rsquo;avoir au final un seul boîtier, contrairement à un Raspberry où l&amp;rsquo;on se retrouve forcément avec un disque externe. C&amp;rsquo;est tout de même plus pratique.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;400px&#34; data-flex-grow=&#34;166&#34; height=&#34;360&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/odroid-hc2-installation-dopenmediavault/odroid-hc2.png&#34; width=&#34;600&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Évidemment, je fais le choix d&amp;rsquo;un disque unique, pas de baie RAID comme dans les NAS du marché. Mais avec un backup via le réseau sur mon PC où j&amp;rsquo;ai de la place en stockage, ce sera parfait. C&amp;rsquo;est le principe &lt;a class=&#34;link&#34; href=&#34;https://fr.wikipedia.org/wiki/Principe_KISS&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;KISS&lt;/a&gt; ! (Keep It Simple, Stupid). :cool:&lt;/p&gt;&#xA;&lt;p&gt;Voyons voir la mise en œuvre et l&amp;rsquo;installation d&amp;rsquo;Openmediavault, la première étape de mon future NAS. Il s&amp;rsquo;agit de la version 5.5.15-1. Car j&amp;rsquo;ai ensuite l&amp;rsquo;intention d&amp;rsquo;installer OpenVPN, un serveur NextCloud, PLEX media server, et sans doute un logiciel de torrent. Ce sera l&amp;rsquo;objet d&amp;rsquo;autres articles.&lt;/p&gt;&#xA;&lt;h3 id=&#34;hardware&#34;&gt;Hardware&#xA;&lt;/h3&gt;&lt;p&gt;Info&lt;/p&gt;&#xA;&lt;p&gt;OCT 2021 : À l&amp;rsquo;époque je n&amp;rsquo;ai pas fait attention à l&amp;rsquo;architecture (32 bits ou 64 bits). Ce NAS est en x32 (processeur armv7l) et de nos jours il est tout de même préférable d&amp;rsquo;utiliser une architecture x64 (il y a des problèmes de limitation en x32, voir &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=17941&#34; &gt;cet article&lt;/a&gt;).&#xA;Donc même si je suis content de ce NAS, si c&amp;rsquo;était à refaire, je ne le choisirais pas.&lt;/p&gt;&#xA;&lt;p&gt;Comme j&amp;rsquo;avais un HD 3&amp;quot;½ en stock de 1To, c&amp;rsquo;était l&amp;rsquo;occasion de l&amp;rsquo;utiliser. Pour info, le HC2 permet d&amp;rsquo;utiliser ce type de disque, quand le HC1 n&amp;rsquo;autorise que les disques de 2&amp;quot;½. Il ne restait plus qu&amp;rsquo;à commander le matériel.&lt;/p&gt;&#xA;&lt;p&gt;Pour ce faire, je suis allé sur le site &lt;a class=&#34;link&#34; href=&#34;http://odroid.fr&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;odroid.fr&lt;/a&gt;, qui permet de payer en euros, et d&amp;rsquo;inclure la TVA dans le prix, ce qui évite les mauvaises surprises à la douane (tout est envoyé d&amp;rsquo;Angleterre je crois). Bref, alimentation, carte SD 8 Go, coque et port compris, j&amp;rsquo;en ai eu pour un peu moins de 100 € (97,95 €).&lt;/p&gt;&#xA;&lt;p&gt;L&amp;rsquo;assemblage est on ne peut plus simple (voir photo), il ne reste plus qu&amp;rsquo;à installer openmediavault.&lt;/p&gt;&#xA;&lt;h3 id=&#34;installation-domv&#34;&gt;Installation d&amp;rsquo;OMV&#xA;&lt;/h3&gt;&lt;p&gt;Le premier problème est de trouver la bonne image OS à récupérer. Le lien des images OMV toutes prêtes vous renvoient vers un document expliquant qu&amp;rsquo;il faut utiliser maintenant une autre méthode, le nombre de SBD ( &lt;strong&gt;S&lt;/strong&gt; ingle &lt;strong&gt;B&lt;/strong&gt; oard &lt;strong&gt;C&lt;/strong&gt; omputer) ne cessant de croître, et qu&amp;rsquo;il est impossible de fournir une image toute prête pour chaque modèle de SBC.&lt;/p&gt;&#xA;&lt;p&gt;On arrive donc sur &lt;a class=&#34;link&#34; href=&#34;https://forum.openmediavault.org/index.php?thread/28789-installing-omv5-on-raspberry-pi-s-armbian-sbc-s-i386-32-bit-platforms/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;cette page&lt;/a&gt; du forum OMV, où il faut choisir &lt;a class=&#34;link&#34; href=&#34;https://github.com/OpenMediaVault-Plugin-Developers/docs/blob/master/Adden-A-Installing_OMV5_on_Armbian.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Installing OMV5 on Armbian Buster&lt;/a&gt;. Buster est la version recommandée pour OMV sur ce genre de carte. Ce dernier lien affiche la documentation intitulée &amp;ldquo;Getting Started with OMV Addendum A: Installing OMV5 On Armbian SBC&amp;rsquo;s&amp;rdquo;. Commencer par la télécharger localement comme il est demandé, afin de l&amp;rsquo;ouvrir avec votre lecteur de PDF préféré (d&amp;rsquo;ailleurs les hyperliens de la doc ne fonctionnaient pas avec l&amp;rsquo;affichage du PDF dans Firefox !).&lt;/p&gt;&#xA;&lt;p&gt;Dans &amp;ldquo;Supported Devices&amp;rdquo;, il faut cliquer sur le lien &lt;a class=&#34;link&#34; href=&#34;https://www.armbian.com/download/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Armbian Download Page&lt;/a&gt;. Sur la page qui s&amp;rsquo;affiche, on trouve finalement notre modèle :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;258px&#34; data-flex-grow=&#34;107&#34; height=&#34;260&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/odroid-hc2-installation-dopenmediavault/download.png&#34; width=&#34;280&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;On clique sur l&amp;rsquo;image, et on arrive enfin sur la page recherchée. Ici, il faut choisir Buster qui offre une meilleure compatibilité avec OMV :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;518px&#34; data-flex-grow=&#34;215&#34; height=&#34;265&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/odroid-hc2-installation-dopenmediavault/download1.png&#34; width=&#34;572&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Il ne reste qu&amp;rsquo;à suivre les instructions, à savoir dézipper le fichier avec 7-Zip (extension .xz). Sur Ubuntu, il suffit de passer la commande suivante pour installer 7-Zip :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install p7zip-full&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Puis pour extraire l&amp;rsquo;archive :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;7z e Armbian_20.08.1_Odroidxu4_buster_legacy_4.14.195.img.xz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;On récupère alors un fichier &lt;strong&gt;.img&lt;/strong&gt; qu&amp;rsquo;il va falloir flasher sur la carte microSD avec Balena Etcher, dont l&amp;rsquo;utilisation est vraiment simplissime :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;370px&#34; data-flex-grow=&#34;154&#34; height=&#34;324&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/odroid-hc2-installation-dopenmediavault/balena.png&#34; width=&#34;500&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Voilà, tout est prêt pour le premier démarrage : insérer la carte microSD dans l&amp;rsquo;Odroid, assurez-vous d&amp;rsquo;avoir bien raccordé le boîtier au réseau (c&amp;rsquo;est requis pour l&amp;rsquo;installation), puis brancher l&amp;rsquo;alimentation. Les trois LEDs doivent s&amp;rsquo;allumer (une rouge, une verte et une bleue qui doit se mettre à clignoter quand le réseau est activé).&lt;/p&gt;&#xA;&lt;p&gt;Le temps de se faire un café, et l&amp;rsquo;on va pouvoir se connecter en SSH sur la machine. Pour trouver l&amp;rsquo;adresse IP, vous pouvez aller sur votre Box et regarder les adresses allouées (DHCP). Un nouveau client a du apparaître. Sinon, sous Linux, on peut faire un &lt;strong&gt;nmap&lt;/strong&gt; tout simple (à adapter à votre réseau) :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pascal$ sudo nmap -sn 192.168.1.0/24&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Nmap scan report &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; 192.168.1.30&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Host is up &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;0.00088s latency&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;MAC Address: 00:1E:06:37:0D:45 &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;Wibrain&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Pour info, Wibrain est le nom de la boîte qui est devenue ensuite Hardkernel qui fabrique les Odroid&amp;hellip; Voilà, j&amp;rsquo;ai mon adresse, et je vais même aller dans l&amp;rsquo;interface de la Box pour lui assigner cette adresse, afin qu&amp;rsquo;elle ne change pas, c&amp;rsquo;est plus simple comme ça (Baux DHCP statiques). Puis on se connecte en SSH sur le serveur avec le compte admin (le mot de passe par défaut est 1234) :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ssh admin@192.168.1.30&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;La première chose demandée est de changer le mot de passe, normal. On crée ensuite un autre compte (avec la permission sudo) à utiliser de préférence à root. Ensuite, il s&amp;rsquo;agit de mettre le système à jour, suivi d&amp;rsquo;un redémarrage :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt upgrade&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;reboot&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;On attend le redémarrage, puis on se reconnecte (avec le nouveau mot de passe. J&amp;rsquo;en profite pour fignoler et changer le nom de la machine puisque par défaut c&amp;rsquo;est &amp;ldquo;odroidxu4&amp;rdquo; :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo hostnamectl set-hostname odroidhc2&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Puis on lance l&amp;rsquo;installation d&amp;rsquo;openmediavault proprement dit, à l&amp;rsquo;aide d&amp;rsquo;un script qui va tout configurer :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;J&amp;rsquo;ai du taper la touche &amp;ldquo;Entrée&amp;rdquo; pour que l&amp;rsquo;on me demande mon mot de passe, sinon il ne se passait rien ! L&amp;rsquo;installation peut prendre jusqu&amp;rsquo;à 30 minutes selon la doc&amp;hellip; Avec le HC2, ça a pris à peine une dizaine de minutes. Le système va redémarrer tout seul à la fin de l&amp;rsquo;installation.&lt;/p&gt;&#xA;&lt;p&gt;Toujours bon à savoir, la doc précise que Network Manager a été retiré des machines SBC qui tournent OVM pour la raison suivante : incompatibilité avec Portainer et Docker (Portainer facilite l&amp;rsquo;utilisation de Docker).&lt;/p&gt;&#xA;&lt;p&gt;Et on passe enfin en mode graphique : dans votre navigateur préféré, taper l&amp;rsquo;adresse de la machine, et identifiez vous avec le compte &amp;ldquo;admin&amp;rdquo; et le mot de passe &amp;ldquo;openmediavault&amp;rdquo; :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;280px&#34; data-flex-grow=&#34;116&#34; height=&#34;470&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/odroid-hc2-installation-dopenmediavault/omvgui.png&#34; width=&#34;549&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;configuration&#34;&gt;Configuration&#xA;&lt;/h3&gt;&lt;p&gt;Il va maintenant falloir suivre l &lt;a class=&#34;link&#34; href=&#34;https://forum.openmediavault.org/index.php?thread/27073-new-user-guide-getting-started-with-openmediavault-4-5/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;a doc d&amp;rsquo;installation d&amp;rsquo;OVM 5&lt;/a&gt; (Getting started with Openmediavault 5) que l&amp;rsquo;on va également télécharger en local. Puis on l&amp;rsquo;ouvre en allant directement au chapitre &amp;ldquo;Initial Configuration&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;On va suivre la documentation pour régler certains paramètres : entre autres changer le mot de passe, et plus globalement passer en revue les sections qui nous intéressent dans le menu de gauche. Si l&amp;rsquo;anglais de la doc vous rebute, il y a des vidéos qui expliquent tout ça dont certaines en français, comme &lt;a class=&#34;link&#34; href=&#34;https://www.youtube.com/watch?v=LjM6n5qmU6s&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;celle-ci&lt;/a&gt; par exemple.&lt;/p&gt;&#xA;&lt;p&gt;On va en fait régler la config de base, monter le disque, etc&amp;hellip; À noter dans &amp;ldquo;Paramètres généraux&amp;rdquo;, la &lt;strong&gt;Déconnexion automatique&lt;/strong&gt; est réglée à 5mn, c&amp;rsquo;est pas mal de la passer à 1 jour, sinon c&amp;rsquo;est plutôt gênant (enfin, c&amp;rsquo;est selon vos préoccupations de sécurité !). En profiter pour changer le mot de passe par défaut dans l&amp;rsquo;onglet d&amp;rsquo;à côté.&lt;/p&gt;&#xA;&lt;p&gt;Côté Plugins, j&amp;rsquo;installe &lt;strong&gt;openmediavault-resetperms 5.0&lt;/strong&gt;, qui est bien pratique pour visualiser quels plugins utilisent quels dossiers partagés (vu dans une vidéo).&lt;/p&gt;&#xA;&lt;p&gt;Dans &amp;ldquo;Disques&amp;rdquo;, on sélectionne notre HD et on l&amp;rsquo;efface. Puis dans &amp;ldquo;Système de fichiers&amp;rdquo; on crée et on formate le disque avec un label DATA (par exemple). Puis on le monte. Enfin, on va dans &amp;ldquo;Dossiers partagés&amp;rdquo; et on partage ce disque en donnant les droits de Lecture/Écriture à tout le monde (avec le nom OMV-DATA par exemple). Etc&amp;hellip; À la fin, j&amp;rsquo;ai ceci :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;597px&#34; data-flex-grow=&#34;248&#34; height=&#34;235&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/odroid-hc2-installation-dopenmediavault/OMV-DATA.png&#34; width=&#34;585&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai pour ma part opté pour un &lt;strong&gt;partage NFS&lt;/strong&gt; sur tout le disque DATA (soit tout le HD SATA, la carte microSD étant réservée au système), plus adapté à mon PC Ubuntu que SMB. Dans la partie NFS, je l&amp;rsquo;active, puis crée un partage en indiquant l&amp;rsquo;adresse IP de mon PC, et en accordant les droits Lecture/Écriture :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;602px&#34; data-flex-grow=&#34;251&#34; height=&#34;233&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/odroid-hc2-installation-dopenmediavault/NFS-OMV-DATA.png&#34; width=&#34;585&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Voilà, je peux monter ce partage à partir de mon PC Ubuntu. Le mount via &lt;code&gt;/etc/fstab&lt;/code&gt; fonctionne parfaitement, et c&amp;rsquo;est doute la façon la plus simple de procéder :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;580px&#34; data-flex-grow=&#34;241&#34; height=&#34;299&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/odroid-hc2-installation-dopenmediavault/nfs-ubuntu.png&#34; width=&#34;723&#34;&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;problème-nfs-avec-nautilus&#34;&gt;Problème NFS avec Nautilus&#xA;&lt;/h4&gt;&lt;p&gt;À noter qu&amp;rsquo;à partir de Nautilus, le partage était bien vu dans &amp;ldquo;Autres emplacements&amp;rdquo;, mais l&amp;rsquo;accès refusé :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;378px&#34; data-flex-grow=&#34;157&#34; height=&#34;504&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/odroid-hc2-installation-dopenmediavault/nautilus-error.png&#34; width=&#34;795&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;En fait, il s&amp;rsquo;agit d&amp;rsquo;un problème de port utilisé. Si je regarde les journaux systèmes côté OMV, je vois ceci :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;757px&#34; data-flex-grow=&#34;315&#34; height=&#34;201&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/odroid-hc2-installation-dopenmediavault/journal.png&#34; width=&#34;634&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Il s&amp;rsquo;agit d&amp;rsquo;un problème de sécurité, par défaut un serveur NFS n&amp;rsquo;accepte que les ports inférieurs à 1024. Il faut donc ajouter une option appelée &amp;ldquo;insecure&amp;rdquo; pour qu&amp;rsquo;il accepte des ports plus élevés. On la voit dans les options du partage :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;1413px&#34; data-flex-grow=&#34;589&#34; height=&#34;73&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/odroid-hc2-installation-dopenmediavault/insecure.png&#34; width=&#34;430&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Mais alors, ça devrait fonctionner ? En fait, non, parce que Nautilus utilise les &amp;ldquo;pseudos filesystem&amp;rdquo; de NFSv4, ce qui n&amp;rsquo;est pas le cas du &lt;strong&gt;mount&lt;/strong&gt; dans &lt;code&gt;/etc/fstab&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Pour résoudre lce problème, il faut se connecter en ssh sur le serveur OMV, éditer le fichier &lt;code&gt;/etc/exports&lt;/code&gt;, et ajouter l&amp;rsquo;option &amp;ldquo;insecure&amp;rdquo; aux lignes sous la partie &lt;code&gt;# NFSv4 - pseudo filesystem root&lt;/code&gt; :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cat /etc/exports&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# This file is auto-generated by openmediavault (https://www.openmediavault.org)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# WARNING: Do not edit this file, your changes will get lost.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# /etc/exports: the access control list for filesystems which may be exported&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#               to NFS clients.  See exports(5).&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/export/OMV-DATA 192.168.1.20&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;fsid&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;d725df26-36b0-4925-b9ca-3c65fa1b7572,rw,subtree_check,insecure&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# NFSv4 - pseudo filesystem root&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/export 192.168.1.20&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;ro,fsid&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;0,root_squash,no_subtree_check,hide,insecure&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Si l&amp;rsquo;option était bien indiquée pour le premier lien (correspondant à l&amp;rsquo;interface graphique d&amp;rsquo;OMV), j&amp;rsquo;ai du rajouter l&amp;rsquo;option pour la partie sous NVFv4. Il ne reste plus qu&amp;rsquo;à redémarrer le service NFS :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ sudo systemctl restart nfs-kernel-server&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Et voilà, je peux accéder directement au partage via Nautilus si je le souhaite :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;408px&#34; data-flex-grow=&#34;170&#34; height=&#34;459&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/odroid-hc2-installation-dopenmediavault/export.png&#34; width=&#34;782&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ce premier partage me servira à copier les fichiers facilement à partir de mon desktop Ubuntu sur le NAS OMV.&lt;/p&gt;&#xA;&lt;h3 id=&#34;conclusion&#34;&gt;Conclusion&#xA;&lt;/h3&gt;&lt;p&gt;À ce stade, je remarque que l&amp;rsquo;interface d&amp;rsquo;OMV est une interface d&amp;rsquo;admin pure et dure, à aucun endroit je ne peux créer un fichier de test, histoire de tester mon partage NFS. Il me faut soit le faire à partir du client Ubuntu, soit connecté en SSH sur l&amp;rsquo;Odroid-hc2, en allant dans le répertoire /exports/OMV-DATA.&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;apprends aussi (à mes dépends) que OMV fonctionne avec une base de données et qu&amp;rsquo;il vaut mieux éviter de faire des changements en se connectant directement sur la machine hôte, par exemple pour effacer un répertoire partagé. C&amp;rsquo;est ce que j&amp;rsquo;ai fait, et là, le répertoire était toujours affiché dans OMV, impossible de l&amp;rsquo;effacer. J&amp;rsquo;ai fini par tout réinstaller !&lt;/p&gt;&#xA;&lt;p&gt;Ce n&amp;rsquo;est pas interdit pour certaines commandes (comme le redémarrage d&amp;rsquo;un service ci-dessus), mais il faut savoir ce que l&amp;rsquo;on fait. En fait, tout ce qui touche la configuration d&amp;rsquo;OMV doit être dans la database, et des modifs directes sur le système casseront ce mécanisme.&lt;/p&gt;&#xA;&lt;p&gt;Voilà, ce sera tout pour cette première étape. La suivante, ce sera d&amp;rsquo;installer PLEX server, et pour cela utiliser Docker. C&amp;rsquo;est bien, j&amp;rsquo;ai déjà entendu parlé de Docker sans jamais l&amp;rsquo;utiliser. Ce sera l&amp;rsquo;occasion de rentrer dans ce monde de &amp;ldquo;containers&amp;rdquo; (conteneurs logiciels en français) qui permettent entre autres de simplifier l&amp;rsquo;installation.&lt;/p&gt;&#xA;&lt;p&gt;Ce sera pour le prochain épisode.&lt;/p&gt;&#xA;&lt;p&gt;Info&lt;/p&gt;&#xA;&lt;p&gt;Au sujet de Docker, si vous l&amp;rsquo;installez, il peut être utile de le déplacer hors du disque système, si ce dernier est sur une carte microSD comme c&amp;rsquo;est mon cas.&lt;/p&gt;&#xA;&lt;p&gt;Voir cet article : &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=17223&#34; &gt;Openmediavault : déplacement de Docker&lt;/a&gt;&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Installation de Pi-Hole sur mon Raspberry Volumio</title>
            <link>https://pled.fr/installation-pi-hole-sur-mon-raspberry-volumio/</link>
            <pubDate>Mon, 17 Aug 2020 17:00:29 +0000</pubDate>
            <guid>https://pled.fr/installation-pi-hole-sur-mon-raspberry-volumio/</guid>
            <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;pihole.png#floatleft&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;en avais parlé lors de l&amp;rsquo;installation de &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=15743&#34; &gt;Volumio sur mon Raspberry&lt;/a&gt;, je pouvais aussi utiliser ce dernier pour d&amp;rsquo;autres choses, plutôt que de le laisser dédié à Volumio.&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai donc pensé à &lt;a class=&#34;link&#34; href=&#34;https://pi-hole.net/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Pi-hole&lt;/a&gt;, une solution dont on dit du bien pour bloquer les publicités au niveau du réseau local (donc pour tous les appareils de la maison), qui agit au niveau des requêtes DNS, avec un système de &amp;ldquo;Adlists&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;Pi-hole va devenir votre serveur DNS, et comme il possède une liste de sites utilisés pour afficher la publicité, vous traquer, etc&amp;hellip; Pi-hole va stopper ces requêtes, et faire suivre toutes les autres au DNS que vous choisirez pendant l&amp;rsquo;installation (les &amp;ldquo;upstream DNS&amp;rdquo;). C&amp;rsquo;est simple et efficace semble-t-il, et leur slogan est &amp;ldquo;Pihole, un trou noir pour les publicités&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;Autant vous le dire tout de suite, ça a été un peu plus compliqué que prévu ! Essentiellement parce que Volumio est fourni avec une version de Raspbian (v8 Jessie) qui commence à dater un peu et sur laquelle Pi-hole n&amp;rsquo;est pas supporté. Et comme les choses évoluent vite, je précise que cet article est basé sur Pi-Hole version 5.1.2 et Volumio version 2.779.&lt;/p&gt;&#xA;&lt;p&gt;Il y a bien une variable PIHOLE_SKIP_OS_CHECK disponible et dont j&amp;rsquo;espérais qu&amp;rsquo;elle réglerait facilement le problème, mais l&amp;rsquo;installation échoue malgré tout avec des problèmes de dépendance qu&amp;rsquo;il faudra supprimer.&lt;/p&gt;&#xA;&lt;p&gt;Une fois l&amp;rsquo;installation réussie, j&amp;rsquo;ai eu un petit problème de configuration réseau à résoudre pour que Pi-hole fonctionne. Et quand enfin Pi-hole était opérationnel, c&amp;rsquo;est Volumio qui ne marchait plus à cause d&amp;rsquo;une mise à jour du daemon MPD !&lt;/p&gt;&#xA;&lt;p&gt;Tout a fini par rentrer dans l&amp;rsquo;ordre, voilà donc le détail de cette installation peu respectueuse des règles de l&amp;rsquo;art (!). Disons que cela fonctionne, mais il serait bon que Volumio sorte une version sur Raspbian 10 &amp;ldquo;Buster&amp;rdquo;, cela simplifierait beaucoup les choses (c&amp;rsquo;est dans les tuyaux apparemment, mais ça n&amp;rsquo;avance pas vraiment).&lt;/p&gt;&#xA;&lt;p&gt;Info&lt;/p&gt;&#xA;&lt;p&gt;C&amp;rsquo;est désormais chose faite avec Volumio 3 qui tourne sur Debian 10.&lt;br&gt;&#xA;Voir &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=18707&#34; &gt;cet article&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;préambule&#34;&gt;Préambule&#xA;&lt;/h3&gt;&lt;p&gt;Pour la petite histoire Volumio est toujours fourni à ce jour avec Raspbian 8.0 Jessie, version sortie en 2015, et qui a atteint son EOL ( &lt;strong&gt;E&lt;/strong&gt; nd &lt;strong&gt;O&lt;/strong&gt; f &lt;strong&gt;L&lt;/strong&gt; ife) le 30 juin dernier. Depuis, deux versions sont sorties, la 9 (Stretch) en 2017; puis la 10 (Buster) en 2019 : ce serait donc bien que Volumio passe sur Buster.&lt;/p&gt;&#xA;&lt;p&gt;Gageons que cela ne devrait pas tarder, et cela simplifiera énormément le cohabitation de ces deux softs !&lt;/p&gt;&#xA;&lt;p&gt;Pré-requis : Comme Pi-hole va devenir notre serveur DNS, il faut affecter une adresse IP fixe au Raspberry, ce qui se fait via l&amp;rsquo;interface d&amp;rsquo;administration de la box. Dans mon cas, c&amp;rsquo;est l&amp;rsquo;adresse 192.168.1.17 qui était déjà assignée au Raspberry Volumio.&lt;/p&gt;&#xA;&lt;h2 id=&#34;installation-de-pi-hole&#34;&gt;Installation de Pi-hole&#xA;&lt;/h2&gt;&lt;p&gt;Mais commençons par le commencement, à savoir l&amp;rsquo;installation standard de Pi-hole, qui s&amp;rsquo;effectue par le lancement de cette commande, une fois connecté sur le Raspberry (en ssh à priori, voir &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=15743&#34; &gt;l&amp;rsquo;installation de Volumio&lt;/a&gt;) :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;curl -sSL https://install.pi-hole.net | bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;L&amp;rsquo;installation échoue avec un message clair (et coloré) :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;427px&#34; data-flex-grow=&#34;178&#34; height=&#34;441&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-pi-hole-sur-mon-raspberry-volumio/term1.png&#34; width=&#34;786&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Pas de problème, je relance donc l&amp;rsquo;installation avec la commande indiquée sous le message d&amp;rsquo;erreur :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;curl -sSL https://install.pi-hole.net | PIHOLE_SKIP_OS_CHECK&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;true sudo -E bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Et là, si l&amp;rsquo;installation va plus loin, elle bloque soudainement après avoir sélectionné les &amp;ldquo;upstreams DNS&amp;rdquo; ; à ce stade, le Raspberry ne répond plus, il n&amp;rsquo;y a plus qu&amp;rsquo;à le redémarrer électriquement pour s&amp;rsquo;en sortir :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;353px&#34; data-flex-grow=&#34;147&#34; height=&#34;533&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-pi-hole-sur-mon-raspberry-volumio/term2.png&#34; width=&#34;786&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ça commence à être très embêtant tout ça&amp;hellip; Comme je vois le message me demandant de mettre mon système à jour, je le fais à toutes fins utiles :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt update ; sudo apt upgrade&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Et là je vois que le service &lt;strong&gt;dhcpcd5&lt;/strong&gt; a été mal installé ou est incomplet (&amp;ldquo;Errors were encountered while processing: dhcpcd5&amp;rdquo;). Après quelques recherches sur le net, il semble bien que l&amp;rsquo;installation de Pihole sur Jessie bloque sur le service dhcpcd5, ce qui confirme l&amp;rsquo;origine du problème.&lt;/p&gt;&#xA;&lt;p&gt;Il va falloir d&amp;rsquo;une part réinstaller correctement le service dhcpd5 sur Jessie :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt purge dhcpcd5 ; sudo apt install dhcpcd5&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Je tente à tout hasard une réinstallation de Pi-hole une fois le service correctement installé, mais l&amp;rsquo;installation plante au même endroit. Je redémarre le Raspberry et nettoie le répertoire où Pi-hole a laissé des traces :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rm -rf /etc/pihole&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Pour information, ce module &lt;strong&gt;dhcpcd5&lt;/strong&gt; sert quand vous utilisez le service DHCP (fournisseur d&amp;rsquo;adresse IP) de Pi-hole à la place de votre box qui a ce rôle par défaut. Comme je ne vais utiliser cette fonctionnalité, j&amp;rsquo;y reviendrai plus loin, retirer cette dépendance ne devrait donc pas avoir d&amp;rsquo;impact.&lt;/p&gt;&#xA;&lt;p&gt;Pour ce faire, il va falloir procéder différemment pour l&amp;rsquo;installation ; on va d&amp;rsquo;abord télécharger le script d&amp;rsquo;installation :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget -O basic-install.sh https://install.pi-hole.net&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Puis l&amp;rsquo;éditer afin d&amp;rsquo;activer la variable PIHOLE_SKIP_OS_CHECK, et également supprimer la dépendance à dhcpcd5.&lt;/p&gt;&#xA;&lt;p&gt;Pour la variable, je trouve une liste de déclaration de variables dans le script vers la ligne 58, j&amp;rsquo;y insère donc ma variable à cet endroit :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;379px&#34; data-flex-grow=&#34;158&#34; height=&#34;497&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-pi-hole-sur-mon-raspberry-volumio/term3.png&#34; width=&#34;786&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Et pour la dépendance à dhcpcd5, il faut aller à la ligne 324 et supprimer dhcpcd5 de la liste de INSTALLER_DEPS :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;379px&#34; data-flex-grow=&#34;158&#34; height=&#34;497&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-pi-hole-sur-mon-raspberry-volumio/term4.png&#34; width=&#34;786&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;379px&#34; data-flex-grow=&#34;158&#34; height=&#34;497&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-pi-hole-sur-mon-raspberry-volumio/term5.png&#34; width=&#34;786&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Nouvel essai et nouvel échec : l&amp;rsquo;installation va enfin jusqu&amp;rsquo;au bout mais se termine par un message &amp;quot; &lt;em&gt;Unable to locate package php5-xml&lt;/em&gt;&amp;quot;.&lt;/p&gt;&#xA;&lt;p&gt;Il y a donc une autre dépendance à supprimer : &lt;strong&gt;php5-xml&lt;/strong&gt;, autant le faire tout de suite, il faut supprimer &lt;code&gt;&amp;quot;${phpVer}-xml&amp;quot;&lt;/code&gt; quelques lignes plus bas, dans la liste pour PIHOLE_WEB_DEPS (voir image ci-dessus). Une fois fait, voici ce que ça donne :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;379px&#34; data-flex-grow=&#34;158&#34; height=&#34;497&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-pi-hole-sur-mon-raspberry-volumio/term6.png&#34; width=&#34;786&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ce module &lt;strong&gt;php5-xml&lt;/strong&gt; sert sans doute quelque part dans la page d&amp;rsquo;admin de Pi-hole&amp;hellip; Comme il n&amp;rsquo;existe pas sur Jessie, j&amp;rsquo;installe tout de même le paquet &lt;strong&gt;php5-xmlrpc&lt;/strong&gt; qui lui existe pour cette version au cas où :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install php-xmlrpc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Info&lt;/p&gt;&#xA;&lt;p&gt;Plusieurs mois plus tard, je n&amp;rsquo;ai observé aucun problème dans l&amp;rsquo;interface web de Pi-hole. Mais je ne peux rien garantir sur l&amp;rsquo;impact de cette dépendance non satisfaite.&lt;/p&gt;&#xA;&lt;p&gt;On relance donc l&amp;rsquo;installation en exécutant le script modifié par nos soins :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo ./basic-install.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Et cette fois l&amp;rsquo;installation va jusqu&amp;rsquo;à son terme ! Je pousse un grand Ouf! de soulagement :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;353px&#34; data-flex-grow=&#34;147&#34; height=&#34;533&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-pi-hole-sur-mon-raspberry-volumio/pihole-fin-install.png&#34; width=&#34;786&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;À noter sur ce dernier écran le mot de passe pour s&amp;rsquo;identifer sur la page d&amp;rsquo;administration ! C&amp;rsquo;est le moment de le noter&amp;hellip; Si vous l&amp;rsquo;oubliez, taper la commande suivante :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pihole -a -p&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Info&lt;/p&gt;&#xA;&lt;p&gt;En cas de problème avec Pihole (pour reconfigurer ou réparer votre installation), il sera nécessaire de lancer la commande suivante :&lt;br&gt;&#xA;&lt;code&gt;sudo pihole -r&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Dans ce cas, il faudra appliquer les mêmes modifications que précédemment au script suivant pour régler le problème des dépendances et permettre au script de s&amp;rsquo;exécuter :&lt;br&gt;&#xA;&lt;code&gt;/etc/.pihole/automated install/basic-install.sh&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Mais il reste encore un peu de configuration à faire pour ne pas être en conflit avec Volumio.&lt;/p&gt;&#xA;&lt;p&gt;Comme Pi-hole utilise &lt;strong&gt;lighttpd&lt;/strong&gt; comme serveur web, il va falloir modifier la configuration pour utiliser un autre port que le port HTTP 80, déjà utilisé par Volumio. J&amp;rsquo;ai suivi les informations trouvées &lt;a class=&#34;link&#34; href=&#34;https://wasietsmet.nl/hosting/install-pi-hole-on-volumio/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;sur cette page&lt;/a&gt;, même si je n&amp;rsquo;ai pas compris pourquoi il faut modifier les fichiers de logs.&lt;/p&gt;&#xA;&lt;p&gt;Bref, j&amp;rsquo;ai édité le fichier &lt;code&gt;/etc/lighttpd/lighttpd.conf&lt;/code&gt; et modifié les lignes suivantes :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;server.port                 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;8080&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;server.errorlog             &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/tmp/lighttpd_error.log&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;accesslog.filename          &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/tmp/lighttpd_access.log&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Suivi d&amp;rsquo;un redémarrage du web server :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo systemctl restart lighttpd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Je croise les doigts et entre l&amp;rsquo;adresse &lt;code&gt;http://192.168.1.17:8080/admin&lt;/code&gt; dans mon navigateur : ça marche, Pi-hole tourne et l&amp;rsquo;interface répond :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;391px&#34; data-flex-grow=&#34;163&#34; height=&#34;462&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-pi-hole-sur-mon-raspberry-volumio/pihole1.png&#34; width=&#34;754&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;utiliser-pi-hole-avec-le-pc&#34;&gt;Utiliser Pi-hole avec le PC&#xA;&lt;/h2&gt;&lt;p&gt;Reste à utiliser Pi-hole maintenant. Pour cela, je vais commencer avec mon PC portable, qui est sous Ubuntu, connecté en wifi sur mon réseau local.&lt;/p&gt;&#xA;&lt;p&gt;Le plus simple est de définir Pi-hole comme serveur DNS au niveau de la box : ainsi, toutes les machines de votre réseau l&amp;rsquo;utiliseront automatiquement. Comme je suis chez Orange, je vais sur la page admin de la box, mais mauvaise surprise : Orange ne permet pas de changer les DNS !!&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;560px&#34; data-flex-grow=&#34;233&#34; height=&#34;242&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-pi-hole-sur-mon-raspberry-volumio/orange.png&#34; width=&#34;565&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Après quelques recherches sur le net, l&amp;rsquo;information est confirmée, Orange impose des limitations (des contraintes) comme celles-ci que j&amp;rsquo;ai trouvé sur reddit (je les note, c&amp;rsquo;est toujours utile) :&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;ul&gt;&#xA;&lt;li&gt;Tu veux un DNS autre que celui de ton FAI distribué en DHCP ? impossible à configurer dans la Livebox, l&amp;rsquo;option n&amp;rsquo;existe pas.&lt;/li&gt;&#xA;&lt;li&gt;Tu as un autre serveur DHCP sur ton réseau qui peut remplacer la livebox ? Ok, mais dit adieu à la Box TV qui ne marche QUE avec le DHCP de la livebox.&lt;/li&gt;&#xA;&lt;li&gt;Tu veux faire de la redirection de port ? OK mais pas sur une IP statique, uniquement sur un équipement enregistré en DHCP dans ta Livebox (une aberration).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;p&gt;Pas grave, comme je n&amp;rsquo;ai que deux PC à configurer, je vais le faire à leur niveau, ce n&amp;rsquo;est pas une grosse contrainte.&lt;/p&gt;&#xA;&lt;p&gt;Info&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai depuis changé d&amp;rsquo;avis sur la question, et j&amp;rsquo;utilise désormais Pi-hole comme serveur DHCP pour tous mes appareils (smartphone, TV, etc&amp;hellip;) sauf pour le décodeur Orange qui doit obtenir son adresse de la box pour fonctionner. Voir &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=17148&#34; &gt;cet article&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Et le serveur DHCP de Pi-hole fonctionne très bien ! ;)&lt;/p&gt;&#xA;&lt;p&gt;Je prends mon PC portable pour ce premier test, et configure le wifi pour utiliser ce nouveau DNS (voir &lt;a class=&#34;link&#34; href=&#34;https://www.ricmedia.com/set-custom-dns-servers-on-ubuntu-18-or-20/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;cette page&lt;/a&gt; pour plus de détails) :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;255px&#34; data-flex-grow=&#34;106&#34; height=&#34;618&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-pi-hole-sur-mon-raspberry-volumio/wifi-1.png&#34; width=&#34;657&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Puis on se déconnecte/reconnecte du wifi pour que la modification soit prise en compte. Et on le vérifie par la commande suivante (appuyer sur la barre d&amp;rsquo;espace pour faire défiler jusqu&amp;rsquo;à la fin) :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ systemd-resolve --status&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  Current DNS Server: 192.168.1.17&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;         DNS Servers: 192.168.1.17&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                      2a01:cb08:8928:f600:a3e:5dff:fe79:52bc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                      fe80::a3e:5dff:fe79:52bc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          DNS Domain: ~.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                      home&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lines 55-75/75 &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;END&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Attention à ce que ce soit bien l&amp;rsquo;adresse du serveur Pi-hole qui est affichée en &amp;ldquo;Current DNS Server&amp;rdquo;, et pas l&amp;rsquo;adresse IPV6 : ça m&amp;rsquo;est arrivé de me retrouver dans cette situation (sans savoir pourquoi) et dans ce cas, Pi-hole n&amp;rsquo;est pas utilisé ! À moins que vous ayez déclaré une adresse IPV6 sur le Raspberry ET déclaré un DNS IPV6 sur Pi-hole, ce qi n&amp;rsquo;est pas mon cas ici.&lt;/p&gt;&#xA;&lt;p&gt;Mon DNS est bien le Raspberry, tout semble correct. Hélas, Firefox sur le portable n&amp;rsquo;affiche plus rien, manifestement le DNS soit ne répond pas, soit ne reçoit pas les requêtes. C&amp;rsquo;est ce qu&amp;rsquo;il va falloir déterminer maintenant. L&amp;rsquo;occasion d&amp;rsquo;apprendre quelques commandes utiles pour dépanner (je me suis servi de &lt;a class=&#34;link&#34; href=&#34;https://www.rootusers.com/how-to-troubleshoot-dns-client-issues-in-linux/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;cette page&lt;/a&gt; pour certaines commandes) :&lt;/p&gt;&#xA;&lt;p&gt;D&amp;rsquo;abord on teste une requête DNS du portable, qui nous confirme qu&amp;rsquo;avec le nouveau DNS déclaré, la résolution ne fonctionne pas :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;643px&#34; data-flex-grow=&#34;268&#34; height=&#34;293&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-pi-hole-sur-mon-raspberry-volumio/dig.png&#34; width=&#34;786&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ensuite, je teste le côté serveur. Les requêtes DNS sont envoyées sur le port 53, voyons donc si le port 53 est bien à l&amp;rsquo;écoute sur le réseau, cela nous donnera une bonne indication pour savoir si le service DNS tourne bien :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;357px&#34; data-flex-grow=&#34;149&#34; height=&#34;527&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-pi-hole-sur-mon-raspberry-volumio/nmap.png&#34; width=&#34;786&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ça a l&amp;rsquo;air de fonctionnern en UDP comme en TCP&amp;hellip; Et puis je me souviens avoir sélectionné &amp;quot; &lt;strong&gt;eth0&lt;/strong&gt;&amp;quot; comme interface lors du script d&amp;rsquo;installation de Pi-hole&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;532px&#34; data-flex-grow=&#34;221&#34; height=&#34;309&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-pi-hole-sur-mon-raspberry-volumio/pihole1-1.png&#34; width=&#34;685&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Or mon Raspberry est connecté en wifi à mon réseau local !! Erreur, c&amp;rsquo;est &amp;quot; &lt;strong&gt;wlan0&lt;/strong&gt;&amp;quot; que je dois choisir dans ce cas. Il faut relancer le script d&amp;rsquo;installation de Pi-hole, puis choisir &amp;ldquo;Reconfigure&amp;rdquo;, et choisir wlan0 comme interface réseau cette fois.&lt;/p&gt;&#xA;&lt;p&gt;Il faudra aussi reconfigurer le service lighttpd car les modifications faites précédemment seront écrasées. Je termine par un reboot du Raspberry car le service lighttpd refuse de redémarrer. Vérification sur la page d&amp;rsquo;admin de Pi-hole du changement d&amp;rsquo;interface réseau :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;544px&#34; data-flex-grow=&#34;226&#34; height=&#34;303&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-pi-hole-sur-mon-raspberry-volumio/pihole2.png&#34; width=&#34;687&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Cette fois c&amp;rsquo;est bon, et je le vois tout de suite : les compteurs ne sont plus à zéro ! Je vérifie avec le PC portable, tout fonctionne désormais&amp;hellip; côté Pi-hole !&lt;/p&gt;&#xA;&lt;h2 id=&#34;configuration-pi-hole-adlists&#34;&gt;Configuration Pi-hole (AdLists)&#xA;&lt;/h2&gt;&lt;p&gt;On l&amp;rsquo;a vu, Pi-hole fonctionne avec un système de listes. Rien de très nouveau ici, et comme toujours cela implique de mettre les listes à jour. De base, Pi-hole est fourni avec 2 listes :&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;https://mirror1.malwaredomains.com/files/justdomains&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;On les retrouve sur la page d&amp;rsquo;administration, après s&amp;rsquo;être identifié, dans &amp;ldquo;Group Management - Adlists&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai trouvé sur &lt;a class=&#34;link&#34; href=&#34;https://pcriver.com/tech/best-pihole-block-lists-how-to-update-pi-hole.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;cette page&lt;/a&gt; d&amp;rsquo;autres listes à ajouter (on peut en ajouter plusieurs en même temps en les séparant par un espace). Une fois ceci fait, il faut lancer la commande &lt;code&gt;sudo pihole -g&lt;/code&gt; pour mettre à jour les listes (il faut le faire même si vous décidez de n&amp;rsquo;utiliser que les deux listes fournies par défaut) :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;353px&#34; data-flex-grow=&#34;147&#34; height=&#34;533&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-pi-hole-sur-mon-raspberry-volumio/pihole-update.png&#34; width=&#34;786&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai ensuite supprimé les listes qui étaient en erreur lors de cette mise à jour des &amp;ldquo;Adlists&amp;rdquo;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;exemple-de-whitelist&#34;&gt;Exemple de &amp;ldquo;Whitelist&amp;rdquo;&#xA;&lt;/h3&gt;&lt;p&gt;Après la mise en place de Pi-hole, j&amp;rsquo;ai observé qu&amp;rsquo;un site ne fonctionnait plus : c&amp;rsquo;était &amp;ldquo;pressreader&amp;rdquo;, dont l&amp;rsquo;accès m&amp;rsquo;est offert par la médiathèque de ma commune, et qui permet de lire en ligne un certain nombre de publications, dont la presse régionale. Après l&amp;rsquo;identification, le site restait bloqué&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Il suffit alors d&amp;rsquo;aller dans la page d&amp;rsquo;admin de Pi-hole, et de sélectionner &amp;ldquo;Query log&amp;rdquo; : après avoir rafraîchit la page qui pose problème, j&amp;rsquo;ai pu voir que certaines requêtes étaient bloquées :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;868px&#34; data-flex-grow=&#34;361&#34; height=&#34;275&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-pi-hole-sur-mon-raspberry-volumio/pihole-log.png&#34; srcset=&#34;https://pled.fr/installation-pi-hole-sur-mon-raspberry-volumio/pihole-log_hu_aa78d5407a5e6d39.png 800w, https://pled.fr/installation-pi-hole-sur-mon-raspberry-volumio/pihole-log.png 995w&#34; width=&#34;995&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Il suffit alors de cliquer sur le bouton &amp;ldquo;Whitelist&amp;rdquo; pour l&amp;rsquo;entrée &amp;ldquo;cdnj.cloudflare.com&amp;rdquo; (j&amp;rsquo;ai laissé les google fonts bloquées), puis de recharger la page du site en question : le problème était résolu !&lt;/p&gt;&#xA;&lt;p&gt;Il faudra par fois tâtonner un peu en autorisant (ou pas) certaines requêtes pour débloquer un site, mais j&amp;rsquo;ai été agréablement surpris par la facilité de l&amp;rsquo;opération. L&amp;rsquo;interface de Pi-hole est apparemment bien conçue.&lt;/p&gt;&#xA;&lt;h2 id=&#34;problème-mpd-avec-volumio&#34;&gt;Problème MPD avec Volumio&#xA;&lt;/h2&gt;&lt;p&gt;Mais voilà, Volumio ne fonctionne plus, mon client Android MPDroid ne se connecte plus au serveur. Même approche, je teste d&amp;rsquo;abord le port 6600 sur lequel MPD est censé écouter :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo nmap -sT -p &lt;span style=&#34;color:#ae81ff&#34;&gt;6600&lt;/span&gt; 192.168.1.17&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Et je vois qu&amp;rsquo;effectivement, le service MPD n&amp;rsquo;est pas à l&amp;rsquo;écoute. Je vérifie alors l&amp;rsquo;état du service avec la commande &lt;code&gt;sudo systemctl status -l mpd.service&lt;/code&gt; :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;443px&#34; data-flex-grow=&#34;184&#34; height=&#34;425&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-pi-hole-sur-mon-raspberry-volumio/mpd1.png&#34; width=&#34;786&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Le service ne démarre pas. et l&amp;rsquo;on voit pourquoi : le fichier &lt;code&gt;libbcm_host.so&lt;/code&gt; n&amp;rsquo;est pas trouvé (il s&amp;rsquo;agit d&amp;rsquo;une &amp;rsquo;library&amp;rsquo; utilisée par mpd). Que s&amp;rsquo;est-il passé ? Il semble que la version de MPD ait été mise à jour (certainement lors du &amp;ldquo;apt update&amp;rdquo; exécuté plus haut). J&amp;rsquo;ai désormais la version 0.20.18-1 :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;volumio@volumio:~$ sudo apt list mpd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;sudo&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt; password &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; volumio:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Listing... Done&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mpd/now 0.20.18-1 armhf &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;installed,local&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;N: There is &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; additional version. Please use the &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;-a&amp;#39;&lt;/span&gt; switch to see it&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;volumio@volumio:~$ sudo apt list -a mpd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Listing... Done&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mpd/now 0.20.18-1 armhf &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;installed,local&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mpd/oldstable 0.19.1-1.1 armhf&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Et si la lib &lt;code&gt;libbcm_hpst.so&lt;/code&gt; existe toujours, elle n&amp;rsquo;est plus au même endroit ! Un simple lien symbolique va résoudre le problème :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo ln -s /opt/vc/lib/libbcm_host.so  /usr/lib/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Et hop ! on relance le service MPD et on vérifie qu&amp;rsquo;il a bien démarré :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;508px&#34; data-flex-grow=&#34;211&#34; height=&#34;371&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/installation-pi-hole-sur-mon-raspberry-volumio/mpd2.png&#34; width=&#34;786&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Et voilà, tout fonctionne enfin, Volumio et Pi-hole cohabitent sur mon Raspberry. Cool ! :cool:&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Un Raspberry Pi pour ma chaîne HI-FI</title>
            <link>https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/</link>
            <pubDate>Mon, 06 Jul 2020 17:18:34 +0000</pubDate>
            <guid>https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/</guid>
            <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;raspberry-logo.png#floatleft&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai eu récemment besoin de me refaire une installation &amp;ldquo;Hi-Fi&amp;rdquo; dans le salon. En effet, j&amp;rsquo;ai déménagé, et mon PC n&amp;rsquo;est plus dans le salon comme précédemment, or c&amp;rsquo;était lui qui faisait office de chaîne audio (toute ma musique est numérisée). Il me fallait donc trouver une autre solution.&lt;/p&gt;&#xA;&lt;p&gt;Je suis d&amp;rsquo;abord allé dans un magasin de Hi-Fi demander conseil, et j&amp;rsquo;en suis ressorti avec un devis de 2000€ : 1000€ pour un ampli tuner récent (&amp;ldquo;connecté&amp;rdquo;) et autant pour un jeu d&amp;rsquo;enceintes 5en1.&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai alors posé la question sur le &lt;a class=&#34;link&#34; href=&#34;https://linuxfr.org/forums/general-general/posts/solution-pour-un-serveur-son-a-la-maison&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;forum linuxfr.org&lt;/a&gt;, et fort de leurs conseils, je me suis vite orienté vers la solution suivante, beaucoup moins onéreuse :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;394px&#34; data-flex-grow=&#34;164&#34; height=&#34;537&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/diagram.png&#34; srcset=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/diagram_hu_7968fcbd30e88e72.png 800w, https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/diagram.png 882w&#34; width=&#34;882&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;En plus ça faisait longtemps que j&amp;rsquo;entendais parler des Raspberry Pi, ces nano-ordinateurs de la taille d&amp;rsquo;une carte de crédit… Il ne me manquait que l&amp;rsquo;opportunité de l&amp;rsquo;utiliser : c&amp;rsquo;est maintenant chose faite avec &lt;strong&gt;Volumio&lt;/strong&gt;, un serveur audio basé sur &lt;a class=&#34;link&#34; href=&#34;https://fr.wikipedia.org/wiki/Music_Player_Daemon&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;MPD&lt;/a&gt;, le serveur de son bien connu du monde Linux.&lt;/p&gt;&#xA;&lt;p&gt;Il a fallu ensuite le synchroniser avec ma bibliothèque musicale présente sur le PC. Puis trouver un client Android pour piloter tout ça à partir du smartphone, en essayant de gérer du mieux possible l&amp;rsquo;éternel problème de l&amp;rsquo;affichage des pochettes ! :-?&lt;/p&gt;&#xA;&lt;p&gt;Voyons tout cela d&amp;rsquo;un plus près&amp;hellip;&lt;/p&gt;&#xA;&lt;h3 id=&#34;le-matériel&#34;&gt;Le matériel&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;Un Raspberry Pi comme serveur de son, équipé d&amp;rsquo;une carte DAC+ Pro pour convertir le son en format analogique (130€), ainsi que d&amp;rsquo;un disque USB 2 GB où ma bibliothèque musicale est stockée (70€).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;346px&#34; data-flex-grow=&#34;144&#34; height=&#34;416&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/raspberry-usb.png&#34; width=&#34;600&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Un ampli-tuner KENWOOD acheté d&amp;rsquo;occasion 70€ sur &amp;ldquo;le bon coin&amp;rdquo;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;676px&#34; data-flex-grow=&#34;281&#34; height=&#34;213&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/kenwood.png&#34; width=&#34;600&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;aurais pu choisir un ampli &lt;strong&gt;numérique&lt;/strong&gt; comme le &lt;a class=&#34;link&#34; href=&#34;https://www.qobuz.com/FR-fr/info/Hi-Fi/Bancs-d-essai/S-M-S-L-AD18-Qobuzissime-pour-cet179313&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;SMSL AD18&lt;/a&gt; par exemple : il coûte moins de 150 €, a paraît-il de très bonnes performances, et est d&amp;rsquo;une taille minuscule : il se serait parfaitement accordé avec le Rapsberry ! Mais le nombre d&amp;rsquo;entrées/sorties est limité, et comme il n&amp;rsquo;est pas exclu qu&amp;rsquo;un jour je branche ma TV sur l&amp;rsquo;ampli, j&amp;rsquo;ai donc choisi ce bon vieux KENWWOD analogique.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Une paire d&amp;rsquo;enceintes de bonne qualité : des &lt;strong&gt;Q Acoustics 3020i&lt;/strong&gt; (292€). De taille compacte et d&amp;rsquo;excellente finition, elles ont deux voies, deux haut-parleurs, de type bass-reflex avec un évent de décompression situé en face arrière. Franchement, le son est bon, et très tonique.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;342px&#34; data-flex-grow=&#34;142&#34; height=&#34;421&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/qacoustics2.png&#34; width=&#34;600&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Voilà, pour 560€, j&amp;rsquo;ai un truc qui me convient, qui devrait produire un bon son, et je suis loin du devis du magasin Hi-Fi. 8-)&lt;/p&gt;&#xA;&lt;h3 id=&#34;montage-raspberry&#34;&gt;Montage Raspberry&#xA;&lt;/h3&gt;&lt;p&gt;J&amp;rsquo;ai commandé le Raspberry sur le site suisse &lt;a class=&#34;link&#34; href=&#34;https://www.hifiberry.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;HiFiBerry&lt;/a&gt;, qui a le mérite d&amp;rsquo;être spécialisé sur le sujet. Par contre, ce n&amp;rsquo;était pas forcément une bonne idée car j&amp;rsquo;ai du payer 35€ de frais de douane à la livraison du colis. Mieux vaut sans doute une fois identifié ce que l&amp;rsquo;on a besoin de commander sur un site français&amp;hellip;.&lt;/p&gt;&#xA;&lt;p&gt;Voilà ma commande : Raspberry Pi 4B 2GB: €49.90, HiFiBerry DAC+ Pro: €34.90, Acrylic case: €9.90, SD card 16GB: €9.90, Raspberry Pi 4 power supply 5.1V/3A: €9.90. Sans oublier 16€ de livraison.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;378px&#34; data-flex-grow=&#34;157&#34; height=&#34;380&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/rasp0.png&#34; width=&#34;600&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;On reçoit tout en kit, qu&amp;rsquo;il faut assembler, mais c&amp;rsquo;est assez facile et bien fait. HifiBerry fournit &lt;a class=&#34;link&#34; href=&#34;http://hifiberry.com/firststeps&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;une page d&amp;rsquo;aide&lt;/a&gt;. Le plus long est finalement de retirer le film plastique de protection sur chacune des faces du boîtier, pas toujours facile à &amp;ldquo;attraper&amp;rdquo;&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;375px&#34; data-flex-grow=&#34;156&#34; height=&#34;383&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/rasp1.png&#34; width=&#34;600&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;installation-volumio&#34;&gt;Installation Volumio&#xA;&lt;/h3&gt;&lt;p&gt;Le boîtier est prêt, il ne reste plus qu&amp;rsquo;à lui installer un système. Là aussi, les choses sont bien faites, puisque l&amp;rsquo;on trouve des images qui intègrent l&amp;rsquo;OS et l&amp;rsquo;application audio. Ces dernières peuvent être libre ou non, gratuites ou payantes. Il y a &lt;a class=&#34;link&#34; href=&#34;https://www.hifiberry.com/build/software-selection/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;une liste&lt;/a&gt; proposée sur Hifiberry, mais ce n&amp;rsquo;est pas exhaustif.&lt;/p&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai hésité entre &lt;a class=&#34;link&#34; href=&#34;https://www.runeaudio.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;RuneAudio&lt;/a&gt; et &lt;a class=&#34;link&#34; href=&#34;https://volumio.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Volumio&lt;/a&gt;, tous deux libres et open source, puis choisi ce dernier bien que l&amp;rsquo;application Android soit payante,(01/2023 : soit je me suis trompé à l&amp;rsquo;époque, soit cela a changé, mais l&amp;rsquo;appli est désormais gratuite) mais ce n&amp;rsquo;est pas gênant : toutes ces applis sont basées sur MPD ( &lt;strong&gt;M&lt;/strong&gt; usic &lt;strong&gt;P&lt;/strong&gt; layer &lt;strong&gt;D&lt;/strong&gt; aemon) du monde Linux, et d&amp;rsquo;autres clients (libres et gratuits) existent, j&amp;rsquo;y reviendrai tout à l&amp;rsquo;heure. Volumio est par ailleurs basé sur Raspbian, un dérivé de Debian adapté aux cartes Raspberry. C&amp;rsquo;était aussi un critère de choix (RuneAudio est lui basé sur ArchLinux).&lt;/p&gt;&#xA;&lt;p&gt;Il suffit alors de télécharger le fichier zip &amp;ldquo;Volumio for Raspberry&amp;rdquo;, l&amp;rsquo;extraire pour en récupérer le fichier &lt;code&gt;.img&lt;/code&gt;, vérifier le md5sum éventuellement, et utiliser par exemple &lt;a class=&#34;link&#34; href=&#34;https://www.balena.io/etcher/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;BalenaEtcher&lt;/a&gt; pour flasher l&amp;rsquo;image sur la carte microSD.&lt;/p&gt;&#xA;&lt;p&gt;Il reste à insérer la carte microSD dans le Raspberry et de brancher ce dernier. Quelques minutes plus tard, on s&amp;rsquo;y connecte par un hotspot wifi que Volumio a créé : le nom est &lt;strong&gt;Volumio&lt;/strong&gt; et le mot de passe est &lt;strong&gt;volumio2&lt;/strong&gt;. J&amp;rsquo;ai fait ça par le téléphone, n&amp;rsquo;ayant pas de wifi sur le PC.&lt;/p&gt;&#xA;&lt;p&gt;Une fois connecté via ce hotspot temporaire, je réponds à quelques questions de base, et je sélectionne HiFiBerry DAC Plus comme sortie (le DAC + Pro n&amp;rsquo;est pas listé, mais c&amp;rsquo;est le même pilote) :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;805px&#34; data-flex-grow=&#34;335&#34; height=&#34;196&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/volumio1.png&#34; width=&#34;658&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;C&amp;rsquo;est évidemment un élément important à vérifier au départ, à savoir que le lecteur audio que vous avez choisi reconnaisse bien votre carte DAC.&lt;/p&gt;&#xA;&lt;p&gt;Puis je sélectionne mon réseau wifi et j&amp;rsquo;y connecte le Raspberry. Une fois ceci fait, je peux accéder à Volumio à partir du navigateur de mon PC, via son adresse IP (que je trouve sur la box).&lt;/p&gt;&#xA;&lt;h3 id=&#34;copie-et-synchro-bibliothèque-musicale&#34;&gt;Copie et synchro bibliothèque musicale&#xA;&lt;/h3&gt;&lt;p&gt;Toute ma musique numérisée est sur mon PC (je n&amp;rsquo;utilise plus depuis longtemps de chaîne HiFi avec lecteur de CD etc&amp;hellip;). Quand j&amp;rsquo;achète un CD, je le &amp;ldquo;rippe&amp;rdquo; sur le PC et l&amp;rsquo;intègre à ma bibliothèque musicale.&lt;/p&gt;&#xA;&lt;p&gt;Il me faut donc maintenant copier celle-ci sur le disque USB de mon Raspberry, et tant qu&amp;rsquo;on y est automatiser la synchronisation afin que toute nouvelle musique que j&amp;rsquo;ajoute sur le PC soit copiée automatiquement vers le Rapsberry et le lecteur Volumio.&lt;/p&gt;&#xA;&lt;p&gt;Pour cela, un simple script &lt;strong&gt;rsync&lt;/strong&gt; fera parfaitement l&amp;rsquo;affaire. Il faut d&amp;rsquo;abord activer l&amp;rsquo;accès &lt;strong&gt;SSH&lt;/strong&gt; sur le Raspberry afin de pouvoir s&amp;rsquo;y connecter. Pour cela, il faut aller à l&amp;rsquo;adresse suivante dans le navigateur &lt;code&gt;http://192.168.1.17/DEV&lt;/code&gt; et activer le SSH (l&amp;rsquo;adresse IP dépend bien entendu de votre réseau local, que l&amp;rsquo;on trouve sur la box/router).&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;547px&#34; data-flex-grow=&#34;228&#34; height=&#34;249&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/ssh.png&#34; width=&#34;568&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ensuite il va falloir que le script puisse se connecter au Raspberry de manière automatique, l&amp;rsquo;idée étant de lancer ce script automatiquement sans intervention manuelle. Pour cela, j&amp;rsquo;ai suivi les instructions données sur &lt;a class=&#34;link&#34; href=&#34;https://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;cette page&lt;/a&gt;, et tout a parfaitement fonctionné. On utilise &lt;strong&gt;ssh-keygen&lt;/strong&gt; pour générer une clef, et &lt;strong&gt;ssh-copy-id&lt;/strong&gt; pour la copier sur le Raspberry. C&amp;rsquo;est plutôt simple et efficace. On génère la clef (donc sur le PC d&amp;rsquo;où je vais lancer le script) :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;~&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pascal$ ssh-keygen&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Generating public/private rsa key pair.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Enter file in which to save the key &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;/home/pascal/.ssh/id_rsa&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;:&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;Appuyer sur Entrée&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Enter passphrase &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;empty &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; no passphrase&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;: &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;Appuyer sur Entrée&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Enter same passphrase again: &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;Appuyer sur Entrée&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your identification has been saved in /home/pascal/.ssh/id_rsa.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Your public key has been saved in /home/pascal/.ssh/id_rsa.pub.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;The key fingerprint is:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;33:b3:fe:af:95:95:18:11:31:d5:de:96:2f:f2:35:f9 &lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;~&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pascal$&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Puis on la copie sur le Raspberry avec l&amp;rsquo;utilisateur &lt;strong&gt;volumio&lt;/strong&gt; :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;~&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pascal$ ssh-copy-id -i ~/.ssh/id_rsa.pub volumio@192.168.1.17&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;volumio@192.168.1.17&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s password:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;Now try logging into the machine, with &amp;#34;ssh &amp;#39;&lt;/span&gt;remote-host&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#34;, and check in:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;.ssh/authorized_keys&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;to make sure we haven&amp;#39;&lt;/span&gt;t added extra keys that you weren&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;&amp;#39;&lt;/span&gt;t expecting.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Voilà, il n&amp;rsquo;y a plus qu&amp;rsquo;à vérifier que tout fonctionne en se connectant avec cette simple commande, qui doit fonctionner sans avoir à entrer de mot de passe :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ssh volumio@192.168.1.17&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Si cela ne fonctionne pas, on obtient des informations en testant la clef en mode &amp;ldquo;verbose&amp;rdquo; :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ssh -v -i ~/.ssh/id_rsa volumio@192.168.1.17&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Voir aussi &lt;a class=&#34;link&#34; href=&#34;https://www.ssh.com/academy/ssh/copy-id&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;cette page&lt;/a&gt; pour plus d&amp;rsquo;explications.&lt;/p&gt;&#xA;&lt;p&gt;Le script rsync sera quelque chose comme ça, selon votre configuration. La musique du PC est dans &lt;code&gt;/Edata/Ma Musique&lt;/code&gt; et celle de Volumio est dans &lt;code&gt;/media/Music&lt;/code&gt;. L&amp;rsquo;option &lt;strong&gt;&amp;ndash;delete&lt;/strong&gt; de &lt;strong&gt;rsync&lt;/strong&gt; permet d&amp;rsquo;effacer sur la cible (bibliothèque Volumio) ce que j&amp;rsquo;ai effacé sur la source (bibliothèque PC), c&amp;rsquo;est mon choix, à vous de voir selon vos préférences :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#!/bin/bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rsync -e &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ssh -p 22&amp;#39;&lt;/span&gt; -a --delete &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/Edata/Ma Musique/&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;volumio@192.168.1.17:/media/Music&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Il ne reste plus qu&amp;rsquo;à l&amp;rsquo;&lt;a class=&#34;link&#34; href=&#34;https://www.linuxtricks.fr/wiki/cron-et-crontab-le-planificateur-de-taches&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;ajouter à votre crontab&lt;/a&gt;, et votre musique est désormais synchronisée automatiquement.&lt;/p&gt;&#xA;&lt;h3 id=&#34;playlists&#34;&gt;Playlists&#xA;&lt;/h3&gt;&lt;p&gt;J&amp;rsquo;utilise quelques Playlists sur le PC (dans Rhythmbox) que je voudrais bien retrouver dans Volumio. Elles sont de deux sortes :&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Certaines sont créées au fil du temps en cours d&amp;rsquo;écoute : le morceau me plaît, je fais glisser avec la souris le morceau sur le nom de ma playlist dans le panneau de gauche (fonctionnalité Rhythmbox). Dans ce cas, chaque morceau reste dans son dossier d&amp;rsquo;origine, celui de l&amp;rsquo;album. Celles-ci ne seront pas faciles à recréer (chemin absolu).&lt;/li&gt;&#xA;&lt;li&gt;D&amp;rsquo;autres playlists directement récupérées ou recréées à partir d&amp;rsquo;une liste sur le net, comme celle(s) de &lt;strong&gt;Vernon Subutex&lt;/strong&gt; par exemple, ou d&amp;rsquo;après un roman comme &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=12566&#34; &gt;Lester Bangs Mégatonnique Rock Critic&lt;/a&gt;, ou encore de &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=15329&#34; &gt;Power&lt;/a&gt; (!) : dans ce cas, tous les morceaux sont dans le même dossier. Et ce sera donc facile de les recréer à priori (chemin relatif).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Il y a également les flux radios qui m&amp;rsquo;intéressent. Voyons voir tout cela, dans Volumio, puis avec un simple client MPD sur le téléphone.&lt;/p&gt;&#xA;&lt;h3 id=&#34;playlists-dans-volumio&#34;&gt;Playlists dans Volumio&#xA;&lt;/h3&gt;&lt;p&gt;Concernant les Playlists, la syntaxe utilisée par Volumio n&amp;rsquo;est pas celle de fichiers &lt;code&gt;.m3u&lt;/code&gt;, un format standard d&amp;rsquo;ailleurs utilisé par MPD. Heureusement, il existe un plugin (pas encore intégré à Volumio, et qu&amp;rsquo;il faudra donc installer manuellement) qui permet de le faire, merci à P&amp;rsquo;tit Nicolas pour &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=15743#comment-63424&#34; &gt;son commentaire&lt;/a&gt;. On trouve ce plugin &lt;code&gt;m3u_importer&lt;/code&gt; &lt;a class=&#34;link&#34; href=&#34;https://github.com/skiphansen/volumio-plugins/tree/master/plugins/miscellanea/m3u_importer&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;ici&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Pour activer les plugins dans Volumio, il faut commencer par se créer un compte MyVolumio (c&amp;rsquo;est gratuit avec le plan Free). Ensuite, pour installer le plugin, il suffit de suivre les instructions en se connectant en SSH sur Volumio et donc en tapant les commandes suivantes :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget https://github.com/skiphansen/volumio-plugins/raw/master/plugins/miscellanea/m3u_importer/m3u_importer.zip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkdir m3u_importer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd m3u_importer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;miniunzip ../m3u_importer.zip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;volumio plugin install&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Pour le premier type de playlists créées au fil du temps (chemin absolu), il m&amp;rsquo;a fallu les modifier avant de pouvoir les importer : en effet le chemin d&amp;rsquo;accès à chaque fichier est forcément différent entre mon PC et le Raspberry ! Mais avec un bon éditeur de texte, c&amp;rsquo;est l&amp;rsquo;affaire de quelques secondes.&lt;/p&gt;&#xA;&lt;p&gt;Voilà à quoi ressemble un titre d&amp;rsquo;une playlist de Rhythmbox exportée au format &lt;code&gt;m3u&lt;/code&gt; :&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;#EXTINF:,Tangerine /Data/Musique/Christophe/Les vestiges du Chaos/06 Tangerine.mp3 &lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Je vais remplacer le chemin absolu par un chemin relatif :&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;#EXTINF:,Tangerine ./Christophe/Les vestiges du Chaos/06 Tangerine.mp3 &lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Avec un éditeur de texte, ce sera très rapide :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;517px&#34; data-flex-grow=&#34;215&#34; height=&#34;356&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/remplacer.png&#34; width=&#34;767&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Une fois ceci fait, je transfère le fichier sur le Raspberry Volumio (avec FileZilla par exemple), et je déplace le fichier à la racine de ma bibliothèque musicale, soit dans mon cas &lt;code&gt;/mnt/USB/Music&lt;/code&gt; :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ pwd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/mnt/USB/Music&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ls *.m3u&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pascal.m3u&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Il ne reste plus qu&amp;rsquo;à lancer le plugin d&amp;rsquo;importation :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;329px&#34; data-flex-grow=&#34;137&#34; height=&#34;390&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/plugin.png&#34; width=&#34;535&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Et je retrouve ma playlist fonctionnelle dans Volumio&amp;hellip; Génial !&lt;/p&gt;&#xA;&lt;p&gt;S&amp;rsquo;il s&amp;rsquo;agit de Playlists du deuxième type (chemin relatif), contenant déjà un chemin relatif, il n&amp;rsquo;y a qu&amp;rsquo;à pointer directement sur le bon répertoire et le tour est joué :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;510px&#34; data-flex-grow=&#34;212&#34; height=&#34;233&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/plugin1.png&#34; width=&#34;496&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ce plugin est vraiment le bienvenu, et comme j&amp;rsquo;ai été amené à utiliser l&amp;rsquo;application Volumio sur Android plutôt qu&amp;rsquo;un simple cient MPD pour la gestion du volume (voir plus bas), c&amp;rsquo;est top !&lt;/p&gt;&#xA;&lt;p&gt;À toutes fins utiles, j&amp;rsquo;ai vu que Volumio stockait ses playlists dans &lt;code&gt;/data/playlists&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;radios-dans-volumio&#34;&gt;Radios dans Volumio&#xA;&lt;/h3&gt;&lt;p&gt;Concernant les flux radios, Volumio en fournit une liste assez impressionnante, il est donc facile d&amp;rsquo;y sélectionner celles qui nous intéressent, et de se créer ses &amp;ldquo;Radios Favorites&amp;rdquo; :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;360px&#34; data-flex-grow=&#34;150&#34; height=&#34;399&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/radiospl.png&#34; width=&#34;600&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Le fichier créé est &lt;code&gt;/data/favourites/radio-favourites&lt;/code&gt;. Si vous choisissez &amp;ldquo;Mes radios internet&amp;rdquo;, ce sera &lt;code&gt;/data/favourites/my-web-radio&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;album-art&#34;&gt;Album Art&#xA;&lt;/h3&gt;&lt;p&gt;C&amp;rsquo;est toujours le problème : l&amp;rsquo;affichage des pochettes des albums ! Tout dépend bien entendu de la qualité d&amp;rsquo;organisation de votre bibliothèque musicale, et ce n&amp;rsquo;est pas toujours facile ! J&amp;rsquo;y porte pourtant beaucoup d&amp;rsquo;attention, et néanmoins j&amp;rsquo;ai toujours des surprises, particulièrement avec les compilations ou les playlists : j&amp;rsquo;ai par exemple une belle collection de CDs des Inrockuptibles, et je veux que ce soit la pochette des Inrocks qui s&amp;rsquo;affiche.&lt;/p&gt;&#xA;&lt;p&gt;Sur le PC, avec Rhythmbox, j&amp;rsquo;ai dans chaque dossier d&amp;rsquo;album un fichier &lt;code&gt;cover.jpg&lt;/code&gt; pour la pochette de l&amp;rsquo;album, c&amp;rsquo;est une façon simple et locale de gérer le problème. Il existe beaucoup de lecteurs audio qui se reposent sur des services internet pour retrouver la pochette d&amp;rsquo;un album ou même des images d&amp;rsquo;un artiste, mais je ne suis pas fan de cette solution qui a ses limitations et où finalement on ne contrôle plus grand chose.&lt;/p&gt;&#xA;&lt;p&gt;Pour les compilations, dans cette configuration, il faut faire bien attention à ce que le tag &amp;ldquo;Album Artist&amp;rdquo; de chaque morceau contienne la valeur &amp;ldquo;Various Artists&amp;rdquo;, ce qu&amp;rsquo;il faut en général faire manuellement. Dans ce cas, Rhythmbox affichera bien le fichier &lt;code&gt;cover.jpg&lt;/code&gt; du dossier de la compilation.&lt;/p&gt;&#xA;&lt;h3 id=&#34;album-art-dans-volumio&#34;&gt;Album Art dans Volumio&#xA;&lt;/h3&gt;&lt;p&gt;Pour l&amp;rsquo;interface web, il faut aller dans l&amp;rsquo;interface web de Volumio, et activer dans &lt;strong&gt;Sources&lt;/strong&gt; l&amp;rsquo;option &lt;strong&gt;Web Albumart&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;805px&#34; data-flex-grow=&#34;335&#34; height=&#34;196&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/volumio1.png&#34; width=&#34;658&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Car je voulais utiliser un client MPD, je n&amp;rsquo;ai pas donc besoin de l&amp;rsquo;activer (l&amp;rsquo;application Android va en fait &amp;ldquo;parler&amp;rdquo; directement au daemon MPD, en court-circuitant Volumio).&lt;/p&gt;&#xA;&lt;p&gt;Depuis que je suis revenu à l&amp;rsquo;application Volumio sur Android, j&amp;rsquo;ai réactivé cette option, et ma foi, ça se débrouille pas trop mal, même sur les compilations des Inrocks, l&amp;rsquo;appli smeble trouver le fichier &lt;code&gt;cover.jpg&lt;/code&gt; dans le dossier&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Penser aussi à renseigner le paramètre &amp;ldquo;Champs métadonnées pour les compilations&amp;rdquo; selon vos tags ID3 :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;825px&#34; data-flex-grow=&#34;343&#34; height=&#34;189&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/tagsID.png&#34; width=&#34;650&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Enfin, à toutes fins utiles, Volumio stocke les informations dans &lt;code&gt;/data/albumart&lt;/code&gt;. On y retrouve toute l&amp;rsquo;arborescence de la bibliothèque musicale, comme &lt;code&gt;folder&lt;/code&gt;, ou &lt;code&gt;web&lt;/code&gt; où sont recréées et stockées les images des albums.&lt;/p&gt;&#xA;&lt;h3 id=&#34;client-mpd-android&#34;&gt;Client MPD Android&#xA;&lt;/h3&gt;&lt;p&gt;Pour piloter Volumio, il y a deux applications disponibles sur &lt;a class=&#34;link&#34; href=&#34;https://f-droid.org/fr/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;F-Droid&lt;/a&gt;, le magasin d&amp;rsquo;applications libres : &lt;a class=&#34;link&#34; href=&#34;https://f-droid.org/fr/packages/com.namelessdev.mpdroid/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;MPDroid&lt;/a&gt; et &lt;a class=&#34;link&#34; href=&#34;https://f-droid.org/fr/packages/org.gateshipone.malp/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;M.A.L.P&lt;/a&gt;. Et ce sont bien sûr tous les deux des clients MPD.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;240px&#34; data-flex-grow=&#34;100&#34; height=&#34;192&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/malp-1.jpg&#34; width=&#34;192&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://f-droid.org/fr/packages/org.gateshipone.malp/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;M.A.L.P&lt;/a&gt; à une interface un peu plus moderne (material design), et sa dernière mise à jour est récente (mars 2020). La gestion de l&amp;rsquo;Album Art semble plus évoluée car elle se base sur des services en ligne aussi bien pour les pochettes que pour les artistes (MusicBrainz,Last.fm, Fanart.tv). Ainsi quand un morceau est joué, l&amp;rsquo;image affichée change et passe de la pochette à des images de l&amp;rsquo;artiste. Plutôt sympa (particulièrement pour les playlists, voir plus bas)&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Mais hélas, je n&amp;rsquo;ai pas trouvé de moyen de lui faire lire l&amp;rsquo;image &lt;code&gt;cover.jpg&lt;/code&gt; pour mes compilations des Inrocks. Dommage, l&amp;rsquo;appli avait l&amp;rsquo;air pas mal sinon, j&amp;rsquo;ai créé une &amp;ldquo;feature request&amp;rdquo;, on verra ce que ça donne&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;240px&#34; data-flex-grow=&#34;100&#34; height=&#34;192&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/mpdroid.jpg&#34; width=&#34;192&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://f-droid.org/fr/packages/com.namelessdev.mpdroid/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;MPDroid&lt;/a&gt; est si l&amp;rsquo;on en croit le développeur très complet et atteint les limites de l&amp;rsquo;API de MPD ! Cela explique que la dernière version date de 2017. Il ne faut donc pas attendre de nouveautés prochainement. L&amp;rsquo;interface est d&amp;rsquo;ailleurs assez proche de M.A.L.P, bref c&amp;rsquo;est un client MPD simple et fonctionnel, et qui &amp;ldquo;fait le boulot&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;275px&#34; data-flex-grow=&#34;114&#34; height=&#34;444&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/mpdroid1.png&#34; width=&#34;510&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Pour se connecter, il suffit d&amp;rsquo;aller dans les paramètres, d&amp;rsquo;entre l&amp;rsquo;adresse IP du serveur Volumio (192.168.1.17 dans mon cas), de laisser le champ &amp;ldquo;Mot de passe&amp;rdquo; vide (!), et de laisser le port par défaut, soit 6600. À noter côté Volumio, ce port est affecté à un service appelé &lt;strong&gt;mshvlm&lt;/strong&gt; :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pascal$ nmap 192.168.1.17 -p &lt;span style=&#34;color:#ae81ff&#34;&gt;6600&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Starting Nmap 7.80 &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt; https://nmap.org &lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; at 2021-04-11 10:40 CEST&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Nmap scan report &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; volumio.home &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;192.168.1.17&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Host is up &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;0.00096s latency&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PORT     STATE SERVICE&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;6600/tcp open  mshvlm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Nmap &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; IP address &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; host up&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; scanned in 0.03 seconds&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;C&amp;rsquo;est un peu bizarre, je m&amp;rsquo;attendais à y voir le service &lt;strong&gt;mpd&lt;/strong&gt;. Mais bon, ça fonctionne !&lt;/p&gt;&#xA;&lt;p&gt;Pour les Playlists, il faut les créer, et on peut sélectionner un dossier, ce qui correspond à mes besoins pour les compilations issues de mes lectures. L&amp;rsquo;inconvénient est que si je suis en vue &amp;ldquo;Album&amp;rdquo; ou &amp;ldquo;Artiste&amp;rdquo;, je me retrouve avec une entrée pour chaque morceau de la compilation&amp;hellip; et sans pochette ! :-(&lt;/p&gt;&#xA;&lt;p&gt;Pour celles créées au fil des écoutes avec Rhythmbox, j&amp;rsquo;ai finalement créés des dossiers spécifiques, et fait un Drag&amp;amp;Drop de Rhythmbox dans le dossier : cela a bien évidemment dupliqué ces morceaux dans ma bibliothèque, mais je ne suis plus à quelques Mo près ! ;-) Par contre, cela pose problème pour les pochettes dans MPDroid, comme nous allons le voir.&lt;/p&gt;&#xA;&lt;p&gt;Cela a donc été très rapide de les recréer. Les fichiers créés sont (côté Raspberry) stockés dans &lt;code&gt;/var/lib/mpd/playlists&lt;/code&gt; : ce sont donc des playlists &amp;ldquo;mpd&amp;rdquo; (et non pas Volumio), au format &lt;strong&gt;.m3u&lt;/strong&gt;, ce qui est tout de même appréciable.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;353px&#34; data-flex-grow=&#34;147&#34; height=&#34;533&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/mpd-playlists.png&#34; width=&#34;786&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;En ce qui concerne les radios il suffit de choisir &amp;ldquo;Flux&amp;rdquo;, puis &amp;ldquo;Ajouter le Flux&amp;rdquo; en haut à droite, et entrer le nom et l&amp;rsquo;adresse web de la station :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;279px&#34; data-flex-grow=&#34;116&#34; height=&#34;515&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/mpdflux.png&#34; width=&#34;600&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;On retrouve la liste de nos radios dans le fichier &lt;code&gt;/var/lib/mpd/playlists/[Radio\ Streams].m3u&lt;/code&gt;, que l &amp;lsquo;on peut éditer du coup pour en ajouter d&amp;rsquo;autres plus rapidement.&lt;/p&gt;&#xA;&lt;h4 id=&#34;album-art-dans-mpdroid&#34;&gt;Album Art dans MPDroid&#xA;&lt;/h4&gt;&lt;p&gt;Pour MPDroid, il faut aller dans Paramètres - Paramètres des pochettes, cocher &amp;ldquo;Télécharger les pochettes locales&amp;rdquo;, puis dans &amp;ldquo;Chemin vers la musique&amp;rdquo; mettre &lt;code&gt;cover-art&lt;/code&gt; comme valeur, ce qui ne s&amp;rsquo;invente pas ! Et ne pas oublier de mettre le bon nom de fichier que vous utilisez, &lt;code&gt;cover.jpg&lt;/code&gt; en ce qui me concerne, dans &amp;ldquo;Nom du fichier pochette&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;573px&#34; data-flex-grow=&#34;238&#34; height=&#34;293&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/mpdroid.png&#34; width=&#34;700&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ne pas hésiter à faire un &amp;ldquo;Rafraîchir la bibliothèque MPD&amp;rdquo; dans les &amp;ldquo;Paramètres - Informations Serveur&amp;rdquo; après ce genre de modifications.&lt;/p&gt;&#xA;&lt;p&gt;Mais rien n&amp;rsquo;est parfait, avec mes Playlists où chaque morceau apparaît non seulement isolément (logique !), mais également sans pochette. Or ces morceaux ont tous la pochette intégrée dans les tags du fichier. L&amp;rsquo;idéal serait donc que MPDroid lise cette information en premier, et affiche cette pochette si elle est présente. Ou alors qu&amp;rsquo;il aille chercher l&amp;rsquo;information sur le net comme le fait M.A.L.P&amp;hellip; Là encore, c&amp;rsquo;est vraiment galère à gérer !&lt;/p&gt;&#xA;&lt;p&gt;Difficile de trouver la solution parfaite semble-t-il ! :-?&lt;/p&gt;&#xA;&lt;h3 id=&#34;client-volumio-sur-android&#34;&gt;Client Volumio sur Android&#xA;&lt;/h3&gt;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;240px&#34; data-flex-grow=&#34;100&#34; height=&#34;100&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/volumio.png&#34; width=&#34;100&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Il y a bien sûr un client officiel fourni par Volumio pour Android. Je l&amp;rsquo;avais écarté dans un premier temps, préférant utiliser une application disponible sur F-Droid (MPDroid).&lt;/p&gt;&#xA;&lt;p&gt;Mais j&amp;rsquo;ai été confronté à un problème de réglage du volume, qui ne fonctionnait pas à partir de MPDroid (un simple client MPD donc), alors que cela fonctionne très bien à partir du client Volumio, dont l&amp;rsquo;interface est moins sympa je trouve, mais je vais m&amp;rsquo;y faire facilement puisque cela me résout le problème !&lt;/p&gt;&#xA;&lt;p&gt;Il y a pourtant bien un paramètre dans les &lt;code&gt;Options de Lecture Générales&lt;/code&gt; intitulé : &amp;quot; &lt;code&gt;Controle du volume par les clients MPD&lt;/code&gt;&amp;quot;, mais sans effet sur MPDroid. J&amp;rsquo;ai même testé avec un client Gnome sur le PC (gmpc) : le curseur de réglage du volume apparaît clairement comme non disponible&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Le problème semble lié au type de mixage défini à &amp;ldquo;matériel&amp;rdquo; qui est pourtant le meilleur réglage possible puisque mon &lt;strong&gt;DAC+ Pro&lt;/strong&gt; le supporte, dans les options de volume de Volumio :&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;283px&#34; data-flex-grow=&#34;118&#34; height=&#34;504&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://pled.fr/un-raspberry-pi-pour-ma-chaine-hi-fi/options.png&#34; width=&#34;596&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Finalement, ce sera donc cette appli que j&amp;rsquo;utiliserai pour le contrôle à distance. Pour le volume, on règle l&amp;rsquo;ampli à un niveau assez fort, et on ajuste dans Volumio, et ça fonctionne très bien ! :cool:&lt;/p&gt;&#xA;&lt;p&gt;NOTE : je pourrais aussi utiliser le client web de Volumio pour ce faire.&lt;/p&gt;&#xA;&lt;p&gt;Et du coup, je peux utiliser les Playlists de Volumio (voir plus haut) et éviter de dupliquer mes pistes&amp;hellip; :cool:&lt;/p&gt;&#xA;&lt;h3 id=&#34;problème-rencontré&#34;&gt;Problème rencontré&#xA;&lt;/h3&gt;&lt;p&gt;J&amp;rsquo;ai par la suite remarqué qu&amp;rsquo;il me manquait des albums sur le Raspberry&amp;hellip; Après investigation, j&amp;rsquo;ai trouvé des &amp;ldquo;read permissions error&amp;rdquo; dans le fichier &lt;code&gt;/var/log/mpd.log&lt;/code&gt; sur le Raspberry.&lt;/p&gt;&#xA;&lt;p&gt;Le problème venait de mauvais droits sur mon arborescence du PC (utilisateur différent). Problème vite résolu avec la commande suivante (suivie d&amp;rsquo;un refresh de la bibliothèque) :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;chmod -R &lt;span style=&#34;color:#ae81ff&#34;&gt;755&lt;/span&gt; /media/Music/*&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;raspbian&#34;&gt;Raspbian&#xA;&lt;/h3&gt;&lt;p&gt;Pour finir, quelques commandes utiles, puisqu&amp;rsquo;après tout Volumio tourne sur Raspbian, un dérivé de Debian adapté au Raspberry.&lt;/p&gt;&#xA;&lt;p&gt;Justement, pour savoir sur quoi on tourne ( notez que pour la commande &lt;code&gt;lsb_release&lt;/code&gt;, il faut installer le paquet &lt;strong&gt;lsb-release&lt;/strong&gt;, cherchez l&amp;rsquo;erreur !) :&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;volumio@volumio:~$ uname -a&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Linux volumio 4.19.86-v7l+ &lt;span style=&#34;color:#75715e&#34;&gt;#1283 SMP Fri Nov 29 18:37:40 GMT 2019 armv7l GNU/Linux&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;volumio@volumio:~$ cat /etc/os-release&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PRETTY_NAME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Raspbian GNU/Linux 8 (jessie)&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;NAME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Raspbian GNU/Linux&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;VERSION_ID&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;8&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;VERSION&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;8 (jessie)&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;volumio@volumio:~$ sudo apt install lsb-release&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;volumio@volumio:~$ lsb_release -a&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;No LSB modules are available.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Distributor ID:&#x9;Raspbian&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Description:&#x9;Raspbian GNU/Linux 8.0 &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;jessie&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Release:&#x9;8.0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Codename:&#x9;jessie&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Et si vous voulez installer d&amp;rsquo;autres paquets, comme par exemple &lt;strong&gt;vim&lt;/strong&gt; (cela a été mon premier besoin pour pouvoir simplement éditer un fichier), mais aussi pour utiliser le Raspberry à d&amp;rsquo;autres fins (c&amp;rsquo;est tout l&amp;rsquo;avantage d&amp;rsquo;être sous Raspbian), il faut commencer par faire un &lt;code&gt;sudo apt update&lt;/code&gt; pour récupérer la liste des packages. On peut alors ensuite enchaîner sur un &lt;code&gt;sudo apt install vim&lt;/code&gt; qui ne passait pas sans cela.&lt;/p&gt;&#xA;&lt;h3 id=&#34;conclusion&#34;&gt;Conclusion&#xA;&lt;/h3&gt;&lt;p&gt;Je suis plutôt satisfait de cette installation. J&amp;rsquo;ai utilisé un Raspberry pour la première fois, et c&amp;rsquo;est assez passionnant, on peut faire plein de choses avec ce micro ordinateur. C&amp;rsquo;est très facile à assembler, et la partie software, avec l&amp;rsquo;image flash de Volumio, est d&amp;rsquo;une simplicité enfantine.&lt;/p&gt;&#xA;&lt;p&gt;Surtout, j&amp;rsquo;ai une très bonne qualité de son. Bien que n&amp;rsquo;étant pas audiophile, je peux vous dire que le son sort bien, sans aucun souffle ! La carte DAC permet une très bonne qualité de signal analogique, et bien sûr les enceintes qui sont forcément toujours un élément important d&amp;rsquo;une chaîne Hi-Fi..&lt;/p&gt;&#xA;&lt;p&gt;Je pense aussi installer d&amp;rsquo;autres choses sur ce Raspberry, comme &lt;a class=&#34;link&#34; href=&#34;https://pi-hole.net/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Pi-Hole&lt;/a&gt; par exemple, qui a l&amp;rsquo;air d&amp;rsquo;être un truc sympa pour bloquer les pubs sur son réseau local. J&amp;rsquo;espère que c&amp;rsquo;est possible avec cette image Volumio ? Si c&amp;rsquo;est le cas, ce sera l&amp;rsquo;occasion d&amp;rsquo;un autre article ! ;-)&lt;/p&gt;&#xA;&lt;p&gt;MAJ : L&amp;rsquo;article sur l&amp;rsquo;installation de Pi-Hole est dispo : &lt;a class=&#34;link&#34; href=&#34;https://pled.fr/?p=16628&#34; &gt;Installation de Pi-Hole sur mon Raspberry Volumio&lt;/a&gt;.&lt;/p&gt;&#xA;</description>
        </item></channel>
</rss>
