-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
66 lines (57 loc) · 2.22 KB
/
Copy path.env.example
File metadata and controls
66 lines (57 loc) · 2.22 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
# Example env for local development. Copy to .env (and per-app apps/*/.env)
# then fill in real values. Never commit the populated .env files.
#
# In production, these live as Vercel project environment variables. The
# names here must match what apps/*/src/**/*.ts reads via process.env.
# ===== Common =====
NODE_ENV=development
# ===== Database (Boardly / collab) =====
# Neon pooled URL used by the running Next.js app (PrismaPg adapter)
DATABASE_URL=postgresql://app:app@localhost:5432/boardly
# Neon direct URL used only by `prisma migrate` / `prisma db push`
DIRECT_DATABASE_URL=postgresql://migrator:migrator@localhost:5432/boardly
# ===== Redis (rate limit + Socket.IO Pub/Sub once wired) =====
REDIS_URL=rediss://default:pass@example.upstash.io:6379
UPSTASH_REDIS_REST_URL=https://example.upstash.io
UPSTASH_REDIS_REST_TOKEN=
# ===== Auth.js v5 =====
# Generate with: `openssl rand -base64 32` or https://generate-secret.vercel.app/32
AUTH_SECRET=replace-me-with-openssl-rand-base64-32
# Tells Auth.js to trust the host header when running behind a proxy (Vercel, Fly)
AUTH_TRUST_HOST=true
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
# ===== Realtime (Pusher Channels, free tier, no credit card) =====
# Server-side credentials (never exposed to the browser)
PUSHER_APP_ID=
PUSHER_KEY=
PUSHER_SECRET=
PUSHER_CLUSTER=ap3
# Browser-visible subset (safe to ship in client bundle; must match above)
NEXT_PUBLIC_PUSHER_KEY=
NEXT_PUBLIC_PUSHER_CLUSTER=ap3
# ===== Observability (planned) =====
SENTRY_DSN=
BETTER_STACK_SOURCE_TOKEN=
# ===== Mail (invitations via Resend, free tier: 3000/mo, no credit card) =====
RESEND_API_KEY=
# Sending identity; use a verified domain in production. Falls back to
# `invites@boardly.dev` if unset.
RESEND_FROM_EMAIL=
# Invitation rate limits (abuse defence, enforced in server/invitation.ts).
# Any one tripping returns HTTP 429. Defaults stay well under the Resend
# free-tier cap of 3000/month.
INVITE_LIMIT_GLOBAL_PER_MONTH=1000
INVITE_LIMIT_WORKSPACE_PER_DAY=50
INVITE_LIMIT_USER_PER_DAY=20
# ===== AI (Knowlex only, planned) =====
GEMINI_API_KEY=
COHERE_API_KEY=
# ===== Storage (R2, planned) =====
R2_ACCOUNT_ID=
R2_ACCESS_KEY_ID=
R2_SECRET_ACCESS_KEY=
R2_BUCKET=
R2_PUBLIC_URL=