Générateur de CV auto-hébergé : un éditeur web pour saisir votre CV, un aperçu en direct, plusieurs thèmes modernes et un export PDF fidèle (format A4). Une seule personne (vous) édite ; le CV est consultable en ligne.
Dans un dossier vide, créez docker-compose.yml :
services:
web:
image: jlequen1/cursus:latest # ou une version figée, p. ex. :1.0
container_name: cursus
ports:
- "${APP_PORT:-63546}:3000"
environment:
DATABASE_URL: "file:/app/data/cv.db"
DATA_DIR: "/app/data"
INTERNAL_BASE_URL: "http://127.0.0.1:3000"
AUTH_SECRET: "${AUTH_SECRET:?Définis AUTH_SECRET dans .env (openssl rand -hex 32)}"
ADMIN_EMAIL: "${ADMIN_EMAIL:[email protected]}"
ADMIN_PASSWORD: "${ADMIN_PASSWORD:-changeme-please}"
PUBLIC_BASE_URL: "${PUBLIC_BASE_URL:-http://localhost:63546}"
volumes:
- cv-data:/app/data
# Optionnel — vos thèmes perso (les thèmes intégrés sont déjà dans l'image) :
# - ./themes:/app/themes
restart: unless-stopped
volumes:
cv-data:
…et un .env à côté :
APP_PORT=63546
AUTH_SECRET=remplace-par-un-secret-aleatoire-long # openssl rand -hex 32
[email protected]
ADMIN_PASSWORD=un-mot-de-passe-solide
PUBLIC_BASE_URL=http://localhost:63546
Puis :
docker compose up -d
Ouvrez http://localhost:63546 et connectez-vous avec ADMIN_EMAIL / ADMIN_PASSWORD.
| Tag | Description |
|---|---|
latest | Dernière version stable (suit les mises à jour) |
1.0 | Version figée (recommandé en production pour la stabilité) |
Mise à jour (si :latest) : docker compose pull && docker compose up -d.
| Variable | Défaut | Rôle |
|---|---|---|
APP_PORT | 63546 | Port exposé sur l'hôte (interne : 3000) |
AUTH_SECRET | — | Secret de session JWT — obligatoire (openssl rand -hex 32) |
ADMIN_EMAIL | [email protected] | Login de l'éditeur (créé au 1er démarrage) |
ADMIN_PASSWORD | changeme-please | Mot de passe initial (à changer ensuite dans l'app) |
PUBLIC_BASE_URL | http://localhost:63546 | URL publique (liens canoniques + rendu PDF) |
Les chemins internes (DATABASE_URL, THEMES_DIR, BUILTIN_THEMES_DIR,
CHROMIUM_PATH, PORT…) sont déjà intégrés dans l'image.
Tout (base SQLite + photos) vit dans le volume cv-data : les données
survivent à down / up / pull. Sauvegarde rapide depuis l'app : Compte →
Exporter en JSON.
Les thèmes intégrés sont livrés dans l'image (mis à jour avec elle). Pour vos
thèmes perso, montez un dossier sur /app/themes : un thème de même
identifiant remplace l'intégré, sans rebuild (rechargez la page).
AUTH_SECRET et ADMIN_PASSWORD.PUBLIC_BASE_URL = votre URL HTTPS.Content type
Image
Digest
sha256:7777f40d1…
Size
621 MB
Last updated
4 months ago
docker pull jlequen1/cursus