-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy path.env.example
More file actions
150 lines (132 loc) · 6.22 KB
/
.env.example
File metadata and controls
150 lines (132 loc) · 6.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
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
# =============================================================================
# Constructa Starter - Environment Configuration
# =============================================================================
# Copy this file to .env and update the values as needed
# Never commit .env to version control!
# =============================================================================
# APPLICATION CONFIGURATION
# =============================================================================
# Client-side Base URL (optional - defaults to current origin in production)
# Used by TanStack Router for base path resolution
VITE_BASE_URL="http://localhost:3000"
APP_HOSTNAME="app.example.com"
ACME_EMAIL="admin@example.com"
# =============================================================================
# AI & ASSISTANT CONFIGURATION
# =============================================================================
# Server-only API key for LLM provider used by Mastra agents
OPENAI_API_KEY="sk-..."
# =============================================================================
# BILLING / POLAR CONFIGURATION
# =============================================================================
# Polar environment: "sandbox" for testing or "production" for live payments
POLAR_SERVER="sandbox"
POLAR_ACCESS_TOKEN=""
POLAR_WEBHOOK_SECRET=""
POLAR_ORGANIZATION_ID=""
POLAR_PRODUCT_PRO_MONTHLY="prod_..."
POLAR_PRODUCT_BUSINESS_MONTHLY="prod_..."
POLAR_PRODUCT_CREDITS_50="prod_..."
POLAR_PRODUCT_CREDITS_100="prod_..."
PUBLIC_URL="http://localhost:3000"
CHECKOUT_SUCCESS_URL="http://localhost:3000/billing/success"
CHECKOUT_CANCEL_URL="http://localhost:3000/dashboard"
VITE_ENTERPRISE_DEMO_URL="https://calendly.com/your-team/demo"
VITE_POLAR_PRODUCT_CREDITS_50="prod_..."
VITE_POLAR_PRODUCT_CREDITS_100="prod_..."
VITE_POLAR_PRODUCT_PRO_MONTHLY="prod_..."
VITE_POLAR_PRODUCT_BUSINESS_MONTHLY="prod_..."
# =============================================================================
# OBSERVABILITY / SENTRY
# =============================================================================
# Supply Sentry DSNs to enable error + log forwarding. Leave empty to disable.
SENTRY_DSN=""
VITE_SENTRY_DSN=""
# Structured logging fan-out. Flip these to control console patching and
# whether application logs sync to Sentry.
SENTRY_LOGGING="true"
VITE_SENTRY_LOGGING="true"
SENTRY_LOG_LEVEL="warn"
VITE_SENTRY_LOG_LEVEL="warn"
CONSOLE_LOGGER_PATCH="true"
VITE_CONSOLE_LOGGER_PATCH="true"
# =============================================================================
# DATABASE CONFIGURATION
# =============================================================================
DATABASE_URL="postgresql://user:password@localhost:5432/ex0"
POSTGRES_USER="user"
POSTGRES_PASSWORD="password"
POSTGRES_DB="ex0"
# =============================================================================
# AUTHENTICATION CONFIGURATION
# =============================================================================
BETTER_AUTH_SECRET="your-secret-key-here"
BETTER_AUTH_URL="http://localhost:3000"
# =============================================================================
# EMAIL CONFIGURATION
# =============================================================================
VITE_ENABLE_EMAIL_VERIFICATION="true"
ENABLE_EMAIL_VERIFICATION="true"
EMAIL_FROM="noreply@example.org"
# Local development defaults to MailHog; production should switch to SMTP.
# Accepted values: "mailhog" | "smtp" | "resend" | "console"
EMAIL_PROVIDER="mailhog"
MAILHOG_HOST="localhost"
MAILHOG_PORT="1025"
# SMTP configuration for production (example uses SendGrid)
SMTP_HOST="smtp.sendgrid.net"
SMTP_PORT="587"
SMTP_SECURE="false"
SMTP_USER="apikey"
SMTP_PASS="change-me-sendgrid-api-key"
# =============================================================================
# FILE STORAGE CONFIGURATION (MINIO / S3)
# =============================================================================
S3_ENDPOINT="http://localhost:9000"
S3_ACCESS_KEY_ID="minioadmin"
S3_SECRET_ACCESS_KEY="minioadmin"
S3_REGION="us-east-1"
S3_BUCKET="constructa-files"
S3_FORCE_PATH_STYLE="true"
MINIO_ROOT_USER="minioadmin"
MINIO_ROOT_PASSWORD="minioadmin"
MINIO_BUCKET="constructa-files"
# =============================================================================
# OAUTH PROVIDERS (OPTIONAL)
# =============================================================================
VITE_GITHUB_CLIENT_ID="your-github-client-id"
GITHUB_CLIENT_ID="your-github-client-id"
GITHUB_CLIENT_SECRET="your-github-client-secret"
VITE_GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_SECRET="your-google-client-secret"
# =============================================================================
# TESTING CONFIGURATION
# =============================================================================
TEST_BASE_URL="http://localhost:3000"
# =============================================================================
# SEARCH (MEILISEARCH)
# =============================================================================
# Meilisearch master key (required to start the service). In app/worker you may use MEILI_API_KEY.
MEILI_MASTER_KEY="changeme-master-key"
MEILI_HOST="http://localhost:7700"
MEILI_API_KEY="${MEILI_MASTER_KEY}"
# =============================================================================
# BACKGROUND JOBS / BULLMQ
# =============================================================================
REDIS_URL="redis://localhost:6379"
BULLMQ_PREFIX="constructa"
DAILY_CREDIT_REFILL_CRON="0 3 * * *"
JOB_DAILY_CREDIT_REFILL_URL="http://localhost:3000/api/jobs/daily-credit-refill"
JOBS_SECRET=""
# =============================================================================
# OPTIONAL: Cloudflare Tunnel for local webhooks (ngrok alternative)
# =============================================================================
# When set, `docker compose --profile tunnel up -d cloudflared` will expose your local app.
CLOUDFLARED_TUNNEL_TOKEN=""
# =============================================================================
# Compose Image (for self-host / local-in-docker)
# =============================================================================
# If you want to run the app/worker containers from a built image:
APP_IMAGE="ghcr.io/your-org/your-repo/app"
APP_TAG="latest"