Filtre actif, cliquez pour en enlever un tag :
Cliquez sur un tag pour affiner votre recherche :
Résultat de la recherche (33 notes) :
Journal du lundi 23 décembre 2024 à 19:39
J'ai commencé le Projet GH-271 - Installer Proxmox sur mon serveur NUC Intel i3-5010U, 8Go de Ram le 9 octobre.
Le 27 octobre, j'ai publié la note 2024-10-27_2109 qui contient une erreur qui m'a fait perdre 14h !
# virt-customize -a noble-server-cloudimg-amd64.img --install qemu-guest-agent --run-command 'systemctl enable qemu-guest-agent.service'
[ 0.0] Examining the guest ...
[ 4.5] Setting a random seed
virt-customize: warning: random seed could not be set for this type of
guest
[ 4.5] Setting the machine ID in /etc/machine-id
[ 4.5] Installing packages: qemu-guest-agent
[ 32.1] Running: systemctl enable qemu-guest-agent.service
[ 32.6] Finishing off
Je n'avais pas fait attention au message Setting the machine ID in /etc/machine-id
🙊.
Conséquence : le template Proxmox Ubuntu contenait un fichier /etc/machine-id
avec un id
.
Conséquence : toutes les Virtual machine que je créais sous Proxmox avaient la même valeur machine-id
.
J'ai découvert que l'option 61 "Client identifier" du protocole DHCP permet de passer un client id
au serveur DHCP qui sera utilisé à la place de l'adresse MAC.
Conséquence : le serveur DHCP assignait la même IP à ces Virtual machine.
J'ai pensé que le serveur DHCP de mon router BBox avait un problème. J'ai donc décidé d'installer Projet 15 - Installation et configuration de OpenWrt sur Xiaomi Mi Router 4A Gigabit pour avoir une meilleure maitrise du serveur DHCP.
Problème : j'ai fait face au même problème avec le serveur DHCP de OpenWrt.
Après quelques recherches, j'ai découvert que contrairement à virt-customize
la commande virt-sysprep
permet d'agir sur des images qui ont vocation à être clonées.
"Sysprep" stands for "system preparation" tool. The name comes from the Microsoft program sysprep.exe which is used to unconfigure Windows machines in preparation for cloning them.
Pour corriger le problème, j'ai remplacé cette ligne :
# virt-customize -a noble-server-cloudimg-amd64.img --install qemu-guest-agent --run-command 'systemctl enable qemu-guest-agent.service'
Par ces deux lignes :
# virt-sysprep -a noble-server-cloudimg-amd64.img --network --install qemu-guest-agent --run-command 'systemctl enable qemu-guest-agent.service'
# virt-sysprep --operation machine-id -a noble-server-cloudimg-amd64.img
La seconde commande permet de supprimer le fichier /etc/machine-id
, ce qui corrige le problème d'attribution d'IP par le serveur DHCP.
À noter que je ne comprends pas pourquoi il est nécessaire de lancer explicitement cette seconde commande, étant donné que la commande virt-sysprep
est destinée aux images de type "template". Le fichier /etc/machine-id
ne devrait jamais être créé, ou tout du moins, automatiquement supprimé à la fin de chaque utilisation de virt-sysprep.
Maintenant, l'instanciation de Virtual machine fonctionne bien, elles ont des IP différentes 🙂.
Prochaine étape du Projet GH-271 :
Je souhaite arrive à effectuer un déploiement d'une Virtual instance via cli de Terraform.
Journal du mercredi 27 novembre 2024 à 14:33
Un ami m'a partagé ce thread au sujet de l'IP fixe chez Bouygues qui semble indiquer que l'offre fibre de Bouygues ne propose pas d'IP fixe ?
En pratique, je constate que l'IP publique de ma fibre est fixe depuis plus d'un an : 176.142.86.141
.
Voici, ci-dessous, les informations que j'ai trouvées à ce sujet.
Dans le document "Comparatif des offres en fibre optique des principaux opérateurs grand public en France, au 15 juillet 2024" du site lafibre.info, concernant la fibre de Bouygues, je lis :
- IPv4 fixe (dédiée ou mutualisée 8 064 ports.
- IPv4 dédiée gratuite sur demande.
- Plage IPv6 /60 fixe pour tous les clients
Dans le document "2024-07 ARCEP Baromètre ipv6 - partage ipv4" du site lafibre.info, je lis, concernant la fibre de Bouygues :
- Option IPv4 dédié gratuite.
- Pourcentage de clients avec une IPv4 dédiée : 90 %.
- Adresse fixes ou dynamiques (une IP ou prefixe dit « fixe » peut changer exceptionnelement, lors d'évolutions réseau / SI) :
- IPv4 publique fixe
- Préfixe IPv6 fixe
Voici mon interprétation : je pense que l'IP de l'offre fibre de Bouygues est fixe, mais peut exceptionnellement changer.
C'est ce que semble confirmer la personne membre du support technique de Bouygues dans le thread mentionné en début de cette note :
L'adresse IP publique de votre accès Internet peut changer de manière exceptionnelle, comme par exemple suite à des actions menées au niveau du DSLAM ou le NRA par exemple.
Journal du jeudi 14 novembre 2024 à 10:26
DomainMOD is a self-hosted open source application used to manage your domains and other Internet assets in a central location.
Journal du dimanche 27 octobre 2024 à 21:09
Nouvelle #iteration du Projet GH-271 - Installer Proxmox sur mon serveur NUC Intel i3-5010U, 8Go de Ram.
J'ai eu des difficultés à trouver comment déployer avec Proxmox des Virtual instance basées sur Ubuntu Cloud Image.
J'ai trouvé réponse à mes questions dans cet article : "Perfect Proxmox Template with Cloud Image and Cloud Init".
Mais depuis, j'ai trouvé un meilleur tutoriel : "Linux VM Templates in Proxmox on EASY MODE using Prebuilt Cloud Init Images!".
Création d'un template Ubuntu LTS
J'ai exécuté les commandes suivantes en SSH sur mon serveur NUC i3 pour créer un template de VM Proxmox.
root@nuci3:~# apt update -y && apt install libguestfs-tools jq -y
root@nuci3:~# wget https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img
Ancienne commande qui contient une erreur à ne pas utilisé, plus d'information dans la note 2024-12-23_1939 :
root@nuci3:~# virt-customize -a noble-server-cloudimg-amd64.img --install qemu-guest-agent --run-command 'systemctl enable qemu-guest-agent.service'
root@nuci3:~# virt-sysprep -a noble-server-cloudimg-amd64.img --network --install qemu-guest-agent --run-command 'systemctl enable qemu-guest-agent.service'
root@nuci3:~# virt-sysprep --operation machine-id -a noble-server-cloudimg-amd64.img
root@nuci3:~# qm create 8000 --memory 2048 --core 2 --name ubuntu-cloud-template --net0 virtio,bridge=vmbr0
root@nuci3:~# qm disk import 8000 noble-server-cloudimg-amd64.img local-lvm
transferred 3.5 GiB of 3.5 GiB (100.00%)
transferred 3.5 GiB of 3.5 GiB (100.00%)
Successfully imported disk as 'unused0:local-lvm:vm-8000-disk-0'
root@nuci3:~# rm noble-server-cloudimg-amd64.img
root@nuci3:~# qm set 8000 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-8000-disk-0
update VM 8000: -scsi0 local-lvm:vm-8000-disk-0 -scsihw virtio-scsi-pci
root@nuci3:~# qm set 8000 --ide2 local-lvm:cloudinit
update VM 8000: -ide2 local:cloudinit
Formatting '/var/lib/vz/images/8000/vm-8000-cloudinit.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off preallocation=metadata compression_type=zlib size=4194304 lazy_refcounts=off refcount_bits=16
ide2: successfully created disk 'local:8000/vm-8000-cloudinit.qcow2,media=cdrom'
generating cloud-init ISO
(liste des paramètres cloud-init
)
root@nuci3:~# qm set 8000 --ipconfig0 "ip6=auto,ip=dhcp"
root@nuci3:~# qm set 8000 --sshkeys ~/.ssh/authorized_keys
root@nuci3:~# qm set 8000 --ciuser stephane
root@nuci3:~# qm set 8000 --cipassword password # optionnel, seulement en phase de debug
root@nuci3:~# qm set 8000 --boot c --bootdisk scsi0
update VM 8000: -boot c -bootdisk scsi0
root@nuci3:~# qm set 8000 --serial0 socket --vga serial0
update VM 8000: -serial0 socket -vga serial0
root@nuci3:~# qm set 8000 --agent enabled=1
root@nuci3:~# qm set 8000 --ciupgrade 0
root@nuci3:~# qm template 8000
Renamed "vm-8000-disk-0" to "base-8000-disk-0" in volume group "pve"
Logical volume pve/base-8000-disk-0 changed.
WARNING: Combining activation change with other commands is not advised.
Création d'une Virtual Instance
root@nuci3:~# qm clone 8000 100 --name server1
root@nuci3:~# qm start 100
root@nuci3:~# qm guest cmd 100 network-get-interfaces | jq -r '.[] | select(.name == "eth0") | .["ip-addresses"][0] | .["ip-address"]'
192.168.1.64
$ ssh stephane@192.168.1.64
The authenticity of host '192.168.1.64 (192.168.1.64)' can't be established.
ED25519 key fingerprint is SHA256:OJHcY3GHOsm3I4qcsYFc6V4qePNxVS4iAOBsDjeLM7o.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.1.64' (ED25519) to the list of known hosts.
Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 6.8.0-45-generic x86_64)
...
Journal du dimanche 20 octobre 2024 à 21:42
En lisant le thread Reddit "Desktop version 2024.10.0 is no longer free software · Issue #11611 · bitwarden/clients" #JaiDécouvert Psono.
Open Source Self Hosted Password Manager for Companies
Secure self-hosted solution for businesses
-- from
Journal du mercredi 09 octobre 2024 à 23:52
#iteration Projet GH-271 - Installer Proxmox sur mon serveur NUC Intel i3-5010U, 8Go de Ram.
J'ai installé avec succès la version 8.2.2
de Proxmox sur mon Serveur NUC i3.
J'ai copié l'image ISO de Proxmox sur une clé USB.
J'ai branché un clavier et un moniteur sur mon Serveur NUC i3 et j'ai suivi la procédure d'installation sans rencontrer de difficulté.
Je peux me connecter au serveur via l'interface web de Proxmox ou directement via ssh.
Prochaine étape : déployer une Virtual instance Ubuntu LTS.
Journal du mercredi 02 octobre 2024 à 10:04
#JaiDécouvert Sourcebot (from) :
Sourcebot is an open-source code search tool that allows you to quickly search across many large codebases.
C'est une alternative à Sourcegraph.
Je suis ravi de voir qu'il existe de plus en plus d'alternatives communautaires à GitHub ou GitLab, comme Forgejo, Weblate, Woodpecker CI et maintenant Sourcebot.
Journal du mercredi 02 octobre 2024 à 09:55
#JaiDécouvert Kamal Proxy (from) « A minimal HTTP proxy for zero-downtime deployments » codé en Golang. Un projet Basecamp qui fonctionne avec kamal.
Cela attire ma curiosité, parce que la semaine dernière, je réfléchissais comment implémenter la fonctionnalité Skew Protection en self hosted, voir aussi 2023-07-04_1735.
Journal du mardi 01 octobre 2024 à 12:10
#OnMaPartagé un projet de KVM nommé : NanoKVM.
J'ai très envie d'en acheter un !
Journal du mardi 10 septembre 2024 à 17:55
Un ami m'a partagé Reclaim-the-Stack. J'aime bien l'initiative, mais pour mes besoins spécifiques, qui sont bien plus modestes, je préfère opter pour une solution plus minimaliste, comme Kamal.
Journal du lundi 09 septembre 2024 à 15:59
Dans cette note, je souhaite présenter ma doctrine de mise à jour d'OS de serveurs.
Je ne traiterai pas ici de la stratégie d'upgrade pour un Cluster Kubernetes.
La mise à jour d'un serveur, par exemple, sous un OS Ubuntu LTS, peut être effectuée avec les commandes suivantes :
sudo apt upgrade -y
- ou
sudo apt dist-upgrade -y
(plus risqué) - ou
sudo do-release-upgrade
(encore plus risqué)
L'exécution d'un sudo apt upgrade -y
peut :
- Installer une mise à jour de docker, entraînant une interruption des services sur ce serveur de quelques secondes à quelques minutes.
- Installer une mise à jour de sécurité du kernel, nécessitant alors un redémarrage du serveur, ce qui entraînera une coupure de quelques minutes.
Une montée de version de l'OS via sudo do-release-upgrade
peut prendre encore plus de temps et impliquer des ajustements supplémentaires.
Bien que ces opérations se déroulent généralement sans encombre, il n'y a jamais de certitude totale, comme l'illustre l'exemple de la Panne informatique mondiale de juillet 2024.
Sachant cela, avant d'effectuer la mise à jour d'un serveur, j'essaie de déterminer quelles seraient les conséquences d'une coupure d'une journée de ce serveur.
Si je considère que ce risque de coupure est inacceptable ou ne serait pas accepté, j'applique alors la méthode suivante pour réaliser mon upgrade.
Je n'effectue pas la mise à jour le serveur existant. À la place, je déploie un nouveau serveur en utilisant mes scripts automatisés d'Infrastructure as code / GitOps.
C'est pourquoi je préfère éviter de nommer les serveurs d'après le service spécifique qu'ils hébergent (voir aussi Pets vs Cattle). Par exemple, au lieu de nommer un serveur gitlab.servers.example.com
, je vais le nommer server1.servers.example.com
et configurer gitlab.servers.example.com
pour pointer vers server1.servers.example.com
.
Ainsi, en cas de mise à jour de server1.servers.example.com
, je crée un nouveau serveur nommé server(n+1).servers.example.com
.
Ensuite, je lance les scripts de déploiement des services qui étaient présents sur server1.servers.example.com
.
Idéalement, j'utilise mes scripts de restauration des données depuis les sauvegardes des services de server1.servers.example.com
, ce qui me permet de vérifier leur bon fonctionnement.
Ensuite, je prépare des scripts rsync
pour synchroniser rapidement les volumes entre server1.servers.example.com
et server(n+1).servers.example.com
.
Je teste que tout fonctionne bien sur server(n+1).servers.example.com
.
Si tout fonctionne correctement, alors :
- J'arrête les services sur
server(n+1).servers.example.com
; - J'exécute le script de synchronisation
rsync
deserver1.servers.example.com
versserver(n+1).servers.example.com
; - Je relance les services sur
server(n+1).servers.example.com
- Je modifie la configuration DNS pour faire pointer les services de
server1.servers.example.com
versserver(n+1).servers.example.com
- Quelques jours après cette intervention, je décommissionne
server1.servers.example.com
.
Cette méthode est plus longue et plus complexe qu'une mise à jour directe de l'OS sur le server1.servers.example.com
, mais elle présente plusieurs avantages :
- Une grande sécurité ;
- L'opération peut être faite tranquillement, sans stress, avec de la qualité ;
- Une durée de coupure limitée et maîtrisée ;
- La possibilité de confier la tâche en toute sécurité à un nouveau DevOps ;
- La garantie du bon fonctionnement des scripts de déploiement automatisé ;
- La vérification de l'efficacité des scripts de restauration des sauvegardes ;
- Un test concret des scripts et de la documentation du Plan de reprise d'activité.
Si le serveur à mettre à jour fonctionne sur une Virtual instance, il est également possible de cloner la VM et de tester la mise à niveau. Cependant, je préfère éviter cette méthode, car elle ne permet pas de valider l'efficacité des scripts de déploiement.
Journal du mardi 27 août 2024 à 14:23
#JaiLu en partie le thread Hacker News Dokku: My favorite personal serverless platform.
- https://github.com/skateco/skate
- dokploy
- kamal
- ptah.sh (sous licence fair source)
J'ai apprécié ce tableau de comparaison de fonctionnalités entre dokploy, CapRover, Dokku et Coolify.
C'est la ligne "Docker compose support" qui a attiré mon attention.
Je reste très attaché au support de docker compose qui je trouve est une spécification en même temps simple, complète et flexible qui ne m'a jamais déçu ces 9 dernières années.
Attention, je n'ai pas bien compris si Dokku est réellement open source ou non 🤔.
Je constate que Dokploy est basé sur Docker Swarm.
Dokploy leverages Docker Swarm to orchestrate and manage container deployments for your applications, providing an intuitive interface for monitoring and control.
-- from
Choix qui me paraît surprenant puisque Docker Swarm est officieusement déprécié.
Je me suis demandé si K3s pourrait être une alternative à Docker Swarm 🤔.
Journal du mardi 30 juillet 2024 à 16:33
Free and Open Source Machine Translation API. Self hosted, offline capable and easy to setup.
Qui utilise Argos Translate :
Open Source offline translation library written in Python.
Qui utilise OpenNMT.
Open source ecosystem for neural machine translation and neural sequence learning.
#JeMeDemande quelle est la différence en termes de qualité de traduction et de consommation d'énergie entre la technologie OpenNMT et les modèles de langage classiques tels que Llama 🤔.
Un ami m'a dit que DeepL utilise un Neural Machine Translation. Ce que semble confirmer cette source.
Journal du mercredi 01 mai 2024 à 16:06
Je suis en train de lire la documentation de dotenv-vault, j'ai beau relire plusieurs fois cette documentation, je n'arrive pas à comprendre où est stocker la configuration 🤔.
5 minutes après, je pense avoir compris, la libraire dotenv-vault est basé sur le service SaaS https://www.dotenv.org/.
5 minutes après, #JaiLu Dotenv Vault vs Infisical | Dotenv.
Journal du jeudi 25 avril 2024 à 20:44
Le 25 octobre 2020, j'ai commandé et installé un serveur Dedibox (Start-2-S-SSD
- Intel® C2350 (Avoton)
- 4 GB DDR3
- 1x 120 GB SSD
) que j'ai nommé perier
Position du serveur : Datacenter: AMS1, Room: Hall 6 12, Rack: 6.12.53, Block: C, Position: 8
.
Prix de cette machine : 5,48 € TCC par mois, 66 € / an.
Coût total entre octobre 2020 et avril 2024 : 42 mois x 5,48 € = 230 €.
Aucune panne, pendant 42 mois.
J'utilisais cette machine principalement pour du stockage web statique.
J'y hébergeais https://sklein.xyz.
Ce jeudi 25 avril 2024, cette machine est tombée en panne, réponse du support :
Navré de la situation, il s'agit d'une erreur matérielle qui ne permet pas la récupération de données. Pourriez-vous vérifier l'état de vos sauvegardes.
Chose surprenante, le même modèle de serveur de mon ami AM a, lui aussi, une panne matérielle, exactement au même moment que moi.
Autre chose surprenante, la panne est tombée le même jour que cet incident déclaré sur https://status.scaleway.com/ :
[DEDIBOX] - Switch down in AMS1 Hall 6 rack B53
Resolved - This incident is resolved
Apr 25, 14:28 CEST
Investigating - Dedibox switch located in AMS1 Hall 6 rack B53 is currently down
Apr 25, 10:20 CEST
Le support m'a dit qu'il n'y a aucun lien entre cette panne et la panne matérielle de mon serveur.
J'en doute 🤔.
Je ne suis pas surpris de cette panne, d'après mes souvenirs, cette machine était reconditionnée, très vieille, j'avais bien conscience qu'une panne pouvait arriver à tout moment.
C'est la première fois que j'ai ce type de panne définitive depuis que j'utilise des serveurs dédiés Dedibox Scaleway, depuis 2006.
Au passage, j'ai perdu tout mon contenu de https://stats.sklein.xyz/
Journal du vendredi 28 janvier 2022 à 20:00
J'ai acheté un Serveur NUC i3 d'occasion pour 150 € sur LeBonCoin, avec pour objectif de l'utiliser comme serveur Homelab.
Je prévois d'y installer Proxmox pour déployer des Virtual Instances.
openITCOCKPIT is an Open Source system monitoring tool built for different monitoring engines like Nagios, Naemon and Prometheus.
Dépôt GitHub : https://github.com/it-novum/openITCOCKPIT
ntfy lets you send push notifications to your phone or desktop via scripts from any computer, using simple HTTP PUT or POST requests. I use it to notify myself when scripts fail, or long-running commands complete.
Documentation : https://docs.ntfy.sh/
Voir aussi Gotify.
The self-hosted search, analysis, and alerting server built for structured logs and traces.
Site officiel : https://datalust.co/seq
Open Source Self Hosted Password Manager for Companies
Secure self-hosted solution for businesses
Site officiel : https://psono.com/
GitHub : https://github.com/sipeed/NanoKVM
Site web : https://sipeed.com/nanokvm
Fully open source, End to End Encrypted alternative to Google Photos and Apple Photos
Gotify est un logiciel de Messagerie push.
A simple server for sending and receiving messages in real-time per WebSocket. (Includes a sleek web-ui)
Site officiel : https://gotify.net/
Dépôt GitHub : https://github.com/gotify/server
Voir aussi : ntfy
Site officiel : https://caprover.com/
CapRover utilise Docker Swarm.
DomainMOD is a self-hosted open-source application used to manage your domain name and other Internet assets in a central location.
Projet GH-271 - Installer Proxmox sur mon serveur NUC Intel i3-5010U, 8Go de Ram
Ce projet a été initialement commencé dans une issue le 27 juillet 2023.
Objectifs :
- [x] Installer Proxmox sur Serveur NUC i3 (voir note 2024-10-09_2352).
- [x] Via la GUI, effectuer un déploiement d'une VM basé sur Ubuntu Cloud Image version LTS (voir note 2024-10-27_2109).
- [x] Je souhaite arriver à installer des packages additionnels Ubuntu au moment du déploiement des Virtual instance en utilisant cloud-init.
- [x] Je souhaite arrive à effectuer un déploiement d'une Virtual instance via cli de Proxmox
- [ ] Je souhaite arrive à effectuer un déploiement d'une Virtual instance via cli de Terraform
Je souhaite documenter mes apprentissages dans des notes.
Ressources :
Dernière page.