deploy: fix DEPLOY.md path, add .gitignore entries

This commit is contained in:
2026-04-21 07:51:54 +00:00
parent 1de2f6cefd
commit 3e74478f7b
2 changed files with 21 additions and 17 deletions

12
.gitignore vendored
View File

@@ -1,10 +1,10 @@
node_modules/
dist/
.astro/
.DS_Store
*.log
.DS_Store
.astro/
.env
.env.local
.env.*.local
.vscode/
.env.local
.idea/
.vscode/
dist/
node_modules/

View File

@@ -7,11 +7,15 @@ Ce document décrit comment publier le site vitrine NowYouSea sur la VM
- `node` ≥ 20 et `npm` installés en local
- Accès SSH à `floppyrj45@192.168.0.82`
- Le dossier `/srv/www/nowyousea/` existe sur la VM cible et appartient à `floppyrj45`
(ou est accessible en écriture). Si ce n'est pas le cas :
- Le dossier **`/docker/caddy/www/nowyousea/`** existe sur la VM cible et appartient
à `floppyrj45`. **⚠ Piège :** le container caddy bind-mount le chemin host
`/docker/caddy/www` sur `/srv/www` (chemin interne). La config Caddy dit donc
`root * /srv/www/nowyousea` (chemin container) mais le rsync réel se fait vers
`/docker/caddy/www/nowyousea/` sur l'hôte. Ne pas confondre avec `/srv/www/`
directement (existe sur l'hôte mais n'est PAS servi par Caddy).
```bash
ssh floppyrj45@192.168.0.82 'sudo mkdir -p /srv/www/nowyousea && sudo chown -R floppyrj45:floppyrj45 /srv/www/nowyousea'
ssh floppyrj45@192.168.0.82 'sudo mkdir -p /docker/caddy/www/nowyousea && sudo chown -R floppyrj45:floppyrj45 /docker/caddy/www/nowyousea'
```
- Caddy tourne sur la VM `.82` et expose déjà le domaine
@@ -45,12 +49,12 @@ Commande à copier-coller (dry-run d'abord, puis réel) :
# Dry-run — affiche ce qui serait copié, ne touche à rien
rsync -avz --delete --dry-run \
./dist/ \
floppyrj45@192.168.0.82:/srv/www/nowyousea/
floppyrj45@192.168.0.82:/docker/caddy/www/nowyousea/
# Réel
rsync -avz --delete \
./dist/ \
floppyrj45@192.168.0.82:/srv/www/nowyousea/
floppyrj45@192.168.0.82:/docker/caddy/www/nowyousea/
```
Notes :
@@ -65,7 +69,7 @@ Script one-liner pratique (build + push) :
```bash
npm run build && \
rsync -avz --delete ./dist/ floppyrj45@192.168.0.82:/srv/www/nowyousea/
rsync -avz --delete ./dist/ floppyrj45@192.168.0.82:/docker/caddy/www/nowyousea/
```
## 4. Configuration Caddy
@@ -79,7 +83,7 @@ handle /nowyousea {
redir /nowyousea/ 307
}
handle_path /nowyousea/* {
root * /srv/www/nowyousea
root * /docker/caddy/www/nowyousea
file_server {
index index.html
}
@@ -91,9 +95,9 @@ Explications :
- `handle /nowyousea` : si un visiteur arrive sans slash final, il est redirigé
vers `/nowyousea/` pour que les liens relatifs fonctionnent.
- `handle_path /nowyousea/*` : retire le préfixe `/nowyousea/` avant de servir
les fichiers depuis `/srv/www/nowyousea/`. Cela s'aligne exactement avec le
les fichiers depuis `/docker/caddy/www/nowyousea/`. Cela s'aligne exactement avec le
`base: '/nowyousea/'` de la config Astro : les assets sont produits avec
`href="/nowyousea/_astro/..."` et servis depuis `/srv/www/nowyousea/_astro/`.
`href="/nowyousea/_astro/..."` et servis depuis `/docker/caddy/www/nowyousea/_astro/`.
- `file_server { index index.html }` : sert `index.html` par défaut à la racine.
Après modification du Caddyfile :
@@ -120,14 +124,14 @@ Avant un déploiement risqué, faire un snapshot :
```bash
ssh floppyrj45@192.168.0.82 \
'cp -a /srv/www/nowyousea /srv/www/nowyousea.bak.$(date +%Y%m%d-%H%M%S)'
'cp -a /docker/caddy/www/nowyousea /docker/caddy/www/nowyousea.bak.$(date +%Y%m%d-%H%M%S)'
```
Pour restaurer :
```bash
ssh floppyrj45@192.168.0.82 \
'rsync -a --delete /srv/www/nowyousea.bak.YYYYMMDD-HHMMSS/ /srv/www/nowyousea/'
'rsync -a --delete /docker/caddy/www/nowyousea.bak.YYYYMMDD-HHMMSS/ /docker/caddy/www/nowyousea/'
```
---