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_conntrack` manquant
- **Erreur K3s** : `Extension conntrack is not supported, missing kernel module?`
**Tentative de solution** :
```bash
sudo modprobe nf_conntrack
sudo modprobe br_netfilter # Module non disponible sur AlmaLinux 10
```
**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
```bash
# 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'@'10.89.0.5' (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** :
```bash
# 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 manquant
**Erreur** : `The application key is missing, halting init!`
**Solution** : Générer et ajouter l'APP_KEY
```bash
# 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
```bash
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)
```bash
sudo certbot certonly --manual --preferred-challenges dns \
-d "*.sanjyasz.pro" -d "sanjyasz.pro"
```
---