Skip to main content

Problèmes rencontrés + troubleshooting

Problèmes rencontrés et solutions

1. ❌ Tentative initiale : Kubernetes (K3s)

Problème : Communication réseau entre pods impossible

  • Erreur : SQLSTATE[HY000] [2002] No such file or directory
  • Cause : Module kernel nf_conntrack manquant
  • Erreur K3s : Extension conntrack is not supported, missing kernel module?

Tentative de solution :

sudo modprobe nf_conntrack
sudo modprobe br_netfilter  # Module non disponible sur AlmaLinux 10

Il y a des soucis avec AlamaLinux 10 et K3S, je reviendrai dessus quand j'aurais le temps. Décision : Abandon de K3s au profit de Podman Compose (plus simple, moins de ressources)


2. ❌ Problème : Communication réseau entre containers Podman

Erreur : nc: getaddrinfo for host "bookstack-mariadb" port 3306: Try again

Cause : nftables bloque le trafic entre containers

Solution : Ajouter des règles nftables pour autoriser le subnet Podman

# Trouver le subnet Podman
podman network inspect bookstack_default | grep -i subnet
# Exemple de résultat : 5.1.0.0/24

# Ajouter les règles nftables
sudo nft add rule inet filter input ip saddr 5.1.0.0/24 accept
sudo nft add rule inet filter forward ip saddr 5.1.0.0/24 accept
sudo nft add rule inet filter forward ip daddr 5.1.0.0/24 accept

# Sauvegarder
sudo nft list ruleset | sudo tee /etc/nftables/ruleset.nft

Note importante : Docker et nftables ont des conflits connus. Podman gère mieux nftables mais nécessite quand même des règles explicites.


3. ❌ Problème : Erreurs d'authentification MariaDB

Erreur : ERROR 1045 (28000): Access denied for user 'bookstack'@'X.X.X.X' (using password: YES)

Causes multiples :

  1. Volumes persistants gardant les anciens mots de passe
  2. Incohérence entre MYSQL_USER et DB_USERNAME
  3. Caractères spéciaux (!) mal échappés dans les mots de passe

Solution finale :

# 1. Arrêter et supprimer complètement les volumes
cd ~/bookstack
podman-compose down
podman volume rm -f bookstack_bookstack-db-data bookstack_bookstack-config

# 2. Vérifier que les volumes sont supprimés
podman volume ls | grep bookstack

# 3. Utiliser des mots de passe simples (sans caractères spéciaux)
# Voir docker-compose.yml ci-dessous

4. ❌ Problème : APP_KEY bookstack manquant

Erreur : The application key is missing, halting init!

Solution : Générer et ajouter l'APP_KEY

# Générer la clé
APP_KEY=$(podman run --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey | tr -d '\r')

# Afficher pour vérification
echo "APP_KEY: $APP_KEY"

# L'ajouter dans docker-compose.yml sous environment de bookstack

5. ❌ Problème : Certificat SSL ne couvre pas wiki.sanjy.fr

Erreur : SSL: no alternative certificate subject name matches target hostname

Solution : Étendre le certificat existant

sudo certbot certonly --nginx \
  -d sanjy.fr \
  -d www.sanjy.fr \
  -d jenkins.sanjy.fr \
  -d wiki.sanjy.fr \
  --expand

Alternative : Certificat wildcard (recommandé pour plusieurs sous-domaines mais je préfère être exhaustif et être sur de fournir un certif pour chaque sous domaine)

sudo certbot certonly --manual --preferred-challenges dns \
  -d "*.sanjy.fr" -d "sanjy.fr"

Troubleshooting

Les containers ne démarrent pas

# Vérifier les logs
podman-compose logs

# Vérifier les volumes
podman volume ls

# Supprimer et recréer
podman-compose down
podman volume rm bookstack_bookstack-db-data bookstack_bookstack-config
podman-compose up -d

Erreur d'authentification MariaDB

Solution : Supprimer complètement les volumes et recréer

podman-compose down
podman volume rm -f bookstack_bookstack-db-data bookstack_bookstack-config
podman-compose up -d

Erreur 502 Bad Gateway sur Nginx

# Vérifier que BookStack tourne
podman-compose ps

# Vérifier SELinux
sudo setsebool -P httpd_can_network_connect 1

# Vérifier les logs Nginx
sudo tail -f /var/log/nginx/error.log

Problème de réseau entre containers

# Vérifier les règles nftables
sudo nft list ruleset | grep 10.89

# Tester la connexion
podman exec -it bookstack ping bookstack-db
podman exec -it bookstack nc -zv bookstack-db 3306