# VPS check — NAV V2 prérequis Date : 2026-04-14 --- ## NocoDB - **Version exacte** : `0.301.5` (release `2026.04.0`) - **Image Docker** : `nocodb/nocodb:latest` (tag latest, mais version réelle récupérée via API) - **Port interne** : `8080` → mappé sur `8070` en externe - **API version à utiliser** : **v1.x** (confirmé : `http://localhost:8080/api/v1/version` répond correctement) - **Table IDs connues** (depuis `/opt/nav-carte/.env`) : - `NUXT_ORG_TABLE_ID=m08t7g5v4wch6wb` - `NUXT_AVIS_TABLE_ID=m4hub7cdutgec47` - **Implications pour le dev** : - API v1 (NocoDB >= 0.100.x) — utiliser `/api/v1/db/data/noco/{baseId}/{tableId}` - Auth via token API (à récupérer dans NocoDB Settings > Tokens) - Doc officielle v1 : https://docs.nocodb.com/developer-resources/rest-APIs/overview --- ## Listmonk SMTP - **Provider** : Resend - **Host** : `smtp.resend.com` - **Port** : `465` - **TLS** : oui (SSL implicite sur 465) - **Username** : `resend` - **From email** : `newsletter@trans-former.fr` - **From name** : `Jules Neny` - **Password** : **stocké dans** `/opt/vps-kit/.env` (variable `SMTP_PASSWORD`) Jules : récupère-le avec : ```bash ssh vps-hetzner "grep SMTP_PASSWORD /opt/vps-kit/.env" ``` - **Réutilisation dans NAV V2** : OUI — utiliser directement les mêmes credentials Resend en SMTP - Alternative légère : utiliser l'**API HTTP Resend** (plus simple qu'SMTP dans un worker Python/Node) - API key Resend dans `/opt/vps-kit/.env` variable `RESEND_API_KEY` (à vérifier) ```bash ssh vps-hetzner "grep -i resend /opt/vps-kit/.env | grep -v SMTP" ``` --- ## NAV V1 — Deploy path - **Chemin** : `/opt/nav-carte/` - **Type** : Build Nuxt statique (pas de container Docker — `.output/` présent) - **Config** : `/opt/nav-carte/.env` - `NUXT_NOCODB_URL=http://localhost:8070` - Table IDs ci-dessus - **Pas de docker-compose** — servi probablement via Caddy ou node process direct --- ## Bonus infra - **Espace disque** : 38 GB total / **9.7 GB libre** (73% utilisé — attention) - **RAM** : 7.5 GB total / 4.7 GB disponible (cache inclus) — correct - **Swap** : 2 GB / 1.3 GB libre - **crawl4ai installé** : **non** (ni container Docker, ni pip global) ### Stack Docker actif | Container | Image | Port externe | |-----------|-------|-------------| | nocodb | nocodb/nocodb:latest | 8070 | | astro-site | astro-site | 8090 | | listmonk | listmonk/listmonk:v4.1.0 | 9000 | | n8n | n8nio/n8n:1.40.0 | 5678 | | coolify | coolify:4.0.0-beta.470 | 8000 | | castopod | castopod:1.15.5 | 8081 | | gitea | gitea:latest | 3030 | | heyform | heyform community | 3000 | | umami | umami:postgresql-v2.13.2 | 3001 | | uptime-kuma | uptime-kuma:1.23.13 | 3002 | --- ## Recommandations pour NAV V2 - [x] **SMTP réutilisable : OUI** — Resend `smtp.resend.com:465`, username `resend`, from `newsletter@trans-former.fr`. Password dans `/opt/vps-kit/.env` - [x] **NocoDB API à utiliser : v1.x** — endpoint `/api/v1/db/data/noco/{baseId}/{tableId}` avec token API - [x] **crawl4ai : à installer** — pas présent sur le VPS. Option A : `docker run unclecode/crawl4ai` (container léger). Option B : `pip install crawl4ai` dans un venv Python sur le VPS. - [x] **Espace disque : surveiller** — 9.7 GB libre. Si le worker NAV V2 génère des logs/cache, prévoir rotation. - [x] **Alternative SMTP recommandée** : utiliser l'**API HTTP Resend** directement (pas SMTP) — plus fiable, pas de timeouts TLS, même provider. ```python import resend resend.api_key = "re_..." resend.Emails.send({"from": "newsletter@trans-former.fr", "to": ["jules@..."], ...}) ``` ### Actions manuelles requises (Jules) 1. **Récupérer le SMTP password Resend** : ```bash ssh vps-hetzner "grep SMTP_PASSWORD /opt/vps-kit/.env" ``` 2. **Récupérer le token API NocoDB** (pour le worker NAV V2) : - Aller sur `http://[VPS]:8070` → Settings → API Tokens → créer un token `nav-v2-worker` 3. **Vérifier si une API key Resend existe** (alternative plus propre que SMTP) : ```bash ssh vps-hetzner "grep -i resend /opt/vps-kit/.env" ```