Code source wiki de Raspberry Pi
Afficher les derniers auteurs
| author | version | line-number | content |
|---|---|---|---|
| 1 | {{info}} | ||
| 2 | Pages détaillées : [[AdGuard Home>>Wiki Batcave John.Infrastructure.RaspberryPi.AdGuardHome.WebHome]] | ||
| 3 | {{/info}} | ||
| 4 | |||
| 5 | == Système == | ||
| 6 | |||
| 7 | |=Élément|=Valeur | ||
| 8 | |Machine|Raspberry Pi 4 | ||
| 9 | |OS|Debian 13, sans environnement graphique | ||
| 10 | |Cible systemd|##multi-user.target## | ||
| 11 | |Réseau|Wi-Fi | ||
| 12 | |Stockage des sauvegardes|SSD USB | ||
| 13 | |||
| 14 | == Services == | ||
| 15 | |||
| 16 | === Conteneurs === | ||
| 17 | |||
| 18 | |=Service|=Rôle | ||
| 19 | |AdGuard Home|DNS local, blocage, réécriture DNS | ||
| 20 | |OLED Stats|Statistiques sur l'écran OLED du boîtier | ||
| 21 | |Portainer + Portainer Agent|Gestion Docker | ||
| 22 | |Watchtower|Mise à jour automatique des images | ||
| 23 | |||
| 24 | === Natifs === | ||
| 25 | |||
| 26 | |=Service|=Rôle | ||
| 27 | |meshtasticd|Nœud Meshtastic LoRa (HAT SX1262 en SPI) | ||
| 28 | |Jellyfin|Serveur multimédia | ||
| 29 | |MariaDB|Base de données | ||
| 30 | |fail2ban|Blocage des tentatives SSH | ||
| 31 | |smartmontools|Surveillance du SSD | ||
| 32 | |sysstat, acct|Statistiques système, comptabilité des processus | ||
| 33 | |chkrootkit, Lynis|Audit nocturne par timer | ||
| 34 | |led-anim|Animation du bandeau LED | ||
| 35 | |||
| 36 | == Outils == | ||
| 37 | |||
| 38 | Plakar (dépôt), uhubctl, yt-dlp et client meshtastic (pipx), outils RTL-SDR. | ||
| 39 | |||
| 40 | == Configuration == | ||
| 41 | |||
| 42 | === Wi-Fi : désactiver l'économie d'énergie === | ||
| 43 | |||
| 44 | Le lien décroche sur les gros transferts SFTP quand l'économie d'énergie est active : | ||
| 45 | |||
| 46 | {{code language="bash"}} | ||
| 47 | sudo nmcli connection modify "<SSID>" 802-11-wireless.powersave 2 | ||
| 48 | sudo nmcli connection up "<SSID>" | ||
| 49 | {{/code}} | ||
| 50 | |||
| 51 | === SSD USB sur pont ASMedia === | ||
| 52 | |||
| 53 | Le pont se déconnecte sous forte charge en mode UAS. Forcer le mode usb-storage en ajoutant à la ligne unique de ##/boot/firmware/cmdline.txt## (identifiants donnés par ##lsusb##) : | ||
| 54 | |||
| 55 | {{code}} | ||
| 56 | usb-storage.quirks=<VID>:<PID>:u | ||
| 57 | {{/code}} | ||
| 58 | |||
| 59 | Montage à la demande dans ##/etc/fstab##, sans bloquer le démarrage si le disque est absent : | ||
| 60 | |||
| 61 | {{code}} | ||
| 62 | UUID=<UUID> <POINT_MONTAGE> <FS> defaults,nofail,x-systemd.automount 0 2 | ||
| 63 | {{/code}} | ||
| 64 | |||
| 65 | Empêcher l'écriture sur la carte SD quand le SSD n'est pas monté (à faire sur le point de montage vide) : | ||
| 66 | |||
| 67 | {{code language="bash"}} | ||
| 68 | sudo chattr +i <POINT_MONTAGE> | ||
| 69 | {{/code}} | ||
| 70 | |||
| 71 | === SPI pour le module LoRa === | ||
| 72 | |||
| 73 | Dans ##/boot/firmware/config.txt## : | ||
| 74 | |||
| 75 | {{code language="ini"}} | ||
| 76 | dtparam=spi=on | ||
| 77 | dtoverlay=spi0-0cs | ||
| 78 | {{/code}} | ||
| 79 | |||
| 80 | === meshtasticd === | ||
| 81 | |||
| 82 | Les réglages vont dans ##/etc/meshtasticd/config.d/## : ces fichiers survivent aux mises à jour du paquet, contrairement à ##config.yaml##. | ||
| 83 | |||
| 84 | ##99-lora.yaml##, valeurs pour le HAT Waveshare SX126X : | ||
| 85 | |||
| 86 | {{code language="yaml"}} | ||
| 87 | Lora: | ||
| 88 | Module: sx1262 | ||
| 89 | DIO2_AS_RF_SWITCH: true | ||
| 90 | CS: 21 | ||
| 91 | IRQ: 16 | ||
| 92 | Busy: 20 | ||
| 93 | Reset: 18 | ||
| 94 | SX126X_ANT_SW: 6 | ||
| 95 | {{/code}} | ||
| 96 | |||
| 97 | ##98-webserver.yaml## : | ||
| 98 | |||
| 99 | {{code language="yaml"}} | ||
| 100 | Webserver: | ||
| 101 | Port: 443 | ||
| 102 | RootPath: /usr/share/meshtasticd/web | ||
| 103 | {{/code}} | ||
| 104 | |||
| 105 | === Outils Python === | ||
| 106 | |||
| 107 | {{code language="bash"}} | ||
| 108 | sudo apt install pipx | ||
| 109 | pipx install meshtastic | ||
| 110 | pipx install yt-dlp | ||
| 111 | pipx ensurepath | ||
| 112 | {{/code}} | ||
| 113 | |||
| 114 | Mise à jour : ##pipx upgrade-all##. | ||
| 115 | |||
| 116 | === led-anim === | ||
| 117 | |||
| 118 | Le script dépend de ##rpi_ws281x##, installé dans un venv dédié : | ||
| 119 | |||
| 120 | {{code language="bash"}} | ||
| 121 | sudo python3 -m venv /opt/led-anim/venv | ||
| 122 | sudo /opt/led-anim/venv/bin/pip install rpi_ws281x | ||
| 123 | {{/code}} | ||
| 124 | |||
| 125 | Il doit tourner en root : ##rpi_ws281x## accède directement au DMA et au PWM. | ||
| 126 | |||
| 127 | === Portainer Agent === | ||
| 128 | |||
| 129 | L'agent doit être à la même version que le Portainer qui le pilote : épingler son tag sur celui du serveur plutôt que ##latest##. | ||
| 130 | |||
| 131 | === Services désactivés === | ||
| 132 | |||
| 133 | ModemManager (sonde les ports série et peut perturber un nœud Meshtastic en USB), bluetooth, hciuart. |