Présentation du dispositif
OpenStick est un mini‑serveur vendu à 10 USD. Il embarque 512 Mo de RAM, dont environ 450 Mo utilisables, quatre cœurs ARM Cortex‑A53 cadencés à 1 GHz, 4 Go de stockage eMMC, un module Wi‑Fi 150 Mbit/s, un modem 4G avec GPS et un LED programmable. L’appareil est passivement refroidi, ce qui élimine tout bruit. Ces caractéristiques placent le dispositif dans la même gamme que certaines montres connectées, mais suffisent à faire tourner une distribution Debian complète.
Architecture logicielle et conteneurisation
Le système d’exploitation installé est Debian, ce qui apporte le gestionnaire de services systemd et le runtime de conteneurs Podman. Podman, compatible avec les images Docker, fonctionne sans démon central et permet d’exécuter des conteneurs en mode rootless ou root, réduisant l’empreinte mémoire par rapport à Docker. Sur OpenStick, plusieurs services légers sont déployés sous forme de conteneurs : CastSponsorSkip (5–10 Mo), un fork d’AdGuard Home (≈ 40 Mo), Zeroclaw (≈ 64 Mo, 3 Mo RSS au repos), Cloudflare Tunnel (8–20 Mo), Beszel (≈ 20 Mo, 10 Mo agent + 10 Mo serveur), Gatus (≈ 10 Mo), Fusion RSS (≈ 22 Mo), Shiori (10–20 Mo) et Diun (≈ 9 Mo). Chaque composant reste bien en dessous du seuil de 450 Mo de RAM disponible, même lorsqu’ils s’exécutent simultanément.
Analyse des charges et limites matérielles
Le processeur Cortex‑A53, bien que limité à 1 GHz, gère sans problème les tâches d’interrogation DNS, de filtrage HTTP et de monitoring. Les opérations d’écriture sur la mémoire eMMC sont suffisantes pour les journaux système et les bases de données légères utilisées par AdGuard Home et les lecteurs RSS. Le débit Wi‑Fi de 150 Mbit/s, combiné au modem 4G, assure une connectivité suffisante pour les tunnels Cloudflare, qui chiffrent le trafic sortant sans surcharge notable. Cependant, l’absence de refroidissement actif impose une contrainte thermique : des charges CPU soutenues au‑dessus de 70 % pendant plusieurs minutes peuvent entraîner un throttling de fréquence, ce qui ralentit les réponses des services.
Sécurité, exposition réseau et surveillance
L’accès distant est réalisé via Cloudflare Tunnel, qui évite l’ouverture de ports sur le routeur mais confie le trafic à l’infrastructure Cloudflare. Cette approche réduit la surface d’attaque locale mais introduit une dépendance à un tiers capable de voir le flux chiffré. Zeroclaw, exécuté avec des privilèges root, constitue le point d’entrée principal pour la surveillance via Telegram ; le « blast radius » est limité par le fait que le dispositif ne possède que les services listés. La visibilité de l’état du serveur est assurée par Beszel et Gatus, qui envoient des alertes en cas de dépassement de seuils CPU, d’espace disque ou d’indisponibilité d’un service. Cette chaîne de monitoring permet de détecter rapidement les effets du throttling ou d’une saturation de la bande passante.