-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy path.env.example
More file actions
53 lines (45 loc) · 2.76 KB
/
.env.example
File metadata and controls
53 lines (45 loc) · 2.76 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
# Copy this file to .env.local and fill in the values.
# .env.local is gitignored — never commit real secrets.
# ─── Database ────────────────────────────────────────────────────────────
# MongoDB connection string (Atlas or local). Required for chat history,
# submissions, questions, and user data.
MONGODB_URI=mongodb+srv://<user>:<password>@<cluster>/<db>?retryWrites=true&w=majority
# ─── Judge0 (code execution) ─────────────────────────────────────────────
# RapidAPI key for the Judge0 CE endpoint. Without this, the playground's
# Run button will fail with 401 from Judge0.
# Get one at: https://rapidapi.com/judge0-official/api/judge0-ce
RAPIDAPI_KEY=
# ─── Firebase (auth + Firestore for leaderboard) ─────────────────────────
# All NEXT_PUBLIC_* values come from Firebase console → Project settings → Web app.
NEXT_PUBLIC_FIREBASE_API_KEY=
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=
NEXT_PUBLIC_FIREBASE_PROJECT_ID=
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=
NEXT_PUBLIC_FIREBASE_APP_ID=
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=
# ─── Firebase Admin (server-side Firestore) ──────────────────────────────
# Use one of the following options for Admin SDK credentials.
FIREBASE_PROJECT_ID=
FIREBASE_CLIENT_EMAIL=
FIREBASE_PRIVATE_KEY=
# Alternatively, set FIREBASE_SERVICE_ACCOUNT_JSON to the full JSON string.
FIREBASE_SERVICE_ACCOUNT_JSON=
# ─── Appwrite (legacy auth + some collections) ───────────────────────────
# From Appwrite Console → your project → Settings.
NEXT_PUBLIC_API_ENDPOINT=https://cloud.appwrite.io/v1
NEXT_PUBLIC_PROJECT_ID=
APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
APPWRITE_PROJECT_ID=
APPWRITE_API_KEY=
# ─── App ─────────────────────────────────────────────────────────────────
# Used for absolute URLs in server-side fetches.
NEXT_PUBLIC_APP_URL=http://localhost:3000
# Comma-separated email allowlist for admin actions (e.g. creating problems
# via /questions). Both server-side (POST /api/questions) and client-side
# (/questions page) use this. See lib/auth.ts for caveats — this is a UX
# gate, NOT a real security boundary, until server-side token verification
# is added.
NEXT_PUBLIC_ADMIN_EMAILS=admin1@example.com,admin2@example.com
# Express clans-server port (separate dev process).
PORT=4000