Wiki
Deployment Options
How to deploy QuoteNode across local, LAN, public server, Coolify, and advanced Docker UI topologies.
Deployment Options
QuoteNode supports multiple deployment models, all based on Docker containers. Choose the topology by deciding who must open the application and public offer links.
Recommended paths
| Scenario | Recommended guide |
|---|---|
| Evaluation on one computer | Local laptop |
| Office-only trial on Windows | Windows LAN server |
| Office-only internal Linux server | Linux LAN server |
| Public beta on your own VPS | Ubuntu public server |
| Public beta with managed proxy/deploy UI | Coolify |
| Existing Docker UI/NAS platform | Portainer, QNAP, or NAS |
The short chooser page is Installation Guide. Use Installation troubleshooting for URL, CORS, DNS, SMTP, and secret-loss problems.
Production topology
A public deployment normally looks like this:
Internet
│
▼
Public HTTPS reverse proxy
└── frontend service
├── static Vue application
└── /api and /offer routes to backend
Backend -> PostgreSQL
Backend -> Gotenberg for PDF generation
Backup worker -> PostgreSQL and persisted files
Coolify provides the public HTTPS reverse proxy itself. The standard Docker Compose production stack can also run its own internal Caddy proxy.
Services
| Container | Purpose |
|---|---|
frontend | Serves the Vue application and routes browser traffic. |
backend | Java / Spring Boot API, business logic, public links, PDF orchestration. |
postgres | PostgreSQL database. |
gotenberg | HTML-to-PDF conversion service. |
backup-worker | Scheduled database and file backups. |
Persistent data
| Data | Why it matters |
|---|---|
| PostgreSQL volume | Main database. |
| Uploads volume | Product images, logos, CRM attachments. |
| PDF volume | Generated PDF documents. |
| Backup volume | Local backup archives before offsite copy. |
| GeoIP volume | Optional MaxMind database. |
Back up .env separately from Docker volumes. The DB_ENCRYPTION_KEY in .env is required to decrypt sensitive fields.
Release metadata and update checks
QuoteNode can show an admin-only notice when a newer upstream release is available.
- Public manifest:
https://quotenode.dev/releases/latest.json - Frontend flag:
VITE_RELEASE_CHECK_ENABLED - Frontend override URL:
VITE_RELEASE_MANIFEST_URL
This is separate from the per-installation frontend reload check:
/app-version.jsonanswers: “this installation deployed a newer frontend bundle”.releases/latest.jsonanswers: “a newer QuoteNode release exists upstream”.
Offline or private deployments can disable the upstream check or point it to an internal mirror.
Environment variables
For install-focused variables, see Deployment Environment Variables. For the full catalog, see Environment Variables Reference.
Security notes
- Public deployments require HTTPS.
CORS_ALLOWED_ORIGINSmust match the browser origin exactly.LICENSE_SKIP_SIGNATURE_CHECKmust be absent orfalsein real deployments.- Do not expose PostgreSQL, Gotenberg, or backup-worker publicly.
- Reverse proxies should preserve client IP headers for security logging and public-link protections.