-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env.example
More file actions
230 lines (179 loc) · 8.17 KB
/
.env.example
File metadata and controls
230 lines (179 loc) · 8.17 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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
# =============================================================================
# MONOLITH APPLICATION ENVIRONMENT VARIABLES
# =============================================================================
# Copy this file to .env and update the values according to your setup
#
# IMPORTANT: Choose ONE authentication system - either Supabase Auth OR Better Auth
# Using both simultaneously is not recommended and may cause conflicts
# =============================================================================
# GENERAL APPLICATION SETTINGS
# =============================================================================
# Application Environment (development, staging, production)
NODE_ENV=development
# Your application's public URL (used by authentication systems)
NEXT_PUBLIC_SITE_URL=http://localhost:3000
SITE_URL=http://localhost:3000
# Root domain for cross-subdomain cookies (Better Auth)
ROOT_DOMAIN=localhost
# =============================================================================
# DATABASE CONFIGURATION
# =============================================================================
# PostgreSQL Connection Settings
POSTGRES_HOST=db
POSTGRES_DB=postgres
POSTGRES_PORT=5432
# SECURITY: Change this password in production!
POSTGRES_PASSWORD=your-super-secret-and-long-postgres-password
# Database URL for application (used by Drizzle ORM)
DATABASE_URL=postgresql://postgres:your-super-secret-and-long-postgres-password@localhost:5432/postgres
# =============================================================================
# AUTHENTICATION CONFIGURATION
# =============================================================================
# JWT Configuration
# SECURITY: Generate new secrets in production!
JWT_SECRET=your-jwt-secret-key-at-least-32-characters-long
JWT_EXPIRY=3600
# =============================================================================
# SUPABASE CONFIGURATION (Use if you choose Supabase Auth)
# =============================================================================
# Supabase URLs
SUPABASE_PUBLIC_URL=http://localhost:8000
API_EXTERNAL_URL=http://localhost:8000
# Supabase API Keys
# Generate these at: https://supabase.com/docs/guides/self-hosting/docker#generate-api-keys
ANON_KEY=your-supabase-anon-key
SERVICE_ROLE_KEY=your-supabase-service-role-key
# Supabase Auth Settings
DISABLE_SIGNUP=false
ENABLE_ANONYMOUS_USERS=false
ENABLE_EMAIL_SIGNUP=true
ENABLE_EMAIL_AUTOCONFIRM=false
ENABLE_PHONE_SIGNUP=true
ENABLE_PHONE_AUTOCONFIRM=true
# Multi-Factor Authentication
MFA_ENABLED=false
MFA_MAX_ENROLLED_FACTORS=10
# Password Policy
PASSWORD_MIN_LENGTH=6
# Additional Redirect URLs (comma-separated)
ADDITIONAL_REDIRECT_URLS=""
# =============================================================================
# BETTER AUTH CONFIGURATION (Use if you choose Better Auth)
# =============================================================================
# Redis Configuration (Required for Better Auth sessions)
UPSTASH_REDIS_REST_URL=your-upstash-redis-url
UPSTASH_REDIS_REST_TOKEN=your-upstash-redis-token
# Better Auth uses the DATABASE_URL and NEXT_PUBLIC_SITE_URL from above
# =============================================================================
# EMAIL CONFIGURATION (SMTP)
# =============================================================================
# Email Settings
SMTP_ADMIN_EMAIL=admin@example.com
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your-email@gmail.com
SMTP_PASS=your-app-password
SMTP_SENDER_NAME="Your App Name"
# Email Templates (Supabase)
MAILER_TEMPLATES_INVITE=./volumes/functions/invite.html
MAILER_TEMPLATES_CONFIRMATION=./volumes/functions/confirmation.html
MAILER_TEMPLATES_RECOVERY=./volumes/functions/recovery.html
MAILER_TEMPLATES_MAGIC_LINK=./volumes/functions/magic_link.html
MAILER_TEMPLATES_EMAIL_CHANGE=./volumes/functions/email_change.html
# Email URL Paths (Supabase)
MAILER_URLPATHS_INVITE=/auth/v1/verify
MAILER_URLPATHS_CONFIRMATION=/auth/v1/verify
MAILER_URLPATHS_RECOVERY=/auth/v1/verify
MAILER_URLPATHS_EMAIL_CHANGE=/auth/v1/verify
# =============================================================================
# SUPABASE SERVICES CONFIGURATION
# =============================================================================
# Enable/Disable Supabase Services (set to false if using Better Auth only)
SUPABASE_AUTH=true
SUPABASE_STUDIO=true
SUPABASE_FUNCTIONS=true
SUPABASE_STORAGE=true
SUPABASE_REALTIME=true
SUPABASE_GRAPHQL=true
# Dashboard Authentication
DASHBOARD_USERNAME=admin
DASHBOARD_PASSWORD=your-dashboard-password
# Studio Configuration
STUDIO_DEFAULT_ORGANIZATION="Your Organization"
STUDIO_DEFAULT_PROJECT="Your Project"
STUDIO_PORT=8000
# =============================================================================
# KONG API GATEWAY CONFIGURATION
# =============================================================================
KONG_HTTP_PORT=8000
KONG_HTTPS_PORT=8443
# =============================================================================
# DATABASE POOLER (SUPAVISOR)
# =============================================================================
# Port Supavisor listens on for transaction pooling connections
POOLER_PROXY_PORT_TRANSACTION=6543
# Maximum number of PostgreSQL connections Supavisor opens per pool
POOLER_DEFAULT_POOL_SIZE=20
# Maximum number of client connections Supavisor accepts per pool
POOLER_MAX_CLIENT_CONN=100
# Unique tenant identifier
POOLER_TENANT_ID=your-tenant-id
# Pool size for internal metadata storage used by Supavisor
POOLER_DB_POOL_SIZE=5
# =============================================================================
# POSTGREST CONFIGURATION
# =============================================================================
PGRST_DB_SCHEMAS=public,storage,graphql_public
# =============================================================================
# STORAGE CONFIGURATION
# =============================================================================
# Image Processing
IMGPROXY_ENABLE_WEBP_DETECTION=true
# =============================================================================
# ANALYTICS & LOGGING
# =============================================================================
# Logflare API Keys (for analytics)
LOGFLARE_API_KEY=your-logflare-api-key
LOGFLARE_PUBLIC_ACCESS_TOKEN=your-logflare-public-token
LOGFLARE_PRIVATE_ACCESS_TOKEN=your-logflare-private-token
# OpenAI API Key (for SQL Editor Assistant in Supabase Studio)
OPENAI_API_KEY=your-openai-api-key
# =============================================================================
# SECURITY KEYS
# =============================================================================
# SECURITY: YOU MUST CHANGE THESE BEFORE GOING INTO PRODUCTION!
# Base secret key for encryption
SECRET_KEY_BASE=your-secret-key-base-64-characters-minimum
# Vault encryption key (32 characters minimum)
VAULT_ENC_KEY=your-encryption-key-32-chars-min
# Rate Limiting
GOTRUE_RATE_LIMIT_HEADER=X-Real-IP
# =============================================================================
# DOCKER CONFIGURATION
# =============================================================================
# Docker Socket Location (adjust for your OS)
# Linux: /var/run/docker.sock
# macOS: /var/run/docker.sock
# Windows: //var/run/docker.sock
DOCKER_SOCKET_LOCATION=/var/run/docker.sock
# =============================================================================
# FUNCTIONS CONFIGURATION
# =============================================================================
# Functions Configuration
FUNCTIONS_VERIFY_JWT=false
# =============================================================================
# GOOGLE CLOUD CONFIGURATION (Optional)
# =============================================================================
# Google Cloud Project details (for advanced features)
GOOGLE_PROJECT_ID=your-google-project-id
GOOGLE_PROJECT_NUMBER=your-google-project-number
# =============================================================================
# DEVELOPMENT ENVIRONMENT OVERRIDES
# =============================================================================
# For local development with Supabase
# These settings work with the default docker-compose setup
# SMTP_HOST=supabase-mail
# SMTP_PORT=2500
# SMTP_USER=fake_mail_user
# SMTP_PASS=fake_mail_password
# SMTP_SENDER_NAME=fake_sender