Déploiement parallèle de RSSHub en production
Ce que cette phase prouve
RSSHub est la première vraie charge applicative du VPS. Il possède un nom HTTPS public, une route réelle fonctionnelle, un contrôle d’accès et une supervision, mais reste un déploiement parallèle car aucun consommateur de production n’a migré :
Canari public
`-- HTTPS -> Caddy -> infra-edge -> RSSHub du VPS
consommateur de feeds existant
`-- RSSHub local -> production actuelle et solution de repli
Le chemin serveur est donc prouvé avant que la phase 4 ne change le consommateur. Une instance parallèle défaillante peut quitter l’entrée publique sans interrompre le consommateur existant.
Carte des responsabilités
| Composant | Responsabilité | Ce qu’il ne fait pas |
|---|---|---|
| DNS faisant autorité | Résoudre le sous-domaine RSS vers le VPS | Ne mandate pas l’application et ne gère pas les conteneurs |
| Caddy | Posséder 80/443, TLS, les redirections et le proxy | Ne stocke pas l’ACCESS_KEY brute de RSSHub |
infra-edge | Relier Caddy et RSSHub et fournir la découverte de service | Ne publie pas le port 1200 sur l’hôte ou Internet |
| RSSHub | Récupérer les sources, produire RSS et protéger les vraies routes | Ne stocke pas les données du consommateur |
| Uptime Kuma | Vérifier /healthz publiquement sans clé | Ne contient pas l’ACCESS_KEY et n’expose pas son interface |
| RSSHub local | Continuer à servir le consommateur actuel | N’est ni arrêté ni supprimé en phase 3 |
Le chemin public est :
rss.example.com
|
v
Caddy :80/:443
|
v
infra-edge
|
v
rsshub-prod:1200
Seul Caddy publie des ports d’hôte. Le 1200/tcp de RSSHub reste dans Docker ; ni l’adresse publique ni l’adresse Tailscale de l’hôte ne l’accepte directement.
Pourquoi l’architecture reste minimale
La route Bilibili représentative produisait déjà un RSS valide et non vide sur l’instance locale sans Redis, Browserless ni Chromium. Le VPS démarre donc avec le même minimum :
- image RSSHub officielle épinglée par digest immuable ;
CACHE_TYPE=memory;- aucun Redis ;
- aucun Browserless ou Chromium ;
- aucune base ni volume de données applicatives.
La présence d’un service facultatif dans un exemple amont ne prouve pas qu’un nœud personnel en a besoin. On ne l’ajoute qu’après qu’une route requise a démontré cette dépendance.
Fichiers et frontière des secrets
/srv/rsshub/