Skip to content
Q
QuoteNode

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.

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.json answers: “this installation deployed a newer frontend bundle”.
  • releases/latest.json answers: “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_ORIGINS must match the browser origin exactly.
  • LICENSE_SKIP_SIGNATURE_CHECK must be absent or false in 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.

Last reviewed: Recently