# Déploiement front — VPS Hostinger Le front (`src/e`, `src/admin`, `src/vendor`) est servi par un container `nginx:alpine` sur le VPS existant (celui de n8n), rattaché au réseau Docker `n8n_default` pour que Traefik (déjà en place pour n8n) puisse le router. - **Domaine** : `photobooth.assistantaikev.eu` (DNS A → IP du VPS, cf. `~/.claude/CLAUDE.md` pour l'IP à jour) - **Emplacement sur le VPS** : `~/photobooth-qr/` (dossier de `kevin`, pas de sudo requis — contrairement à `/docker/n8n/` qui est root) - **Fichiers** : - `docker-compose.yml` (ce dossier) — service `photobooth-front`, labels Traefik pour le routage/SSL (réutilise le certresolver `mytlschallenge` déjà configuré pour n8n) - `nginx-photobooth.conf` (ce dossier) — réécriture `/e/` et `/admin/` vers les `index.html` respectifs - `site/` (non versionné ici, généré à partir de `src/`) — copie de `src/e`, `src/admin`, `src/vendor`, **avec** les vrais `config.js` (gitignorés dans le repo principal, à recréer sur le VPS à partir de `src/e/config.example.js` / `src/admin/gallery/config.example.js`) ## Redéployer après une modification du front Depuis la machine locale (pas besoin de sudo, `kevin` possède le dossier) : ```bash scp -r src/e src/admin src/vendor kevin@:~/photobooth-qr/site/ # Recréer les config.js réels sur le VPS s'ils ont été écrasés par le scp ssh kevin@ "cd ~/photobooth-qr && docker compose restart photobooth-front" ``` Aucun rebuild d'image nécessaire — c'est un bind-mount, nginx sert les fichiers directement.