16 draft L2

Expose service public — Traefik endor

OS Cible
Progression 0% 0 / 8

Contexte

Exposer un service interne via Traefik endor en public *.sta4ck.eu (avec Authentik forward-auth optionnel).

Actions

8
  • Contexte 1 cmd
    $ Commandes
    $ Internet → DNS *.sta4ck.eu → IP publique → Box SFR forward 443 → OPNsense WAN → DNAT vers endor:443 → Traefik endor → backend interne (tatooine:port ou autre VM)
  • Prérequis 1 cmd 1 verify
    $ Commandes
    $ curl -sk https://mariage-as.sta4ck.eu/ -o /dev/null -w "%{http_code}\n"
    ✓ Vérifications
    dig +short mariage-as.sta4ck.eu (doit retourner IP publique)
  • Exposer un service 1 cmd 1 verify
    $ Commandes
    $ task expose NAME=jellyfin BACKEND=http://10.0.2.50:8096
    ✓ Vérifications
    curl -kI https://jellyfin.sta4ck.eu/ | head -1
  • Avec Authentik SSO 1 cmd 1 verify
    $ Commandes
    $ task expose NAME=jellyfin BACKEND=http://10.0.2.50:8096 AUTH=authentik
    ✓ Vérifications
    curl -kI https://jellyfin.sta4ck.eu/ | grep -i location | grep -i authentik
  • Retirer service exposé 1 cmd 1 verify
    $ Commandes
    $ task unexpose NAME=jellyfin
    ✓ Vérifications
    curl -sk https://jellyfin.sta4ck.eu/ --max-time 3 (doit timeout / 404)
  • Lister services exposés 1 cmd 1 verify
    $ Commandes
    $ ssh sacha@endor 'ls /opt/traefik/dynamic/*.yml'
    ✓ Vérifications
    ssh sacha@endor 'curl -s http://localhost:8080/api/http/routers | jq ".[].name"'
  • Debug Traefik endor 1 cmd 1 verify
    $ Commandes
    $ ssh sacha@endor 'docker logs traefik --tail 50 | grep -iE "error|cert"' ssh sacha@endor 'docker logs traefik | grep -i "<NAME>.sta4ck.eu"'
    ✓ Vérifications
    ssh sacha@endor 'docker exec traefik traefik healthcheck'
  • Renouvellement cert Let's Encrypt 1 cmd 1 verify
    $ Commandes
    $ ssh sacha@endor 'docker exec traefik rm /etc/traefik/acme.json && docker restart traefik'
    ✓ Vérifications
    ssh sacha@endor 'docker logs traefik --tail 20 | grep -i acme'