deploy: fix DEPLOY.md path, add .gitignore entries
This commit is contained in:
12
.gitignore
vendored
12
.gitignore
vendored
@@ -1,10 +1,10 @@
|
|||||||
node_modules/
|
|
||||||
dist/
|
|
||||||
.astro/
|
|
||||||
.DS_Store
|
|
||||||
*.log
|
*.log
|
||||||
|
.DS_Store
|
||||||
|
.astro/
|
||||||
.env
|
.env
|
||||||
.env.local
|
|
||||||
.env.*.local
|
.env.*.local
|
||||||
.vscode/
|
.env.local
|
||||||
.idea/
|
.idea/
|
||||||
|
.vscode/
|
||||||
|
dist/
|
||||||
|
node_modules/
|
||||||
|
|||||||
26
DEPLOY.md
26
DEPLOY.md
@@ -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
|
- `node` ≥ 20 et `npm` installés en local
|
||||||
- Accès SSH à `floppyrj45@192.168.0.82`
|
- Accès SSH à `floppyrj45@192.168.0.82`
|
||||||
- Le dossier `/srv/www/nowyousea/` existe sur la VM cible et appartient à `floppyrj45`
|
- Le dossier **`/docker/caddy/www/nowyousea/`** existe sur la VM cible et appartient
|
||||||
(ou est accessible en écriture). Si ce n'est pas le cas :
|
à `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
|
```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
|
- 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
|
# Dry-run — affiche ce qui serait copié, ne touche à rien
|
||||||
rsync -avz --delete --dry-run \
|
rsync -avz --delete --dry-run \
|
||||||
./dist/ \
|
./dist/ \
|
||||||
floppyrj45@192.168.0.82:/srv/www/nowyousea/
|
floppyrj45@192.168.0.82:/docker/caddy/www/nowyousea/
|
||||||
|
|
||||||
# Réel
|
# Réel
|
||||||
rsync -avz --delete \
|
rsync -avz --delete \
|
||||||
./dist/ \
|
./dist/ \
|
||||||
floppyrj45@192.168.0.82:/srv/www/nowyousea/
|
floppyrj45@192.168.0.82:/docker/caddy/www/nowyousea/
|
||||||
```
|
```
|
||||||
|
|
||||||
Notes :
|
Notes :
|
||||||
@@ -65,7 +69,7 @@ Script one-liner pratique (build + push) :
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm run build && \
|
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
|
## 4. Configuration Caddy
|
||||||
@@ -79,7 +83,7 @@ handle /nowyousea {
|
|||||||
redir /nowyousea/ 307
|
redir /nowyousea/ 307
|
||||||
}
|
}
|
||||||
handle_path /nowyousea/* {
|
handle_path /nowyousea/* {
|
||||||
root * /srv/www/nowyousea
|
root * /docker/caddy/www/nowyousea
|
||||||
file_server {
|
file_server {
|
||||||
index index.html
|
index index.html
|
||||||
}
|
}
|
||||||
@@ -91,9 +95,9 @@ Explications :
|
|||||||
- `handle /nowyousea` : si un visiteur arrive sans slash final, il est redirigé
|
- `handle /nowyousea` : si un visiteur arrive sans slash final, il est redirigé
|
||||||
vers `/nowyousea/` pour que les liens relatifs fonctionnent.
|
vers `/nowyousea/` pour que les liens relatifs fonctionnent.
|
||||||
- `handle_path /nowyousea/*` : retire le préfixe `/nowyousea/` avant de servir
|
- `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
|
`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.
|
- `file_server { index index.html }` : sert `index.html` par défaut à la racine.
|
||||||
|
|
||||||
Après modification du Caddyfile :
|
Après modification du Caddyfile :
|
||||||
@@ -120,14 +124,14 @@ Avant un déploiement risqué, faire un snapshot :
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
ssh floppyrj45@192.168.0.82 \
|
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 :
|
Pour restaurer :
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ssh floppyrj45@192.168.0.82 \
|
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/'
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user