Skip to main content

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"
```

---