Portfolio de Tiberiu Rosca

Mon projet Raspberry

J’ai eu mon Raspberry peu de temps après avoir commencé mes études et mon stage chez CIXI, et j’ai appris beaucoup de choses en expérimentant avec.

Mon serveur tado auto‑hébergé

En suivant un tutoriel trouvé en ligne, j’ai découvert que je pouvais auto‑héberger un serveur d’automatisation tado (j’utilise tado pour contrôler le chauffage).

Un problème avec tado est l’abonnement requis pour automatiser l’arrêt et le démarrage du chauffage lorsque l’on est absent de la maison ou lorsqu’une fenêtre est ouverte.
Pour contourner cet abonnement, l’auto‑hébergement sur une carte Raspberry bon marché semble intéressant et économique, d’autant plus que je peux l’utiliser pour d’autres choses.

J’ai quand même besoin de sécurité

Le tutoriel ci‑dessus parle des projets utilisés et de l’image Docker de cette personne. Cependant, compte tenu de ma formation, je ne pouvais pas simplement utiliser cela. J’ai dû créer ma propre image.
Non seulement parce que je voulais en apprendre davantage, mais aussi pour des raisons de sécurité.

Mon image personnalisée

J’ai donc commencé à expérimenter avec le projet GitHub tado_aa. Comment partir d’une image officielle Python Alpine légère et parvenir à exécuter le script dont j’avais besoin. Au final, j’ai réussi à le faire fonctionner dans un conteneur Podman, en fournissant les identifiants lors de l’exécution de l’image, puis en les récupérant dans le script grâce à un petit script sed.

Cette solution n’est pas parfaite, et à l’avenir, je devrai modifier le script tado afin de supprimer la nécessité d’écrire les identifiants directement dans le script. Peut‑être en implémentant la même approche que celle utilisée dans mon projet sauvegarde Python.

Un serveur web auto‑hébergé

Ce serveur web a été utilisé pour tester ce site, donc je n’avais pas besoin de beaucoup de performances pour un site statique, que peu de personnes allaient charger. Autant le faire moi‑même.

Donc avec Nginx ?

D’après ce que j’ai pu lire en ligne, Nginx semble être l’un des meilleurs outils pour héberger un site statique. Il serait même plus rapide qu’Apache.

Évidemment, je dois l’héberger dans un conteneur Podman. J’ai donc choisi une image officielle Nginx Alpine, modifié les paramètres pour renforcer la sécurité, et ajouté un volume en lecture seule.

Et là, un problème est apparu : Nginx ne peut pas lire les fichiers… quelle belle fonctionnalité de sécurité de Podman.
J’avais déjà rencontré ce problème au travail et je n’arrivais pas à comprendre comment monter un volume dans un conteneur en utilisant le bon identifiant utilisateur à l’intérieur et à l’extérieur.

Ce projet m’a aidé à comprendre comment le faire. Et voilà, vous lisez ce site.