Files
vantage/deploy/docker-compose.site.yml
T

81 lines
3.4 KiB
YAML

services:
# Adds to the base `server` service defined in docker-compose.yml —
# only the cloud deployment reaps abandoned Free instances.
server:
environment:
FREE_INSTANCE_REAP_AFTER: "336h"
site:
image: gitea.hostxtra.co.uk/mrhid6/vantage/site:latest
restart: unless-stopped
ports:
- 3003:3000
depends_on:
- sitesvc
sitesvc:
image: gitea.hostxtra.co.uk/mrhid6/vantage/sitesvc:latest
restart: unless-stopped
ports:
- 8082:8082
environment:
PORT: "8082"
MONGO_URI: ${MONGO_URI:-}
PUBLIC_URL: ${PUBLIC_URL:-}
SITE_ORIGIN: ${SITE_ORIGIN:-}
TRUST_PROXY: ${SITE_TRUST_PROXY:-false}
SMTP_HOST: ${SMTP_HOST:-}
SMTP_PORT: ${SMTP_PORT:-587}
SMTP_USERNAME: ${SMTP_USERNAME:-}
SMTP_PASSWORD: ${SMTP_PASSWORD:-}
SMTP_FROM: ${SMTP_FROM:-}
SMTP_TO: ${SMTP_TO:-support@hostxtra.co.uk}
admin:
image: gitea.hostxtra.co.uk/mrhid6/vantage/admin:latest
restart: unless-stopped
ports:
- 8083:8083
environment:
PORT: "8083"
ADMIN_MONGO_URI: ${ADMIN_MONGO_URI:-}
CONTROL_MONGO_URI: ${MONGO_URI:-}
REDIS_ADDR: ${REDIS_ADDR:-10.10.10.2:6379}
REDIS_USERNAME: ${REDIS_USERNAME:-}
REDIS_PASSWORD: ${REDIS_PASSWORD:-}
LICENSE_SIGNING_KEY: ${LICENSE_SIGNING_KEY:-}
PUBLIC_URL: ${ADMIN_PUBLIC_URL:-}
# Comma-separated, and it needs BOTH browser origins that call admin:
# vantage-hq (the console) and the marketing site, whose /start form
# posts account signups here. An origin missing from this list is not
# a 403 — admin omits the CORS header entirely and the browser blocks
# the preflight, so the form fails with nothing in admin's logs.
# ADMIN_ORIGIN="https://vantage-hq.hostxtra.co.uk,https://vantage.hostxtra.co.uk"
ADMIN_ORIGIN: ${ADMIN_ORIGIN:-}
TRUST_PROXY: ${TRUST_PROXY:-true}
SMTP_HOST: ${SMTP_HOST:-}
SMTP_PORT: ${SMTP_PORT:-587}
SMTP_USERNAME: ${SMTP_USERNAME:-}
SMTP_PASSWORD: ${SMTP_PASSWORD:-}
SMTP_FROM: ${SMTP_FROM:-}
APP_LOGIN_URL: ${APP_LOGIN_URL:-}
FREE_INSTANCE_REAP_AFTER: "336h"
# Paddle billing. PADDLE_API_KEY and PADDLE_WEBHOOK_SECRET are
# boot-REQUIRED — an unverified webhook endpoint is one anyone can
# issue licences through. PADDLE_ENV selects which catalogue price
# IDs are served (sandbox|production).
PADDLE_ENV: ${PADDLE_ENV:-sandbox}
PADDLE_API_KEY: ${PADDLE_API_KEY:-}
PADDLE_WEBHOOK_SECRET: ${PADDLE_WEBHOOK_SECRET:-}
# The staff and customer console, served at vantage-hq.hostxtra.co.uk.
# ADMIN_API_URL is baked into the image at build time, not read here, so
# changing it needs a rebuild rather than a restart — and it must appear in
# admin's ADMIN_ORIGIN above or the browser blocks every request.
adminsite:
image: gitea.hostxtra.co.uk/mrhid6/vantage/adminsite:latest
restart: unless-stopped
ports:
# 3000 is web, 3003 is the marketing site; this takes 3004.
- 3004:3000
depends_on:
- admin
networks: {}