Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
69 lines (58 loc) · 3.54 KB
/
Copy path.env.example
File metadata and controls
69 lines (58 loc) · 3.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# NexaSphere — environment variables reference
#
# Copy the relevant sections into your host's environment variable settings
# (Vercel/Netlify/Render/Railway project settings, or a local .env file next
# to server/index.js for local development). Nothing here is required to get
# a basic deployment running — every value has a safe default — but you
# should override the admin credentials before hosting publicly.
# ---------------------------------------------------------------------------
# Frontend (Vite) — set in your hosting platform's build environment
# ---------------------------------------------------------------------------
# Base URL of the API, WITHOUT a trailing slash. Leave unset/empty if the
# frontend and the /api/* backend are served from the same origin (e.g. a
# single Vercel project with serverless functions under /api, or an Nginx
# reverse proxy) — this is the default and simplest setup.
# VITE_API_BASE=https://api.your-domain.com
# ---------------------------------------------------------------------------
# Backend (server/index.js) — the actual server entrypoint
# ---------------------------------------------------------------------------
# Port the Express server listens on. Most hosts (Render, Railway, etc.) set
# this automatically; only set it yourself for local/manual hosting.
PORT=8787
# Admin Dashboard login. CHANGE THESE before deploying publicly — the
# defaults (admin / admin123) are meant for local development only.
# Either an email or a plain username is accepted in the same field.
ADMIN_USERNAME=admin
ADMIN_PASSWORD=change-me-before-hosting
# Comma-separated list of allowed origins for CORS. Leave unset to allow all
# origins (fine for a single-origin deployment); set explicitly once the
# frontend has its own domain, e.g.:
# CORS_ORIGIN=https://nexasphere.example.com,https://www.nexasphere.example.com
# ---------------------------------------------------------------------------
# Data storage — pick ONE. If neither Supabase nor DATABASE_URL is set, the
# server falls back to a local JSON file (server/data/content.json), which
# works for a quick demo but resets on redeploy on most serverless hosts.
# ---------------------------------------------------------------------------
# Option A: Supabase (used by server/index.js, the actual running server)
# SUPABASE_URL=https://your-project.supabase.co
# SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
#
# Run server/supabase-schema.sql once against a fresh Supabase project, or
# apply server/migrations/*.sql in order against an existing one.
# Option B: Direct Postgres connection (used by the alternate
# server/routes/api.js + repositories/ stack — see OVERHAUL_NOTES.md for
# which stack is actually active in your deployment)
# DATABASE_URL=postgres://user:password@host:5432/nexasphere
# ---------------------------------------------------------------------------
# Optional: mirror form submissions into a Google Sheet
# ---------------------------------------------------------------------------
# GOOGLE_SERVICE_ACCOUNT_EMAIL=your-service-account@project.iam.gserviceaccount.com
# GOOGLE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"
# GOOGLE_SHEET_ID=your-spreadsheet-id
# GOOGLE_SHEET_TAB_NAME=Responses
# GOOGLE_MEMBERSHIP_TAB_NAME=MembershipResponses
# GOOGLE_RECRUITMENT_TAB_NAME=RecruitmentResponses
# GOOGLE_CORE_TEAM_TAB_NAME=CoreTeamResponses
# Password used by the "add activity event" flow when a core-team member
# posts a completed-event report directly from an activity page.
# ADMIN_EVENT_PASSWORD=change-me-too