Container nginx dédié, rattaché au réseau Docker de n8n pour réutiliser Traefik/Let's Encrypt déjà en place. Config versionnée dans deploy/. APP_BASE_URL configurée sur les Edge Functions pour le CORS. Testé en conditions réelles : upload invité + galerie admin fonctionnels depuis le domaine public.
34 lines
1.6 KiB
Markdown
34 lines
1.6 KiB
Markdown
# 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/<slug>` et
|
|
`/admin/<slug>` 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@<IP_VPS>:~/photobooth-qr/site/
|
|
# Recréer les config.js réels sur le VPS s'ils ont été écrasés par le scp
|
|
ssh kevin@<IP_VPS> "cd ~/photobooth-qr && docker compose restart photobooth-front"
|
|
```
|
|
|
|
Aucun rebuild d'image nécessaire — c'est un bind-mount, nginx sert les
|
|
fichiers directement.
|