-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
86 lines (73 loc) · 2.9 KB
/
.env.example
File metadata and controls
86 lines (73 loc) · 2.9 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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# Database Configuration
# Option 1: Use DATABASE_URL (recommended for Vercel + Neon)
DATABASE_URL=postgresql://user:password@host:5432/database
# Option 2: Use individual variables (local development with Docker)
POSTGRES_USER=veerify
POSTGRES_PASSWORD=veerifypassword
POSTGRES_DB=veerifydb
PGHOST=localhost
PGPORT=5432
# BetterAuth Configuration
BETTER_AUTH_CLIENT_ID=
BETTER_AUTH_SECRET=
BETTER_AUTH_URL=http://localhost:3000 # Base URL of your dashboard app (use https://app.veerify.io in production)
# Secret key rotation (BetterAuth 1.5+): when rotating BETTER_AUTH_SECRET, set the OLD secret here.
# New data is encrypted with BETTER_AUTH_SECRET; BETTER_AUTH_SECRET_PREV decrypts any data
# encrypted with the previous key. Once all old sessions have expired you can remove this.
# BETTER_AUTH_SECRET_PREV=
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
# GitHub OAuth app callback URL should be:
# https://<your-dashboard-host>/api/auth/callback/github
# Veerify's product GitHub integration uses a nested callback under that path.
# App Domain (used for subdomain-based public pages: team-slug.APP_DOMAIN)
APP_DOMAIN=localhost
# Dashboard domain (used by login/signup links from public boards)
# Defaults to app.<APP_DOMAIN> when omitted in non-local environments.
APP_DASHBOARD_DOMAIN=localhost
# Optional: "self-hosted" or "cloud". When omitted, auto-detected from platform env vars.
APP_DEPLOYMENT_MODE=self-hosted
# CNAME target for custom domain setup (point users' CNAMEs here)
CNAME_TARGET=cname.veerify.io
# Domain provider for project custom domains: "static-cname" keeps the
# existing manual CNAME flow; "vercel" uses the Vercel Domains API.
DOMAIN_PROVIDER=static-cname
# Required when DOMAIN_PROVIDER=vercel
VERCEL_API_TOKEN=
VERCEL_PROJECT_ID=
# Optional: set one of these when the Vercel project belongs to a team scope
VERCEL_TEAM_ID=
VERCEL_TEAM_SLUG=
# SMTP Configuration for nodemailer
SMTP_HOST=localhost
SMTP_PORT=1025
SMTP_USER=
SMTP_PASS=
SMTP_SECURE=false
MAIL_FROM=noreply@yourapp.com
MAIL_FROM_NAME=Your App Name
# Storage Configuration (logo/banner uploads)
# STORAGE_DRIVER can be "local" or "s3"
STORAGE_DRIVER=local
# Local storage mode
STORAGE_LOCAL_DIR=.data/storage
# S3-compatible storage mode (AWS S3, Cloudflare R2, MinIO, etc.)
STORAGE_BUCKET=
STORAGE_REGION=auto
STORAGE_ENDPOINT=
STORAGE_ACCESS_KEY_ID=
STORAGE_SECRET_ACCESS_KEY=
STORAGE_FORCE_PATH_STYLE=false
# Local MinIO defaults (docker-compose-dev.yml)
# STORAGE_DRIVER=s3
# STORAGE_BUCKET=veerify-assets
# STORAGE_REGION=us-east-1
# STORAGE_ENDPOINT=http://127.0.0.1:9000
# STORAGE_ACCESS_KEY_ID=minioadmin
# STORAGE_SECRET_ACCESS_KEY=minioadmin
# STORAGE_FORCE_PATH_STYLE=true
# Optional public base URL for storage object links (for CDN/custom host)
STORAGE_PUBLIC_BASE_URL=
# Upload token signing secret (REQUIRED — generate a random secret, e.g. `openssl rand -base64 32`)
# The server will refuse to start if this is not set.
UPLOAD_TOKEN_SECRET=