diff --git a/DOCKER_HUB_OVERVIEW.md b/DOCKER_HUB_OVERVIEW.md new file mode 100644 index 0000000..fc03d46 --- /dev/null +++ b/DOCKER_HUB_OVERVIEW.md @@ -0,0 +1,65 @@ +# CV-Maker + +Application web de création de CV en temps réel : saisie **Markdown** dans un panneau latéral, **preview A4** instantanée, sauvegarde locale automatique et export **PDF** — le tout sans backend, 100 % côté navigateur. + +## Démarrage rapide + +```bash +docker run -d -p 3000:3000 --name cv-maker /cv-maker:latest +# → http://localhost:3000 +``` + +Avec Docker Compose : + +```yaml +services: + cv-maker: + image: /cv-maker:latest + container_name: cv-maker + restart: unless-stopped + ports: + - "3000:3000" + healthcheck: + test: ["CMD", "wget", "-qO-", "http://127.0.0.1:3000"] + interval: 30s + timeout: 5s + retries: 3 + start_period: 10s +``` + +## Fonctionnalités + +- Édition **Markdown** en direct (6 zones + expériences professionnelles) +- **Preview A4** instantanée au format d'impression +- **Export PDF** et **export/import JSON** (`cv-maker.json`) pour partager un CV +- **Sauvegarde automatique** dans le `localStorage` du navigateur — aucune donnée transmise, aucun volume requis +- **PWA installable** : utilisable hors-ligne (`sw.js`, manifest, icônes 192/512) +- Rendu Markdown sécurisé (`marked` + `DOMPurify`, anti-XSS) + +## Détails de l'image + +| Caractéristique | Valeur | +| --- | --- | +| Base | `node:20-alpine` | +| Port exposé | `3000` | +| Variables d'environnement | `HOSTNAME=0.0.0.0`, `PORT=3000`, `NODE_ENV=production` | +| Schéma | Multi-stage (`deps` → `builder` → `runner`), sortie Next.js `standalone` | +| Volume persistant | Aucun — données dans le navigateur (`localStorage`) | +| Commit | `node` comme utilisateur non-root (Next.js standalone) | + +## Tags + +| Tag | Usage | +| --- | --- | +| `latest` | Dernière version stable — déploiements courants | +| `` (ex. `1.0.0`) | Version précise — retours arrière | + +## Réduire / personnaliser + +- **Port** : laisser le conteneur sur `3000`, mapper le port hôte librement (`-p 8080:3000`). +- **HTTP** : image se servant elle-même (pas de serveur externe requis), adaptée derrière un reverse-proxy (Caddy/Nginx). + +## Sources + +- Dockerfile, configuration et documentation technique : dépôt du projet +- Toute donnée saisie reste dans le navigateur — conforme aux exigences de confidentialité (aucun cookie, aucune télémesure) \ No newline at end of file