49 lines
1.9 KiB
YAML
49 lines
1.9 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
queuenorth:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
args:
|
|
- VITE_RECAPTCHA_SITE_KEY=${VITE_RECAPTCHA_SITE_KEY:-}
|
|
container_name: queuenorth-website
|
|
ports:
|
|
- "3001:3001"
|
|
volumes:
|
|
# Persist SQLite database between runs using named volume
|
|
# This avoids host permission issues - Docker manages ownership automatically
|
|
- queuenorth-db:/app/db:rw
|
|
# Persist logs using named volume
|
|
- queuenorth-logs:/app/logs:rw
|
|
environment:
|
|
- NODE_ENV=production
|
|
- SERVER_PORT=3001
|
|
- RATE_LIMIT_PER_MINUTE=5
|
|
- CORS_ORIGIN=https://queuenorth.com
|
|
- LOG_LEVEL=info
|
|
- ZOHO_FORWARDING_MODE=${ZOHO_FORWARDING_MODE:-webtolead}
|
|
- ZOHO_WEBTOLEAD_ENABLED=${ZOHO_WEBTOLEAD_ENABLED:-false}
|
|
- ZOHO_WEBTOLEAD_URL=${ZOHO_WEBTOLEAD_URL:-https://crm.zoho.com/crm/WebToLeadForm}
|
|
- ZOHO_WEBTOLEAD_XNQSJSDP=${ZOHO_WEBTOLEAD_XNQSJSDP:-}
|
|
- ZOHO_WEBTOLEAD_XMIWTLD=${ZOHO_WEBTOLEAD_XMIWTLD:-}
|
|
- ZOHO_WEBTOLEAD_ACTION_TYPE=${ZOHO_WEBTOLEAD_ACTION_TYPE:-TGVhZHM=}
|
|
- ZOHO_WEBTOLEAD_RETURN_URL=${ZOHO_WEBTOLEAD_RETURN_URL:-null}
|
|
- ZOHO_WEBTOLEAD_ZC_GAD=${ZOHO_WEBTOLEAD_ZC_GAD:-}
|
|
- ZOHO_ENABLED=${ZOHO_ENABLED:-false}
|
|
- ZOHO_API_DOMAIN=${ZOHO_API_DOMAIN:-https://www.zohoapis.com}
|
|
- ZOHO_ACCOUNTS_DOMAIN=${ZOHO_ACCOUNTS_DOMAIN:-https://accounts.zoho.com}
|
|
- ZOHO_CLIENT_ID=${ZOHO_CLIENT_ID:-}
|
|
- ZOHO_CLIENT_SECRET=${ZOHO_CLIENT_SECRET:-}
|
|
- ZOHO_REFRESH_TOKEN=${ZOHO_REFRESH_TOKEN:-}
|
|
- ZOHO_CASES_ENABLED=${ZOHO_CASES_ENABLED:-false}
|
|
- RECAPTCHA_ENABLED=${RECAPTCHA_ENABLED:-false}
|
|
- RECAPTCHA_SECRET_KEY=${RECAPTCHA_SECRET_KEY:-}
|
|
- RECAPTCHA_MIN_SCORE=${RECAPTCHA_MIN_SCORE:-0.5}
|
|
restart: unless-stopped
|
|
# Container runs as non-root user (UID 1001) for security
|
|
|
|
volumes:
|
|
queuenorth-db:
|
|
queuenorth-logs:
|