No description
|
All checks were successful
Deploy to Production / Deploy to Server (push) Successful in 1m8s
- Add /change-email as a proper standalone page (public/src/change-email.html) with API key input, new email input, verification code flow, and success state - Update footer partial: change "/#change-email" link to "/change-email" on all pages - Remove email change modal HTML and hash-handler JS from index page source - Add /change-email to sitemap.xml - Rebuild all HTML files via build-html.cjs - Add updateEmailByCustomer() to src/services/keys.ts - Add customer.updated webhook handler in src/routes/billing.ts to sync email changes made via Stripe dashboard back to DocFast |
||
|---|---|---|
| .forgejo/workflows | ||
| deploy | ||
| dist | ||
| infrastructure | ||
| public | ||
| scripts | ||
| src | ||
| templates | ||
| @ | ||
| .gitignore | ||
| BACKUP_PROCEDURES.md | ||
| bugs.md | ||
| CI-CD-SETUP-COMPLETE.md | ||
| decisions.md | ||
| DEPLOYMENT.md | ||
| docker-compose.yml | ||
| Dockerfile | ||
| Dockerfile.backup | ||
| logrotate-docfast | ||
| nginx-docfast.conf | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| sessions.md | ||
| state.json | ||
| tsconfig.json | ||
| VERSION | ||
DocFast API
Fast, simple HTML/Markdown to PDF API with built-in invoice templates.
Quick Start
npm install
npm run build
API_KEYS=your-key-here npm start
Endpoints
Convert HTML to PDF
curl -X POST http://localhost:3100/v1/convert/html \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"html": "<h1>Hello</h1><p>World</p>"}' \
-o output.pdf
Convert Markdown to PDF
curl -X POST http://localhost:3100/v1/convert/markdown \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"markdown": "# Hello\n\nWorld"}' \
-o output.pdf
Invoice Template
curl -X POST http://localhost:3100/v1/templates/invoice/render \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"invoiceNumber": "INV-001",
"date": "2026-02-14",
"from": {"name": "Your Company", "email": "you@example.com"},
"to": {"name": "Client", "email": "client@example.com"},
"items": [{"description": "Service", "quantity": 1, "unitPrice": 100, "taxRate": 20}]
}' \
-o invoice.pdf
Options
format: Paper size (A4, Letter, Legal, etc.)landscape: true/falsemargin:{top, right, bottom, left}in CSS unitscss: Custom CSS (for markdown/html fragments)filename: Suggested filename in Content-Disposition header
Auth
Pass API key via Authorization: Bearer <key>. Set API_KEYS env var (comma-separated for multiple keys).
Docker
docker build -t docfast .
docker run -p 3100:3100 -e API_KEYS=your-key docfast