Ordre des opérations pour remonter le Raspberry Pi sur une carte SD neuve. Les données du SSD (dépôt de sauvegarde, médias Jellyfin) ne sont pas concernées : le SSD se remonte tel quel.
Ce qui est perdu avec la carte SD
Le Pi n'est pas sauvegardé par Plakar. Tout ce qui est sur la carte SD est à refaire à partir de ce wiki.
| Élément | Conséquence | Comment le recréer |
|---|---|---|
| Configuration d'AdGuard Home | Réécritures DNS et listes perdues | Page AdGuard Home |
| Identité du nœud Meshtastic | Nouveau nœud, nouvelles clés | Réimporter l'export de configuration ( |
| Base de Jellyfin | Bibliothèques, utilisateurs, historique perdus | Réajouter les bibliothèques ; nouvelle clé d'API pour Jellystat |
| Clé autorisée pour Plakar | Sauvegardes bloquées | Recopier la clé publique du serveur principal |
1. Système
Raspberry Pi Imager, image Raspberry Pi OS Lite (64 bits), avec dans les réglages : nom d'hôte, utilisateur, clé SSH publique (sans mot de passe), Wi-Fi et pays FR.
sudo apt install rsyslog fail2ban smartmontools chkrootkit lynis pipx uhubctl
SSH par clé uniquement : PasswordAuthentication no et KbdInteractiveAuthentication no dans /etc/ssh/sshd_config.d/.
2. Démarrage
Ajouts à /boot/firmware/config.txt :
dtparam=spi=on
dtoverlay=spi0-0cs
dtparam=audio=off
dtoverlay=gpio-fan,gpiopin=14,temp=50000
| Ligne | Pour |
|---|---|
| i2c_arm | Écran OLED du boîtier |
| spi et spi0-0cs | Module LoRa (Meshtastic) |
| audio=off | Libère le PWM de la broche 18 pour le bandeau LED |
| gpio-fan | Ventilateur du boîtier piloté par la broche 14, démarrage à 50 °C |
Ne pas ajouter gpu_mem (le Pi n'affiche rien) ni enable_uart (la broche 14 sert au ventilateur).
Ajouts à la ligne unique de /boot/firmware/cmdline.txt :
| Paramètre | Pour |
|---|---|
| usb-storage.quirks | Pont USB du SSD en mode usb-storage |
| cgroup_enable=memory cgroup_memory=1 | Limites de mémoire des conteneurs Docker |
| apparmor=1 security=apparmor | AppArmor |
| cfg80211.ieee80211_regdom=FR | Réglementation Wi-Fi française |
Redémarrer, puis contrôler :
cat /sys/class/thermal/cooling_device0/type # gpio-fan
3. SSD et Wi-Fi
- Montage, point de montage immuable, smartmontools : page SSD de stockage.
- Économie d'énergie Wi-Fi désactivée : page Raspberry Pi.
4. Dépôt de sauvegarde
Utilisateur plakar, limitation SFTP, clé du serveur principal : section « Mise en place du dépôt » de la page Sauvegarde. Le dépôt lui-même est déjà sur le SSD.
Tester depuis le serveur principal :
5. Docker
Dépôt officiel de Docker, puis :
- Portainer : agent seulement, piloté par l'instance centrale.
- Watchtower : stack de la page Serveur principal.
- AdGuard Home.
- OLED Stats :
--privileged --network host \
--device /dev/i2c-1 --device /dev/gpiomem \
-e TZ=Europe/Paris -e OLED_ROTATION=1 \
mklements/oled_stats:latest status.py
6. Services natifs
- Meshtastic : dépôt, fichiers de config.d, puis réimport de la configuration exportée :
- Jellyfin : dépôt Jellyfin, bibliothèques sur le SSD, Batman en proxy de confiance (KnownProxies), nouvelle clé d'API à reporter dans Jellystat.
- led-anim : venv, script, service.
- fail2ban, chkrootkit, Lynis.
- Outils meshtastic et yt-dlp : pipx install.
7. Contrôles finaux
docker ps --format '{{.Names}} {{.Status}}'
meshtastic --host localhost --info | grep -m1 Owner
Depuis un poste du réseau : résolution DNS par le Pi, puis attendre le ✅ de la sauvegarde suivante.