Self-Hosted Reactive Resume: CVs Without Shipping Your Job History to SaaS

You've rebuilt your resume in Canva twice, exported a PDF with a random font substitution, and wondered who else has access to the employment history you typed into a free tier account. Or you're running a career centre and don't want student CVs sitting on a US SaaS you can't audit.

Reactive Resume is the self-hosted alternative that actually looks professional. ~38k GitHub stars, MIT licensed, free forever, and built around a simple idea: your job history is personal data — treat it that way.

What it actually does

Reactive Resume is a resume builder with a live preview. Pick a template (they lean Pokémon-themed names — Azurill, Gengar, Pikachu — but the output is grown-up), fill in experience, education, skills, and custom sections, drag to reorder blocks, export when you're done.

Exports that matter. PDF, JSON, and DOCX. Since v5.1, PDF generation runs client-side — no headless Chrome container, no Browserless bill. Print-quality output without bolting a second browser farm onto your stack.

Templates you can actually tune. A4 and Letter sizes, colours, fonts, spacing. Custom CSS when you want the footer exactly right. Dark mode for late-night edits.

Sharing without email attachments. Generate a unique link to a hosted version of a resume — useful for recruiters or portfolio sites. Import from JSON Resume format if you're migrating from another toolchain.

Optional AI. Hook OpenAI, Gemini, or Claude for wording suggestions — entirely optional, and on self-hosted you control whether those API keys exist at all.

Why self-host a resume builder?

CVs are PII dense. Names, addresses, phone numbers, employment history, sometimes immigration status hints — that's not data you casually park on a freemium site with unclear retention policies.

Career centres and bootcamps. Universities, immigration consultants, and coding bootcamps often help hundreds of people draft resumes. Self-hosted Reactive Resume on a Canadian VPS gives you one branded URL, your auth rules, and a database you back up — not 400 accounts on rxresu.me.

No ads, no tracking. The project promises no analytics by default, full export, one-click delete. MIT license means you can run it commercially for your organization without license gymnastics.

Portability. JSON export means you're never locked in. Move instances, restore from backup, or script resume generation through the API if you're ambitious.

What running it takes

Docker Compose is the documented path. Minimum: 1 vCPU, 1 GB RAM — bump to 2 GB if Postgres runs on the same host. That's light compared to photo or LLM stacks.

Core services:

  • PostgreSQL — resumes and user accounts
  • Reactive Resume — app on port 3000 (amruthpillai/reactive-resume:latest)

Set APP_URL to your public HTTPS domain, generate a strong AUTH_SECRET, and configure DATABASE_URL. Mount /app/data if you're using local file storage instead of S3.

Optional add-ons from the full stack: SeaweedFS for S3-compatible uploads (private attachments need object storage), Redis if you enable the AI Agent workspace. SMTP for password-reset emails — without it, dev setups log mail to console.

Put nginx or Caddy in front for TLS. Disable open registration unless you're running a public instance on purpose. Back up Postgres — that's where every resume lives.

SSO and custom OAuth are supported for teams that want Google or OIDC login without managing passwords themselves.

Who it's for (and who should skip it)

Good fit: privacy-conscious job seekers, career coaches, bootcamps, immigration firms, agencies building white-label resume tools for clients, anyone tired of fighting Word formatting at 11 p.m.

Maybe skip it: if you need one resume once and never again — the hosted instance at rxresu.me is fine. If you need heavy collaborative editing like Google Docs with comments, this is a builder, not a document editor. If you won't patch Docker images occasionally, SaaS is less ops.

Hosting it in Canada

We run Reactive Resume on Canadian Docker hosting — TLS, Postgres backups, SMTP wired for real account emails, and registration locked down when the instance is for your organization only.

Tell us whether this is personal, a career centre, or a client-facing service — we'll size a small box honestly; this app doesn't need GPU, just reliable Postgres and a domain that looks credible on a PDF footer.

Tags:
  • Reactive Resume
  • Resume
  • Self-Hosted
  • Docker
  • Privacy

Need Help With Your Hosting?

Tell us about your application — we respond within 1 hour with honest recommendations.