EventBuzz_Website/nginx.example.conf

56 lines
1.7 KiB
Plaintext

# nginx example for join.eventbuzz.live (participant SPA from `eventbuzz/`)
#
# Deploy: cd eventbuzz && npm run build → serve `dist` here.
# API CORS must allow https://join.eventbuzz.live; backend EVENTBUZZ_PUBLIC_URL
# must be https://join.eventbuzz.live (join codes, magic links, quiz-present).
#
# Dashboard stays on console.eventbuzz.live; microsites on web.eventbuzz.live;
# marketing apex eventbuzz.live can redirect legacy participant paths (below).
server {
listen 443 ssl http2;
server_name join.eventbuzz.live;
# ssl_certificate ...
# ssl_certificate_key ...
root /var/www/eventbuzz-join/dist;
index index.html;
location /assets/ {
try_files $uri =404;
expires 7d;
add_header Cache-Control "public, immutable";
}
# SPA fallback — /code/:code, /auth/callback, /quiz-present/..., event/session routes
location / {
try_files $uri $uri/ /index.html;
}
}
# Optional: keep old printed QRs / emails working after host move.
# Place on the marketing apex (eventbuzz.live) vhost — not on join.
#
# server {
# listen 443 ssl http2;
# server_name eventbuzz.live;
# # ... marketing site ...
#
# location ^~ /code/ {
# return 301 https://join.eventbuzz.live$request_uri;
# }
# location ^~ /auth/callback {
# return 301 https://join.eventbuzz.live$request_uri;
# }
# location ^~ /quiz-present/ {
# return 301 https://join.eventbuzz.live$request_uri;
# }
# }
# Local development
# - API: http://localhost:3001/api
# - Participant SPA: cd eventbuzz && npm run dev (port 5174)
# - Dashboard: cd frontend && npm run dev
# - Backend .env: EVENTBUZZ_PUBLIC_URL=http://localhost:5174 (or https://join.eventbuzz.live in prod)