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.

ScenarioRecommended guide
Evaluation on one computerLocal laptop
Office-only trial on WindowsWindows LAN server
Office-only internal Linux serverLinux LAN server
Public beta on your own VPSUbuntu public server
Public beta with managed proxy/deploy UICoolify
Existing Docker UI/NAS platformPortainer, 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

ContainerPurpose
frontendServes the Vue application and routes browser traffic.
backendJava / Spring Boot API, business logic, public links, PDF orchestration.
postgresPostgreSQL database.
gotenbergHTML-to-PDF conversion service.
backup-workerScheduled database and file backups.

Persistent data

DataWhy it matters
PostgreSQL volumeMain database.
Uploads volumeProduct images, logos, CRM attachments.
PDF volumeGenerated PDF documents.
Backup volumeLocal backup archives before offsite copy.
GeoIP volumeOptional 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