Sign inSign up

vincentmakes/cv-manager

By vincentmakes

•Updated 14 days ago

A modern CV manager with export/import functionalities - ATS friendly

Image
Content management system
0

10K+

vincentmakes/cv-manager repository overview

⁠CV Manager

CV Manager
⁠Professional CV/Resume Management System

Docker Pulls Ko-fi

Self-hosted CV management with dual-server architecture: full admin interface + read-only public version optimized for ATS compatibility.


ā šŸš€ Quick Start (Copy & Paste!)

Step 1: Create docker-compose.yml:

version: '3.8'

services:
  cv-manager-admin:
    image: vincentmakes/cv-manager:latest
    container_name: cv-manager-admin
    ports:
      - "3000:3000"
    volumes:
      - cv-data:/app/data
    restart: unless-stopped

  cv-manager-public:
    image: vincentmakes/cv-manager:latest
    container_name: cv-manager-public
    ports:
      - "3001:3001"
    volumes:
      - cv-data:/app/data
    environment:
      - PUBLIC_PORT=3001
    restart: unless-stopped

volumes:
  cv-data:

Step 2: Run it:

docker-compose up -d

That's it!


⁠Option 2: Docker Run (Two Commands)

Admin interface (port 3000):

docker run -d \
  --name cv-manager-admin \
  -p 3000:3000 \
  -v cv-data:/app/data \
  --restart unless-stopped \
  vincentmakes/cv-manager:latest

Public read-only (port 3001):

docker run -d \
  --name cv-manager-public \
  -p 3001:3001 \
  -v cv-data:/app/data \
  -e PUBLIC_PORT=3001 \
  --restart unless-stopped \
  vincentmakes/cv-manager:latest

Access:


⁠Option 3: Single Container (Admin Only)

Just need the admin interface?

docker run -d \
  --name cv-manager \
  -p 3000:3000 \
  -v cv-data:/app/data \
  --restart unless-stopped \
  vincentmakes/cv-manager:latest

Access at http://localhost:3000⁠


ā šŸ“‹ What You Get

⁠Admin Interface (Port 3000)

āœļø Full editing capabilities

  • Edit profile, experience, skills
  • Upload profile picture
  • Toggle section visibility
  • Import/export data
  • Print/PDF optimized output
⁠Public Interface (Port 3001)

šŸ‘ļø Read-only sharing

  • Share your CV safely
  • No edit controls visible
  • Perfect for public exposure
  • Can use with Cloudflare Tunnel

ā šŸŽÆ For Unraid Users - (pending approval)

Install from Community Applications:

  1. Search "CV Manager"
  2. Install both templates (admin + public)
  3. Done!

ā šŸ”§ Configuration

⁠Environment Variables
VariableDefaultDescription
PUBLIC_PORT3001Server port
NODE_ENVproductionNode environment
DB_PATH/app/data/cv.dbDatabase path
⁠Volume Mounts
  • /app/data - Database and uploads (SQLite + profile pictures)
⁠Ports
  • 3000 - Admin interface (full access)
  • 3001 - Public interface (read-only) - requires PUBLIC_PORT=3001 env var

ā šŸ“¦ Data Management

Backup your CV:

# Via API
curl http://localhost:3000/api/cv > cv-backup.json

# Or copy database
docker cp cv-manager-admin:/app/data/cv.db ./cv-backup.db

Restore:

curl -X POST http://localhost:3000/api/import \
  -H "Content-Type: application/json" \
  -d @cv-backup.json

ā šŸ”’ Security Best Practices

⁠Admin Interface (Port 3000)

Protect with one of these:

  1. Cloudflare Access (Recommended)

    • Zero-trust authentication
    • Free tier available
  2. VPN Only

    • Keep on internal network
    • Access via Tailscale/WireGuard
  3. Reverse Proxy

    • Nginx/Traefik with basic auth
    • Add SSL certificate
⁠Public Interface (Port 3001)

Safe to expose - it's read-only!

  • Perfect for sharing your CV
  • Use Cloudflare Tunnel for public access
  • No authentication needed

ā šŸ†™ Updating

docker-compose pull
docker-compose up -d

Or for individual containers:

docker pull vincentmakes/cv-manager:latest
docker stop cv-manager-admin cv-manager-public
docker rm cv-manager-admin cv-manager-public
# Re-run docker run commands

Your data persists in the volume!


ā šŸ’” Common Use Cases

Use Case 1: Personal Use Only

  • Run admin container only (port 3000)
  • Access via VPN or localhost

Use Case 2: Public CV Sharing

  • Run both containers
  • Admin on internal network (3000)
  • Public via Cloudflare Tunnel (3001)

Use Case 3: Job Application Mode

  • Toggle section visibility for specific roles
  • Export different versions
  • Print/PDF optimized

ā šŸŽØ Features

  • šŸ“Š Visual career timeline with country flags
  • šŸŽÆ ATS optimization (Schema.org, semantic HTML)
  • šŸ‘ļø Granular visibility control
  • šŸ–¼ļø Profile picture support
  • šŸ“± Responsive design
  • šŸ–Øļø Print-optimized layouts
  • šŸ’¾ JSON import/export
  • šŸ” Zero framework bloat

ā šŸ“– Documentation


ā šŸ’– Support Development

If CV Manager helps you land your dream job:

ko-fi


ā šŸ“ License

MIT License - Use freely, modify as needed!


Built for professionals who value privacy and data ownership

Made with ā¤ļø by vincentmakes⁠

Tag summary

Content type

Image

Digest

sha256:24b33e158…

Size

62.5 MB

Last updated

14 days ago

docker pull vincentmakes/cv-manager