56 lines
1.7 KiB
Plaintext
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)
|