Installer Reactive Resume avec Docker
Reactive Resume

Installer Reactive Resume avec Docker

Table des matières

Cette idée d'article me vient de NoScah qui me demandait hier soir si j'arrivais à installer cette application avec les tutoriels qu'il y a en ligne.

🐐 Bêêêêêh non.

Moi non plus. Le plus récent tutoriel que nous ayons trouvé datait d'un an. En un an les choses vont vite dans l'informatique. On s'est cassé le cul popotin un bon bout de temps à trouver un docker-compose récent et fonctionnel, c'est pourquoi je voulais le partager avec vous.

Voilà pour la petite histoire.


Reactive Resume, un générateur de CV gratuit et open source qui simplifie le processus de création, de mise à jour et de partage de votre CV.

⚡Caractéristiques

  • Gratuit, pour toujours, et open source
  • Pas de télémétrie, de suivi des utilisateurs ou de publicité
  • Self-hosted
  • Disponible en plusieurs langues
  • Utilisez votre adresse email (ou une adresse jetable) pour créer un compte
  • Vous pouvez également vous connecter avec votre compte GitHub ou Google, et même configurer une authentification à deux facteurs pour plus de sécurité
  • Créez autant de CV que vous le souhaitez sous un seul compte, en optimisant chaque CV pour chaque candidature
  • OpenAI (optionnel): débloquez des fonctionnalités telles que l'amélioration de votre écriture, la correction de l'orthographe et de la grammaire ou la modification du texte en un seul clic
  • Traduisez votre CV dans n'importe quelle langue à l'aide de ChatGPT et réimportez-le pour une édition plus facile
  • Créez facilement des CV d'une seule page ou un CV qui s'étend sur plusieurs pages
  • Personnalisez les couleurs et les mises en page pour ajouter une touche personnelle à votre CV
  • Personnalisez votre mise en page à votre guise en glissant-déposant simplement des sections
  • Créez des sections personnalisées spécifiques à votre secteur si celles existantes ne conviennent pas
  • Ajoutez des notes personnelles spécifiques à votre CV qui ne sont visibles que par vous
  • Verrouiller un CV pour empêcher toute modification supplémentaire (utile pour les modèles principaux)
  • Des dizaines de modèles parmi lesquels choisir, allant du professionnel au moderne
  • Concevez votre CV à l'aide du modèle de conception standardisé EuroPass
  • Prend en charge l'impression des CV aux formats de page A4 ou Lettre
  • Concevez votre CV avec n'importe quelle police disponible sur Google Fonts
  • Partagez un lien personnalisé de votre CV avec des entreprises ou des recruteurs pour qu'ils reçoivent les dernières mises à jour
  • Vous pouvez suivre le nombre de vues ou de téléchargements que votre CV public a reçu
  • Construit avec des technologies de pointe
  • Licence MIT, faites ce que vous voulez avec le code à condition de créditer l'auteur original
  • Mode sombre

L'installation

  1. Créez votre docker-compose.yml:
sudo nano docker-compose.yml
  1. Collez ça dedans en prenant soin d'adapter le port et les volumes suivant votre configuration:
version: "3.8"

# In this Docker Compose example, it assumes that you maintain a reverse proxy externally (or chose not to).
# The only two exposed ports here are from minio (:9000) and the app itself (:3000).
# If these ports are changed, ensure that the env vars passed to the app are also changed accordingly.

services:
  # Database (Postgres)
  postgres:
    image: postgres:15-alpine
    restart: unless-stopped
    volumes:
      - /srv/appdata/reactiveresume/postgres:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: postgres
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres -d postgres"]
      interval: 10s
      timeout: 5s
      retries: 5

  # Storage (for image uploads)
  minio:
    image: minio/minio
    restart: unless-stopped
    command: server /data
    ports:
      - 9000:9000
    volumes:
      - /srv/appdata/reactiveresume/minio:/data
    environment:
      MINIO_ROOT_USER: minioadmin
      MINIO_ROOT_PASSWORD: minioadmin

  # Chrome Browser (for printing and previews)
  chrome:
    image: browserless/chrome:1.61.0-puppeteer-21.4.1
    restart: unless-stopped
    environment:
      TOKEN: chrome_token
      EXIT_ON_HEALTH_FAILURE: 1
      PRE_REQUEST_HEALTH_CHECK: 1

  # Redis (for cache & server session management)
  redis:
    image: redis:alpine
    restart: unless-stopped
    command: redis-server --requirepass password

  app:
    image: amruthpillai/reactive-resume:latest
    restart: unless-stopped
    ports:
      - 3000:3000
    depends_on:
      - postgres
      - minio
      - redis
      - chrome
    environment:
      # -- Environment Variables --
      PORT: 3000
      NODE_ENV: production

      # -- URLs --
      PUBLIC_URL: http://localhost:3000
      STORAGE_URL: http://localhost:9000

      # -- Printer (Chrome) --
      CHROME_TOKEN: chrome_token
      CHROME_URL: ws://chrome:3000

      # -- Database (Postgres) --
      DATABASE_URL: postgresql://postgres:postgres@postgres:5432/postgres

      # -- Auth --
      ACCESS_TOKEN_SECRET: access_token_secret
      REFRESH_TOKEN_SECRET: refresh_token_secret

      # -- Emails --
      MAIL_FROM: noreply@localhost
      # SMTP_URL: smtp://user:pass@smtp:587 # Optional

      # -- Storage (Minio) --
      STORAGE_ENDPOINT: minio
      STORAGE_PORT: 9000
      #STORAGE_REGION: us-east-1 # Optional
      STORAGE_BUCKET: default
      STORAGE_ACCESS_KEY: minioadmin
      STORAGE_SECRET_KEY: minioadmin
      STORAGE_USE_SSL: 0

      # -- Cache (Redis) --
      REDIS_URL: redis://default:password@redis:6379

      # -- Sentry --
      # VITE_SENTRY_DSN: https://id.sentry.io # Optional

      # -- Crowdin (Optional) --
      # CROWDIN_PROJECT_ID:
      # CROWDIN_PERSONAL_TOKEN:

      # -- Email (Optional) --
      # DISABLE_EMAIL_AUTH: true
      # VITE_DISABLE_SIGNUPS: true

      # -- GitHub (Optional) --
      #GITHUB_CLIENT_ID: github_client_id
      #GITHUB_CLIENT_SECRET: github_client_secret
      #GITHUB_CALLBACK_URL: http://localhost:3000/api/auth/github/callback

      # -- Google (Optional) --
      #GOOGLE_CLIENT_ID: google_client_id
      #GOOGLE_CLIENT_SECRET: google_client_secret
      #GOOGLE_CALLBACK_URL: http://localhost:3000/api/auth/google/callback

volumes:
  minio_data:
  postgres_data:
  1. On installe l'application:
docker-compose up -d

ou avec docker-compose V2:

docker compose up -d
  1. Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi:
http://ip:3000

L'installation en vidéo

🎵 soul - for stress relief - Musicalmix2020


Disponibilité

Sur votre navigateur préféré.

zarev

🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.

Vous pourriez aussi aimer