mardi 22 août 2017

Unités systemd avec docker

Une fois encore le couple systemd-docker nous montre son efficacité... redoutable. J'ai pû monter un service en quelques minutes sans prise de tête ou complication imprévue; certes la partie zone DNS et reverse proxy était déjà en place, mais quand même. Je résumerais l'histoire en 4 étapes.

Veni

Le premier reflexe à avoir quand on veut monter un nouveau service, est de chercher sur la registry Docker officielle une image potable, et vérifier son Dockerfile pour voir si elle emballe pas quelques abérations. Moi je cherchais une image du service Searx, et je suis tombé sur une perle rare.

Vidi

L'image docker est basée sur Alpine Linux 3.6, elle n'a pas de volumes donc pas de données persistantes, et elle n'expose qu'un seul port, plus simple tu meurs. Petit plus, elle n'embarque pas les dépendances de compilation, elle se contente de compiler le programme sans faire de choses tordues avant ou après. Le script run.sh procède visiblement à quelques ajustements de la config du programme, notament la génération d'une clé d'authentification, qui sera regénérée à chaque lancement. Soit.

Vici \o/

Il ne reste plus qu'à concrétiser tout ça dans son terminal...

# docker pull wonderfall/searx

L'unité systemd aura les fonctionnalités suivantes:

  1. Lancer le processus dans le container et créer le container
  2. Le container utilise le serveur DNS de OpenDNS (fixe un bug avec NetworkManager et dnsmasq)
  3. Le container écoute sur le port 8089 de l'interface localhost (important)
  4. L'url de base est passée en variable d'environnement
  5. Envoi du signal reload au processus cloisonné
  6. Tuer le processus dans son container et laisser le container à l'abandon
  7. un nouveau container avec un nouveau nom sera créé au prochain redémarrage

# cat /etc/systemd/system/searx-casper-site.service
[Unit]
Description=Searx search engine
After=docker.service

[Service]
Restart=always
ExecStart=/usr/bin/docker run -i --dns 208.67.222.222 -p 127.0.0.1:8089:8888 \
          -e BASE_URL=https://search.casperlefantom.net \
          wonderfall/searx:latest
ExecReload=/usr/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target

J'insiste sur le fait que vos containers doivent écouter seulement sur l'interface localhost pour des raisons de sécurité. Si le container écoute sur l'interface ethernet, alors son port d'écoute sera accessible depuis n'importe où sur Internet. Firewalld ne pourra rien faire pour vous. J'ai 2 reverses proxy devant, je serais bien embêté si on pouvait les bypasser >-)

# systemctl daemon-reload
# systemctl enable searx-casper-site.service
# systemctl start searx-casper-site.service

Les logs du programme sont automatiquement récupérés par Journald. L'étape de suppression des containers sans processus actif est relègué à une opération de nettoyage manuel. Je n'ai malheureusement pas trouvé d'autre solution, des disques trop lent sont assez problématiques et provoquent des erreurs de système de fichier en cours d'utilisation.

lundi 21 août 2017

search.casperlefantom.net is back

The proud, the shiny, the powerful metasearch engine Searx inspired by the seeks project is now online. Announcement Since few months, or maybe few years, I don't remember exactly... the old service Seeks was down because of lack of maintenance. What is a better idea to deploy it again under a new  […]

Lire la suite

jeudi 17 août 2017

Da FAI

Pour ceux qui ont des freebox, j'ai trouvé un petit tour rigolo. Si vous êtes comme moi et que vous voulez faire à l'occasion (petites coupures, autres...) des diagnostics rapides de l'ensemble de tous les composants réseau, afficher l'uptime de la freebox dans un terminal en une seule commande va  […]

Lire la suite

mercredi 12 juillet 2017

Systeme UEFI pur

Tu veux voir si ton système est en pur UEFI ? ls /sys/firmware/efisi le répertoire existe, la réponse est OUI ! (J'ai trouvé un excellent article en anglais, entre parenthèses...)

vendredi 2 juin 2017

Carte son ASUS Xonar DSX - 7.1 - PCI-E

On se retrouve dès maintenant pour l'unboxing de cette carte PCI-E dont je viens de me porter acquéreur, alors la boite est en carton glacé de très haute qualité avec un rabat sur le dessus mais ne s'ouvre que sur les cotés, très douce au touché ce qui témoigne de la précieusité du composant qu'elle  […]

Lire la suite

jeudi 25 mai 2017

Panda de feu de compétition

Entre Fedoriens, on aime bien comparer nos configurations personnalisées de Firefox. Le prix à gagner est la reconnaissance d'une config comme étant "Parano", titre suprême qui garantie une navigation fluide comme dans les années 90. À la base, je n'avais pas prévu de publier la  […]

Lire la suite

lundi 15 mai 2017

Upgrade vers Windows 8

Capture_du_2017-05-15_22-23-08.png

C'est avec un peu de retard que je me suis lancé dans la mise à jour de mon vieillissant W7 vers Windows 8. Je vous passe les détails techniques, c'est un peu toujours la même rengaine. Par contre, je trouve l'interface formidable, quel design, quelle esthétique... On voit bien là le résultat de 30  […]

Lire la suite

dimanche 8 janvier 2017

Persistence des données

Salut lecteur, Oui toi, pas la peine de regarder à gauche ou à droite, il y a absolument personne, je parle bien à toi cher lecteur. Tu as cru que je t'avais oublié, pas vrai ? Du tout, mais comme tu le sais, j'ai eu pas mal de distractions ces derniers temps, j'ai vraiment du mal à trouver du temps  […]

Lire la suite

samedi 7 mai 2016

Renaissance

logo-april-125x125.png

Aujourd'hui, je suis rené de mes cendres, et plus en forme que jamais: J'ai renouvelé ma cotisation à la confrérie du Logiciel Libre.Et j'ai renouvelé ma cotisation à la confrérie de Fedora.

samedi 5 décembre 2015

Le jour d'après

fallback2.jpg

Ce matin (enfin cet après-midi) j'ai trouvé le message que je me suis laissé hier soir (ou plutôt la nuit dernière). On papotait à propos de fallback, de système de backup fiable, et surtout de trouver des failles dans un système en place. Visiblement il s'agit de la description de mon système de  […]

Lire la suite

- page 1 de 8