Plutôt que refaire un énième edit pour ajout outil sur le comment tourne le blog, je vais un petit article sur les dernières installations sur mon serveur.

En bref

Parmi les petites optimisations de l’été, des petits crons pour aller toutes les nuits chercher les nouvelles versions éventuelles de mes containers. Un pull, un build, et du clean derrière.  J’ai réduit les volumes de logs en ajoutant de la rotation. J’en ai profité pour rétablir la page d’admin de Traefik qui reste en 1.7 faute de temps pour migrer toutes les règles de routage. Après Fathom pour traquer léger, j’avais ajouté Hoarder et testé Ollama + N8N sur la machine. Et depuis peu, l’image officielle WordPress a laissé sa place à un petit build PHP8 + Nginx.  Et c’est justement le dernier arrivé : Beszel pour monitorer léger et faire la distinction entre les containers au passage qui m’a permis de mesurer l’impact du changement de serveurs pour les WordPress. Autant dire que l’usage ram a été divisé par 2,5 et que les pics CPU ont disparu.

Beszel

Ce dernier fonctionne en deux parties, un agent et une partie centralisation. L’agent est à déployer sur toutes les machines que l’on souhaite monitorer même si cette partie m’intéresse un peu moins. Et que c’est un par ailleurs un peu plus fastidieux pour qu’un agent sur un autre serveur (ou cloud) arrive jusqu’au container. La partie centralisation fait également office d’interface d’admin et de solution de visualisation.

Via docker-compose il n’y a pas vraiment de complexité pour ne suivre que les containers locaux.

######
beszel:
image: henrygd/beszel:latest
container_name: beszel
restart: unless-stopped
volumes:
- ./beszel_data:/beszel_data
- ./beszel_socket:/beszel_socket
networks:
- frontend
- backend
ports:
- "8090:8090"
labels:
- "traefik.enable=true"
- "traefik.docker.network=frontend"
- "traefik.http.routers.beszel.rule=Host(`${BESZEL_DOMAINS}`)"
- "traefik.frontend.rule=Host:${BESZEL_DOMAINS}"
- "traefik.http.routers.beszel.entrypoints=websecure"
- "traefik.http.routers.beszel.tls.certresolver=letsencrypt"
- "traefik.http.services.beszel.loadbalancer.server.port=8090"
#######
beszel-agent:
image: henrygd/beszel-agent
container_name: beszel-agent
restart: unless-stopped
networks:
- backend
volumes:
- ./beszel_agent_data:/var/lib/beszel-agent
- ./beszel_socket:/beszel_socket
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
LISTEN: 45876
KEY: 'ssh-XXXXX'
TOKEN: 'XXXXXX'
HUB_URL: http://beszel:8090
ENABLE_DOCKER: "true"
DOCKER_GROUP_BY: container

En quelques lignes tout roule tout seul et on arrive rapidement à un affichage aussi épuré que fonctionnel :

Je ne l’ai pas encore testé, mais il y a une partie alerting qui va avec.

 

By tech