Hey r/selfhosted, get ready to craft your story like never before!

I’m thrilled to announce that Reactive Resume has just launched its latest version, and it’s a game-changer in the resume-building space (at least, I’d like to think so).

Here’s a glimpse of some of the new features:

  • A sleek, polished user interface that makes navigation a breeze.
  • Faster PDF generation to get your resume out there quicker.
  • Integration with OpenAI for smarter assistance.
  • Brand new, highly customisable templates to fit your unique style.
  • Comprehensive documentation with user-friendly guides.
  • Enhanced security with two-factor authentication.
  • Available in multiple languages, contributed by the community.
  • Quality of life features such as locking resumes, adding personal notes to resumes, tracking views and downloads on your public resume etc.

The best part? It’s 100% free, forever! No ads, no user tracking, just pure resume-building bliss. Plus, for the tech-savvy, it’s also open-source on GitHub and self-hostable through Docker, something special just for this community.

Ready to give it a spin?
You can visit the website on https://rxresu.me, sure. But you’re on r/selfhosted, so you’re probably more interested in the “how to host it myself” part of the launch. The link to the repository is right here: https://github.com/AmruthPillai/Reactive-Resume/

Self-hosting Reactive Resume is super simple, compared to the nightmare it was in earlier versions having to ensure multiple services are communicating alright. You can check the GitHub repo (under tools/compose for many docker compose examples of how the project could be set up).

I’m excited to see how you make the most of it!

1 point

I have used this in the past and was very good. Just creating a new CV now and it totally locked up on me but thats probably down to firefox.

Whilst working my way through the skills section, its quite annoying that you cant drag the skills into order/there own place. I’ve had to delete and add again on quite a few occasions.

Skills again, would be nice to have an option of just entering text or skills separated by the commas.

permalink
report
reply
1 point

I’m quite new to self-hosting apps so it could be my mistake, but I can’t figure out how to solve the problem of “P1001: Can’t reach database server at” in postgres.

permalink
report
reply
1 point

Downvote me to the moon: Selfhosting this is still entirely more convoluted than I feel it should need to be.

permalink
report
reply
1 point

I did what I could man. I’m just one guy, a front-end guy even. I even made an announcement at the top of my GitHub readme looking for dev-ops or backend dev to help me make the self-hosting process better, but even with a project as popular as this, nobody came to help. So naturally I picked up as much I could myself and did it.

I honestly don’t know how it can be made easier though. It’s just a single service now, which needs to speak to other services. But if you still feel it’s convoluted, fork the repo and help me make it better, teach me what good self-hosted apps are supposed to look like.

permalink
report
parent
reply
1 point

I must be more of a noob than I initially realised. I simply can’t get this to work. Is there a video tutorial anywhere yet? Thank you in advance!

permalink
report
reply
1 point

I’m current taking a short break cause I’ve been working on this for more than a few months. Will be back soon with product guides, video tutorials and everything soon.

permalink
report
parent
reply
1 point

/u/AmruthPillai - hoping you can help unblock me on one thing. Running ReactiveResume via Portainer using the following docker compose script. Everything works fine, except PDF generation - which doesn’t seem to do “anything”. Nothing ever downloads, no separate window opens. The solution is awesome btw - I’m excited to get this working - just need to figure out the PDF part.

​

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.

Docker Compose:

services:

# Storage (for image uploads)

minio:

image: minio/minio

restart: unless-stopped

command: server /data

ports:

- 9000:9000

volumes:

- $DOCKERDIR/appdata/resume/minio_data:/data

environment:

MINIO_ROOT_USER: minioadmin

MINIO_ROOT_PASSWORD: 7FgkUNXE3YZe3PrE7U

# 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: true

PRE_REQUEST_HEALTH_CHECK: true

# 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:

- minio

- redis

- chrome

environment:

# – Environment Variables –

PORT: 3000

NODE_ENV: production

# – URLs –

PUBLIC_URL: $PUBLIC_URL

STORAGE_URL: $STORAGE_URL

# – Printer (Chrome) –

CHROME_TOKEN: chrome_token

CHROME_URL: ws://chrome:3000

# – Database (Postgres) –

DATABASE_URL: postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@192.168.4.3:32781/postgres?schema=public

# – Auth –

ACCESS_TOKEN_SECRET: PcaDMKAu.x8@iCTaB-

REFRESH_TOKEN_SECRET: yjXiGQkKNcVgE*DUvt

# – Emails –

MAIL_FROM: resume@myurl.com

SMTP_URL: smtp://mysmptname:atz_nqf!cyfg@outbound.mailhop.org:587

# – Storage (Minio) –

STORAGE_ENDPOINT: minio

STORAGE_PORT: 9000

STORAGE_REGION: us-east-1 # Optional

STORAGE_BUCKET: default

STORAGE_ACCESS_KEY: minioadmin

STORAGE_SECRET_KEY: 7FgkUNAr8eb33E7U

STORAGE_USE_SSL: false

# – Cache (Redis) –

REDIS_URL: redis://default:password@redis:6379

# – Email (Optional) –

# DISABLE_EMAIL_AUTH: true

# VITE_DISABLE_SIGNUPS: true

volumes:

minio_data:

postgres_data:

​

ENVIRONMENTAL VARIABLES

​

NODE_ENV=development

PORT=3000

__DEV__CLIENT_PORT=5173 # Only used in development

__DEV__CLIENT_URL=http://localhost:5173 # Only used in development

__DEV__ARTBOARD_PORT=6173 # Only used in development

__DEV__ARTBOARD_URL=http://localhost:6173 # Only used in development

PUBLIC_URL=http://resume.themyurl.com

STORAGE_URL=http://resume.themyurl.com/default # default is the bucket name specified in the STORAGE_BUCKET variable

POSTGRES_PORT=32781

POSTGRES_DB=postgres

POSTGRES_USER=myuser
POSTGRES_PASSWORD=mFQp2QCmypasswordDT@2

DATABASE_URL=postgresql://myuser:Thmypassword6@localhost:5432/postgres?schema=public

ACCESS_TOKEN_SECRET=access_token_secret

REFRESH_TOKEN_SECRET=refresh_token_secret

CHROME_PORT=8080

CHROME_TOKEN=chrome_token

CHROME_URL=ws://resume.themyurl.com:8080

MAIL_FROM=noreply@localhost

STORAGE_ENDPOINT=resume.themyurl.com

STORAGE_PORT=9000

STORAGE_REGION=us-east-1

STORAGE_BUCKET=default

STORAGE_ACCESS_KEY=minioadmin

STORAGE_SECRET_KEY=minioadmin

STORAGE_USE_SSL=false

REDIS_URL=redis://default:password@localhost:6379

CROWDIN_PROJECT_ID=

CROWDIN_PERSONAL_TOKEN=

PUID=1000

PGID=1000

TZ=“America/Vancouver”

DOCKERDIR=“/nfs/docker”

DATADIR=“/nfs/data”

permalink
report
reply

Self-Hosted Main

!main@selfhosted.forum

Create post

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.

For Example

  • Service: Dropbox - Alternative: Nextcloud
  • Service: Google Reader - Alternative: Tiny Tiny RSS
  • Service: Blogger - Alternative: WordPress

We welcome posts that include suggestions for good self-hosted alternatives to popular online services, how they are better, or how they give back control of your data. Also include hints and tips for less technical readers.

Useful Lists

Community stats

  • 1

    Monthly active users

  • 1.8K

    Posts

  • 11K

    Comments

Community moderators