- 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
1.5 KiB
1.5 KiB
Deploy to Vercel
Vercel offers the easiest deployment experience for static sites.
One-Click Deploy
Manual Deployment
Step 1: Fork the Repository
Fork bentopdf/bentopdf to your GitHub account.
Step 2: Import to Vercel
- Go to vercel.com/new
- Select your forked repository
- 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
- Go to your project settings
- Navigate to "Domains"
- Add your custom domain
- 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" }]
}