Pourquoi auto-héberger un créateur de CV
Les services SaaS de CV monétisent votre historique professionnel, limitent les modèles ou facturent le téléchargement PDF. Auto-héberger Reactive Resume inverse le modèle : vos CV, vos photos et vos exports restent dans un volume Docker sur votre VPS, exportables à tout moment via l'interface ou l'API REST, et partageables sous votre propre domaine. Aucune limite de modèles, aucun filigrane, aucune dépendance à un abonnement.
Ce que vous obtenez avec un Reactive Resume auto-hébergé
- Éditeur visuel par glisser-déposer dans le navigateur — pas d'application à installer, fonctionne sur n'importe quel appareil.
- Bibliothèque de modèles professionnels compatibles ATS — plusieurs mises en page pour différents secteurs et niveaux d'expérience.
- Export PDF entièrement côté navigateur depuis v5.1.0 — plus de Chrome, Puppeteer ou Browserless côté serveur.
- URL publique du CV — partagez votre profil sur un lien lisible mis à jour en temps réel.
- Plusieurs CV par compte — déclinez des versions par poste ou par langue sans dupliquer le travail.
- REST API — créez et exportez des CV par programme pour l'intégration avec des outils RH.
- Stockage local — les téléversements (photos, images de portfolio) sont écrits dans un volume Docker.
Prérequis
Un VPS ServOrbit avec Ubuntu 24.04 et au moins 1 Go de RAM. L'application Node.js consomme environ 300 Mo au repos et PostgreSQL 16 en utilise 100 à 200 Mo supplémentaires — un VPS de 1 Go suffit pour un usage personnel ou une petite équipe. Docker et Docker Compose sont provisionnés automatiquement par AWX lors du déploiement. Un nom de domaine est requis : Reactive Resume ancre son URL d'authentification (APP_URL) dès le premier démarrage et ne peut pas fonctionner derrière une simple adresse IP.
Déployer Reactive Resume sur votre VPS
Choisir le domaine définitif avant de déployer
Reactive Resume inscrit APP_URL dans les jetons d'authentification et les callbacks OAuth dès le premier démarrage : changer le domaine après coup casse toutes les sessions et nécessite de supprimer le volume PostgreSQL. Créez l'enregistrement DNS de type A — par exemple cv.votre-domaine.tld — et attendez la propagation avant de lancer le déploiement.
Déploiement en un clic depuis la marketplace ServOrbit
Ouvrez votre panneau de contrôle ServOrbit, allez dans Marketplace → Collaboration et productivité → Reactive Resume, saisissez votre domaine et cliquez sur Déployer. AWX installe Docker, génère un secret d'authentification aléatoire, configure nginx avec TLS Let's Encrypt et démarre les deux conteneurs (app + PostgreSQL) en moins de deux minutes.
Créer votre compte et vérifier votre adresse
Naviguez vers https://cv.votre-domaine.tld et cliquez sur Sign Up pour créer votre compte avec e-mail et mot de passe. Si vous n'avez pas configuré de serveur SMTP, le lien de vérification s'affiche dans les journaux Docker : docker compose logs reactive-resume | grep verify. Cliquez sur ce lien pour activer votre compte.
Créer votre premier CV
Cliquez sur le bouton + pour créer un nouveau CV. Choisissez un modèle dans la bibliothèque, renseignez vos sections (Résumé, Expérience, Formation, Compétences) dans le panneau de gauche et visualisez le résultat en temps réel à droite. Cliquez sur Télécharger pour exporter un PDF — la génération est entièrement côté navigateur, sans attente.
Partager votre CV publiquement
Dans les paramètres du CV, activez CV public. Reactive Resume génère une URL partageable — https://cv.votre-domaine.tld/r/votre-nom — qui sert toujours la dernière version de votre document. Partagez ce lien dans vos candidatures plutôt que d'attacher un PDF statique que vous devrez renvoyer à chaque mise à jour.
Le changement majeur de la v5.1.0 : PDF sans serveur d'impression
Jusqu'à la version 5.0, Reactive Resume dépendait de Browserless ou d'un Chromium headless pour générer les PDF côté serveur. Cela représentait 700 Mo à 1 Go de RAM supplémentaires et une dépendance à maintenir. Depuis la v5.1.0, la génération de PDF est réalisée par @react-pdf/renderer, une bibliothèque JavaScript qui s'exécute directement dans le navigateur de l'utilisateur. Le serveur ne voit qu'une requête de sauvegarde du document — aucun Chrome, aucun Puppeteer, aucun service d'impression n'est requis côté infrastructure. C'est ce qui ramène la pile minimale à deux conteneurs légers.
Sauvegarde et portabilité des données
Deux volumes Docker portent l'intégralité de l'instance : reactive_resume_db pour la base PostgreSQL (comptes, CV, paramètres) et reactive_resume_data pour les fichiers téléversés (photos de profil, images de portfolio). Une sauvegarde minimale consiste à copier ces deux volumes via docker run --rm -v reactive_resume_db:/data -v $(pwd):/backup alpine tar czf /backup/db.tar.gz /data. Pour une exportation SQL directe : docker exec db pg_dump -U postgres postgres > backup.sql. Restaurez en montant le volume sur un conteneur PostgreSQL vierge configuré avec la même URL publique.