Greboca  

Suport technique et veille technologique

Aujourd’hui, les grandes entreprises et administrations publiques hésitent entre continuer à utiliser des logiciels propriétaires ou basculer vers les Logiciels Libres. Pourtant, la plupart des logiciels libres sont capables de bien traiter les données issues des logiciels propriétaire, et parfois avec une meilleur compatibilité.

C’est alors la barrière de la prise en main qui fait peur, et pourtant...

Les logiciels libres

L’aspect « Logiciel Libre » permet une évolution rapide et une plus grande participation des utilisateurs. Les aides et tutoriels foisonnent sur Internet ou sont directement inclus dans le logiciel lui-même.

Enfin, les concepteurs sont plus proches des utilisateurs, ce qui rend les logiciels libres plus agréable à utiliser et conviviaux.

Grâce à la disponibilité des logiciels libres, vous trouverez facilement des services de support techniques et la licence n’est plus un frein à l’utilisation de ces logiciels par votre personnel.

Notre support technique concerne essentiellement les logiciels libres, que ce soit sous forme de services ponctuels ou de tutoriels.

DLFP - Dépêches  -  Wiseflat, un serveur conteneurisé pour vos projets personnels

 -  Mai 2018 - 

Wiseflat est un projet permettant d’héberger ses applications Web dans des conteneurs LXC sur un (ou plusieurs) Raspberry Pi.

C’est une alternative à docker CE avec du LXC (car, en tant qu’administrateur système, je trouve ça plus pratique d’avoir un accès SSH dans mes conteneurs).

Wiseflat est donc une boîte à outils permettant d’installer des micro‐services clef en main « production ready », afin de se focaliser sur ce qu’on a réellement besoin de faire.

Plus de détails dans la suite de la dépêche.

Sommaire

API

J’héberge une API proposant du contenu dédié à la domotique :

  • météo ;
  • calendrier ;
  • géolocalisation ;
  • heartbeat, un service de vérification de joignabilité fait sur mon API, si votre serveur ne répond pas vous serez notifié par courriel ;
  • cron, pour planifier des jobs HTTP dans le cloud ;
  • etc.

Ainsi que du contenu autour de la sécurité et du filtrage réseau pour protéger son réseau local et/ou ses serveurs sur Internet :

  • badips : des listes d’adresses IP considérées comme malveillantes, à bloquer sur son pare‐feu (ou au niveau de son serveur mandataire inversé — reverse proxy — nginx, Traefik ou HAproxy) — ces adresses IP sont issues des différentes listes communautaires, enrichies avec mes propres mécanismes de défense sur mes serveurs ;
  • ipblocks : des blocs d’adresses IP par pays pour restreindre l’accès uniquement à son territoire (je n’ai pas de copain en Chine) ;
  • baddomains : des listes communautaires de nom de domaines dangereux à ajouter à son serveur DNS pour les rendre non routables (filoutage, malware, publicité, pistage, etc.).

Il reste encore des coquilles, donc n’hésitez pas à me prévenir si les services gérés par l’API ne fonctionnent pas comme il faut. :-)

Côté utilisateur

L’installation et les mises à jour de votre serveur se font grâce à un projet Ansible hébergé sur GitHub. Le projet est fourni avec des playbooks1 permettant :

  • d’ajouter des micro‐services pré‐configurés pour simplifier le déploiement et la prise en main par l’utilisateur (la création manuelle de conteneurs LXC est bien entendu possible) ;
  • d’exploiter les données de l’API dans ses scénarios divers et variés de domotique ;
  • de garantir la sécurité de son réseau local en bloquant les menaces présentes sur Internet.

Voici un exemple de Raspberry Pi et de ses petits micro‐services :

pi@home-wiseflat:~ $ lxc list
+----------------+---------+------------------------+------+------------+-----------+
|      NAME      |  STATE  |          IPV4          | IPV6 |    TYPE    | SNAPSHOTS |
+----------------+---------+------------------------+------+------------+-----------+
| home-blog      | RUNNING | 192.168.1.198 (eth0)   |      | PERSISTENT | 0         |
+----------------+---------+------------------------+------+------------+-----------+
| home-cms       | RUNNING | 192.168.1.115 (eth0)   |      | PERSISTENT | 0         |
+----------------+---------+------------------------+------+------------+-----------+
| home-dnsmasq   | RUNNING | 192.168.1.110 (eth0)   |      | PERSISTENT | 0         |
+----------------+---------+------------------------+------+------------+-----------+
| home-domoticz  | RUNNING | 192.168.1.200 (eth0)   |      | PERSISTENT | 0         |
+----------------+---------+------------------------+------+------------+-----------+
| home-homebridge| RUNNING | 192.168.1.246 (eth0)   |      | PERSISTENT | 0         |
+----------------+---------+------------------------+------+------------+-----------+
| home-jeedom    | RUNNING | 192.168.1.138 (eth0)   |      | PERSISTENT | 0         |
+----------------+---------+------------------------+------+------------+-----------+
| home-messenger | RUNNING | 192.168.1.104 (eth0)   |      | PERSISTENT | 0         |
+----------------+---------+------------------------+------+------------+-----------+
| home-mqtt      | RUNNING | 192.168.1.247 (eth0)   |      | PERSISTENT | 0         |
+----------------+---------+------------------------+------+------------+-----------+
| home-nodered   | RUNNING | 192.168.1.245 (eth0)   |      | PERSISTENT | 0         |
+----------------+---------+------------------------+------+------------+-----------+
| home-xpl       | RUNNING | 192.168.1.243 (eth0)   |      | PERSISTENT | 0         |
+----------------+---------+------------------------+------+------------+-----------+

Le serveur dnsmasq est configuré pour récupérer via un cron les listes des domaines dangereux. Il suffit de configurer sur son service DHCP ce serveur DNS pour les résolutions de noms de domaine.

Étant un fan de Node.js, la plupart des micro‐services que j’ai choisis font tourner des instances Node.js basées sur Total.js, un super cadriciel.

Futur

Même si je propose des images LXC préconfigurées, je compte partager des playbooks Ansible pour installer des applications Web pratiques telles que :

  • Nextcloud (avec SQLite par défaut) ;
  • wallabag et autres lecteurs de flux RSS ;
  • WordPress (même si j’évite d’installer mariadb/mysql-server sur mes Raspberry Pi, on parle bien de « micro‐service ») ;
  • searx, comme alternative à Google ;
  • Gitea ou Gogs, pour gérer ses projets Git ;
  • PeerTube (même si c’est en Docker et que ça fonctionne avec PostgreSQL) ;
  • Standard Notes ;
  • OpenVPN, pour que tout un chacun puisse monter des tunnels de réseau privé virtuel (VPN) avec ses copains.

J’aimerais bien mettre du dynamisme dans ce genre d’infrastructure à la manière de Kubernetes, un serveur mandataire inverse (reverse proxy) en frontal, comme Traefik, qui irait chercher ses domaines dans un key‐value store (etcd) et générerait automatiquement les certificats SSL/TLS Let’s Encrypt. L’ajout d’une découverte du service (service discovery) basée sur du DNS serait aussi un plus, ce qui permettrait d’avoir un (ou plusieurs) petits serveurs pour prendre en charge une infrastructure de production peu chère.

Contribuer

N’importe qui peut participer au projet de différentes manières via GitHub :

  • faire évoluer le projet Ansible de construction du serveur ;
  • proposer des playbook Ansible pour construire des micro‐services.

  1. un playbook Ansible est une sorte de mégascript qui va automatiser des tâches de manière séquentielle. 

Commentaires : voir le flux atom ouvrir dans le navigateur

par wiseflat, ZeroHeure, patrick_g, palm123, Davy Defaud

DLFP - Dépêches

LinuxFr.org

Entretien avec GValiente à propos de Butano

 -  16 avril - 

GValiente développe un SDK pour créer des jeux pour la console Game Boy Advance : Butano.Cet entretien revient sur son parcours et les raisons (...)


Nouveautés d'avril 2024 de la communauté Scenari

 -  11 avril - 

Scenari est un ensemble de logiciels open source dédiés à la production collaborative, publication et diffusion de documents multi-support. Vous (...)


Annuaire de projets libres (mais pas de logiciels)

 -  9 avril - 

Les communs sont une source énorme de partage !S’il est plutôt facile dans le monde francophone de trouver des ressources logicielles (Merci (...)


Les enchères en temps réel, un danger pour la vie privée mais aussi pour la sécurité européenne

 -  7 avril - 

Les enchères en temps réel, ou Real-Time Bidding (RTB), sont une technologie publicitaire omniprésente sur les sites web et applications mobiles (...)


XZ et liblzma: Faille de sécurité volontairement introduite depuis au moins deux mois

 -  31 mars - 

Andres Freund, un développeur Postgres, s’est rendu compte dans les derniers jours que xz et liblzma ont été corrompus par l’un des mainteneurs du (...)