Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.rxresu.me/llms.txt

Use this file to discover all available pages before exploring further.

Options

Reactive Resume offers flexibility in how you want to use it. Choose the option that best fits your needs:

Use the Cloud Version

The fastest way to get started. Recommended for most users.

Self-Host with Docker

Deploy your own instance with complete control. Requires some technical knowledge.

Using the Cloud Version

The easiest way to use Reactive Resume is through our cloud version at rxresu.me. This service is completely free and will always remain free.
1

Create an Account

Visit rxresu.me and sign up for free using your email, or sign in with your GitHub or Google account.
2

Create Your First Resume

Click the Create Resume button on your dashboard. Give your resume a name and select a template to get started.
3

Fill in Your Details

Use our intuitive builder to add your: - Personal information - Work experience - Education - Skills - Projects - And more…
4

Export & Share

When you’re ready, export your resume as a PDF or share it via a unique public link.
Your resume updates in real-time as you type. The preview panel shows exactly how your final PDF will look.

Self-Host with Docker

For users who prefer complete control over their data, you can deploy Reactive Resume on your own infrastructure using Docker.
From v5.1.0 onwards — PDF generation now runs entirely client-side via @react-pdf/renderer. Self-hosted deployments no longer require Browserless, Chromium, or any external print service as a dependency. The PRINTER_* and BROWSERLESS_* environment variables are no longer read and can be removed from your .env.

Prerequisites

Before you begin, ensure you have the following installed:
There is no difference in features between the cloud-hosted version and the self-hosted option. Both provide the same privacy, customization, and functionality. Choose whichever deployment type suits your needs!

Quick Deployment

1

Clone the Repository

git clone https://github.com/amruthpillai/reactive-resume.git
cd reactive-resume
2

Configure Environment Variables

Create a .env file in the root directory with the following variables:
.env
# Application
APP_URL=http://localhost:3000

# Database
DATABASE_URL=postgresql://postgres:postgres@postgres:5432/postgres

# Authentication (generate a secure secret)
AUTH_SECRET=your-secure-secret-key-here

# Storage (S3-compatible via SeaweedFS)
S3_ACCESS_KEY_ID=seaweedfs
S3_SECRET_ACCESS_KEY=seaweedfs
S3_ENDPOINT=http://seaweedfs:8333
S3_BUCKET=reactive-resume
S3_FORCE_PATH_STYLE=true

# AI features (optional; ENCRYPTION_SECRET for saved providers, plus REDIS_URL for the agent)
REDIS_URL=redis://redis:6379
ENCRYPTION_SECRET=your-secure-encryption-secret-here
For production deployments, always use strong, unique values for AUTH_SECRET, ENCRYPTION_SECRET, and database credentials.
3

Start the Services

docker compose up -d
This starts:
  • PostgreSQL — Database for storing user data and resumes
  • Redis — Required for the AI Agent workspace
    • SeaweedFS — S3-compatible storage for file uploads
    • Reactive Resume — The main application
4

Access Your Instance

Once all services are running, access your Reactive Resume instance at:
http://localhost:3000

Docker Compose Services

Here’s what each service in the stack does:
ServicePortDescription
postgres5432PostgreSQL database for storing all application data
redis6379Redis instance required by the AI Agent workspace
seaweedfs8333S3-compatible object storage for file uploads
reactive_resume3000The main Reactive Resume application
Saved AI provider management requires ENCRYPTION_SECRET, and the AI Agent workspace requires both REDIS_URL and ENCRYPTION_SECRET. Other Reactive Resume features can run without them. Agent attachments and other private objects require S3-compatible storage; local storage rejects private objects.

Health Checks

All services include built-in health checks. You can verify everything is running correctly:
docker compose ps
You should see all services with a healthy status.

Environment Variables Reference

Here’s a complete list of environment variables you can configure:

Required Variables

VariableDescriptionExample
DATABASE_URLPostgreSQL connection stringpostgresql://user:pass@host:5432/db
AUTH_SECRETSecret key for authenticationGenerate with openssl rand -hex 32
APP_URLPublic URL of your Applicationhttps://rxresu.me

Optional Variables

VariableDescriptionDefault
GOOGLE_CLIENT_IDGoogle OAuth Client ID
GOOGLE_CLIENT_SECRETGoogle OAuth Client Secret
GITHUB_CLIENT_IDGitHub OAuth Client ID
GITHUB_CLIENT_SECRETGitHub OAuth Client Secret
LINKEDIN_CLIENT_IDLinkedIn OAuth Client ID
LINKEDIN_CLIENT_SECRETLinkedIn OAuth Client Secret
OAUTH_PROVIDER_NAMECustom OAuth Provider Name
OAUTH_CLIENT_IDCustom OAuth Client ID
OAUTH_CLIENT_SECRETCustom OAuth Client Secret
OAUTH_DISCOVERY_URLOIDC Discovery URL (use this OR manual URLs below)
OAUTH_AUTHORIZATION_URLOAuth Authorization URL (manual config)
OAUTH_TOKEN_URLOAuth Token URL (manual config)
OAUTH_USER_INFO_URLOAuth User Info URL (manual config)
OAUTH_SCOPESOAuth Scopes (space-separated)openid profile email
BETTER_AUTH_API_KEYBetter Auth dashboard API key
SMTP_HOSTSMTP Server Host (for email features)
SMTP_PORTSMTP Server Port587
SMTP_USERSMTP Username
SMTP_PASSSMTP Password
SMTP_FROMDefault FROM address for emails
SMTP_SECUREUse secure SMTP connection (true or false)false
S3_ACCESS_KEY_IDS3 Access Key
S3_SECRET_ACCESS_KEYS3 Secret Key
S3_REGIONS3 Regionus-east-1
S3_ENDPOINTS3-compatible Endpoint URL
S3_BUCKETS3 Bucket Name
S3_FORCE_PATH_STYLEUse path-style URLs for S3 (set true for MinIO/SeaweedFS)false
REDIS_URLRedis connection string for the AI Agent workspace
ENCRYPTION_SECRETEncryption secret for saved AI provider credentials
FLAG_DISABLE_SIGNUPSDisables new user signupsfalse
FLAG_DISABLE_EMAIL_AUTHDisables email/password login (SSO only)false
FLAG_DISABLE_IMAGE_PROCESSINGDisables image processingfalse
FLAG_ALLOW_UNSAFE_OAUTH_REDIRECT_URIAllows arbitrary dynamic OAuth redirect URIsfalse
FLAG_ALLOW_UNSAFE_AI_BASE_URLAllows unsafe/private/non-public AI provider base URLsfalse
Note: Some variables are only required for using related features (OAuth, SMTP, S3, etc.) and can be left unset if unused.
AI features: Saved AI provider management requires ENCRYPTION_SECRET, and the AI Agent workspace requires both REDIS_URL and ENCRYPTION_SECRET. Live web research depends on the selected AI provider/model supporting native web search. Keep FLAG_ALLOW_UNSAFE_AI_BASE_URL disabled unless this is a trusted self-hosted deployment; public HTTPS provider URLs are the safe default.
OAuth redirect safety: Keep FLAG_ALLOW_UNSAFE_OAUTH_REDIRECT_URI disabled unless this is a trusted self-hosted deployment. Enabling it allows dynamic OAuth clients to register any parseable redirect URI, including custom schemes, private hosts, and non-loopback http:// URLs, which can enable phishing or token exfiltration on public or multi-tenant instances.
Health check behavior: /api/health reports status for database and storage. A failure in either dependency returns HTTP 503.

Next Steps

Development Setup

Set up a development environment to contribute or customize Reactive Resume.

Project Architecture

Learn about the project structure and architecture.
Having trouble? Check our GitHub Issues or reach out via email.