Problèmes que des problèmes
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_conntrackmanquant - 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 :
- Volumes persistants gardant les anciens mots de passe
- Incohérence entre
MYSQL_USERetDB_USERNAME - 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.sanjyasz.pro
Erreur : SSL: no alternative certificate subject name matches target hostname
Solution : Étendre le certificat existant
sudo certbot certonly --nginx \
-d sanjyasz.pro \
-d www.sanjyasz.pro \
-d jenkins.sanjyasz.pro \
-d wiki.sanjyasz.pro \
--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 "*.sanjyasz.pro" -d "sanjyasz.pro"