Files
bentopdf/docs/self-hosting/vercel.md
abdullahalam123 f30a084fce feat: Add VitePress docs, EPUB to PDF tool, Phosphor icons, and licensing updates
- Set up VitePress documentation site (docs:dev, docs:build, docs:preview)
- Added Getting Started, Tools Reference, Contributing, and Commercial License pages
- Created self-hosting guides for Docker, Vercel, Netlify, Cloudflare, AWS, Hostinger, Nginx, Apache
- Updated README with documentation link, sponsors section, and docs contribution guide

- Added EPUB to PDF converter using LibreOffice WASM

- Migrated to Phosphor Icons for consistent iconography

- Added donation ribbon banner on landing page
- Removed 'Like My Work?' section (replaced by ribbon)
- Updated licensing.html with delivery model, AGPL notice, invoicing, and no-refund policy

- Added Commercial License documentation page
- Updated translations table (Chinese added, marked non-English as In Progress)

- Added sponsors.yml workflow for auto-generating sponsor avatars
2025-12-27 19:38:33 +05:30

1.5 KiB

Deploy to Vercel

Vercel offers the easiest deployment experience for static sites.

One-Click Deploy

Deploy with Vercel

Manual Deployment

Step 1: Fork the Repository

Fork bentopdf/bentopdf to your GitHub account.

Step 2: Import to Vercel

  1. Go to vercel.com/new
  2. Select your forked repository
  3. Configure the project:
Setting Value
Framework Preset Vite
Build Command npm run build
Output Directory dist
Install Command npm install

Step 3: Environment Variables (Optional)

Add these if needed:

SIMPLE_MODE=false

Step 4: Deploy

Click "Deploy" and wait for the build to complete.

Custom Domain

  1. Go to your project settings
  2. Navigate to "Domains"
  3. Add your custom domain
  4. Configure DNS as instructed

Limitations

::: warning Large Files Vercel's serverless functions have a 50MB limit. Since BentoPDF is a static site, this shouldn't affect you, but WASM modules are large (~100MB total). Ensure they're served from the /public folder. :::

Troubleshooting

Build Timeout

If builds timeout, try:

// vercel.json
{
  "buildCommand": "npm run build",
  "outputDirectory": "dist"
}

404 on Refresh

Add a vercel.json for SPA routing:

{
  "rewrites": [{ "source": "/(.*)", "destination": "/index.html" }]
}