====== PUCES ====== Le projet Petite Unité de Communication Économe et Sociale (PUCES) est l'idée de permettre l'installation d'un serveur d'auto-hébergement d'un petit collectif avec une cléUSB bootable et par peut être des recettes Ansibles avec peu de questions.\\ PUCES gère aussi le réseau local, LAN/WiFi, un peu comme la brique Internet' mais avec la possibilité de déploiement et de gestion d'ordinateur avec PXE et des images systèmes. Bien sur PUCES est une expérimentation ;-).\\ Il semble évident que l'installation des premiers serveurs pour nous se fera par seulement quelques personnes dans nos locaux et que les serveurs seront mis en place et paramétrés ensuite dans chaque structures. Et ici c'est une proposition qui faciliterait la reproduction, gagner du temps et de la tranquillité... PUCES vise à inverser la tendance techno-béate actuelle qui oblige les utilisateurs à oublier leurs outils et leurs matériels personnels, leurs fonctionnements, leurs possibilités, leurs responsabilités et leur poids de pollution. Prôner l'unique usage du 'cloud' se fait souvent à travers le smartphone, l'éloignement aux savoirs techniques et à leurs implications (pollution,consommation).\\ PUCES en rapprochant physiquement le stockage des données et services personnels responsabilise ainsi davantage l'utilisateur sur les impacts de ses agissements.\\ PUCES amène aussi à prendre en compte ses outils proches, smartphone,ordinateur et périphériques. Ainsi l'usage de PUCES va avec une pensée émancipatrice et anti-consumériste et prône l'usage de système GNU/Linux, la réutilisation de matériels anciens et le partage. ===== Topologie ===== En chantier total ! tout peut changer ... PUCES comprendrait: * un hyperviseur Promox * un utilisateur / pass (2 questions) * une VM Nethserver avec * une annuaire LDAP * Nextcloud * Mattermost * sites et Dokuwiki * reverse-proxy et gestion des certificats * firewall,DHCP,IPX (si pas avec LXC Openwrt) * une VM de contenaires * mecanique Docker Portnaire * Traefik en pxoy * une VM/LXC Openwrt * DHCP,Firewall * Gestion de bornes WiFi * MPTCP pour une gestion de connexions ADSL/4G sur un VPS * VM/LXC Backup/PXE * Clonezilla sinon l'usine genre ferme de YNH * un hyperviseur Promox * des VM Yunohosts * gestion utilisateurs/SSO (base commune) * Nextcloud * Rocketchat * reverse-proxy et certificats * sites et wiki * une VM/LXC Openwrt * DHCP,Firewall * Gestion de bornes WiFi * MPTCP? * VM/LXC Backup/PXE * Clonezilla On pourrait fixer les IP pour garder une doc propre ? Les adresses IP sont fixes et suivent celle de la box renseignée à la première question\\ 192.168.NN.xx ou NN est la plage gérée par la box (il faudra faire les transferts de port) * .10 pour le proxmox / .11 pour le nethserver / .12 nextcloud ... Les noms de domaines sont fixés par la question du nom de domaine principal * prox.domaine.truc pour le proxmox (si nécessaire?) * s.domaine.truc pour le nethserver * y.domaine.truc pour le yunohost (admin) , revers proxy * m.domaine.truc * etc ===== Matériel nécessaire ===== * une connexion fibre ou au pire un couple ADSL/4G * un abonnement free ou fdn (ovh n'a plus la cote , rachat de leur partie FAI par sfr ...) * Une machine < 100€ , proc 4 coeurs basse conso ex Fujisu futro s930 <15W * 8Go RAM ... * SSD 16Go,128Go ou plus pour l'hyperviseur et les VM de base * DD de 4To * 2 ethernet dont 1 en GB serait cool ===== L'éxpérimentation , un début ===== * Déjà , nous avons acheter un Fujitsu Futro s920 avec le processeur GX420CC ... peut etre pas le meilleur choix? il y aurait aussi FUJITSU Desktop ESPRIMO Q920 (i5) ou Lenovo ThinkCentre M93p * https://pve.proxmox.com/wiki/Prepare_Installation_Media , il y a une image proxmox toute faite .. à tester, nous pourrions la modifier pour ajouter les playbooks Avant de se lancer dans de l'Infrastructure as Code (IaC) je vois 2 chemins simpliste pour nos besoin mais connus: - installation proxmox iso, puis config de tout un tas de truc ET fabrication d'un simple backup par clonezilla - vraiment un clone avec tout qu'il faudra maintenir en tant que machine clonable vide: pas de données juste les installations de base - mais donc le clone sera a adapter une fois installer, maj ... - on pourra installer un serveur, le mettre a jour et ensuite refaire un backup clonezilla ... - donc méthode pas tres propre mais efficace on se retrouverait même avec une image de tout bootable ! - installation debian-mini et ansible puis liste de playbook - tres adaptable - peut etre un peut plus long .. telechargement des iso etc - il faut installer ansible sur la machine qui pilotera l'installation puis le proxmox/VM etc... - mais a t on une autre machine pour piloter tout ca , c'est un peu contraire au but du début cad un iso qui fait tout! - dépendante des playbook mais lisible - ca doit bien plaire au adminsys ;) ==== Méthode des clonessensibles==== de fait on peut faire les 2: une installation complète , puis un clonezilla pour faire une image bootable. Le tout contenant aussi ansible pret pour un pilotage extérieur ;-) === Système de base === On a le serveur ptipoux à installer et notre machine de travail:PC * sur ptipoux install debian 11 netinst.. sans bureau juste sshd * regarder l'ip donnée par le/un DHCP pour retrouver la machine : //ip a// * paramétrage de ssh pour une connexion avec clé, à partir de PC * //ssh-copy-id -i ~/.ssh/id_rsa.pub user@ip_machine// * installation de ansible * sur notre PC * sur ptipoux en profitant du ssh, test de la connexion ssh... toujours à partir de PC * //apt install ansible #?avahi// * piste https://www.tutos.atomit.fr/2021/11/installer-proxmox-avec-ansible/ * //ansible-galaxy install lae.proxmox// * et le playbook {{ :ateliers:playbook_proxmox_lae.yml.txt |}} * lancement de l'install proxmox * //ansible-playbook --user ramina -bKk playbook_proxmox_lae.yml// === Maintenant le test du backup complet par clonezilla === * https://clonezilla.org/downloads.php * je pose l'ISO sur une clé bootable installée avec Ventoy * fabrication d'une image disque par Clonezilla sans problème La technique fonctionne ;-), mais est elle pérenne ... === Reste le script d'adaptation après restauration d'un backup === Soit une recette Ansible, soit des modifs à partir de https://ptipoux.local:8006 (attention à l'ip)\\ en option à faire, on continu comme ca pour le moment === Puis ajouts des VM nécessaires === Un tour par la : * https://docs.ansible.com/ansible/latest/index.html * https://doc.fedora-fr.org/wiki/Ansible ===>on en est la ====VM Nethserver 7 ==== C'est la question qui pique un peu, utilise-t-on Nethserver? * pour le moment c'est un environnement complet, solide, basé sur Centos, qui a fait ses preuves, jusqu'à la version 7 * mais la version 8 chamboule tout en adoptant une approche de conteneurisation dès le premier niveau... Nethserver comme outils pour maintenir (mieux selon moi que Yunohost) des services LDAP,DHCP,HTTP(apache et reverse proxy), Nextcloud, Collabora, Mail, Mattermost de façon homogène et solide (Centos!) L'installation par l'ISO Nethserver à travers Proxmox fonctionne bien autant la faire comme ça. Toujours le même utilisateur //ramina// avec les droits d'administration. ==== Yunohost ==== C'est un système qui parait bien taillé pour un travail personnel, familiale, il est bien suivi mais la base n'est pas forcément très pertinente. Il nous faut dimensionner et trouver ses limites. C'est un projet plutôt franco-français qui de fait se cadre peut être un peu trop. * gérer des petites structures en tant que groupe ou des machines virtuelles par groupe? * peut être cela dépendra de l'implication trouvée chez des référents, par groupe(s)? * de la possibilité d'usage d'une liaison fibre? des contingences des lieux? * voir les limites de la gestion des identification utilisateurs par SSO * partir sur une ferme de yunohost , mais comme usine a gaz ... ==== Ailleurs ==== Et bonnes idées. * https://framablog.org/2022/01/18/clic-une-plateforme-de-cooperation-tout-terrain/ * les script de fabrication https://framagit.org/clic/clic fonctionne aussi sur Odroid N2... * https://www.linuxtricks.fr/news/10-logiciels-libres/495-mon-choix-post-centos-alma-linux/ **devrait nous faire adopter ce systeme ...*** * avec les pistes ansibles * https://galaxy.ansible.com/home * https://linux-system-roles.github.io/ * https://github.com/dev-sec/ansible-collection-hardening * https://phoenixnap.com/kb/saltstack-vs-ansible ? telle est la question .. on penche pour ansible * https://github.com/clayshek/raspi-ubuntu-ansible (Terraform semble un peu trop gros pour nos besoin??)