-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy path.env.example
More file actions
237 lines (200 loc) · 8.89 KB
/
Copy path.env.example
File metadata and controls
237 lines (200 loc) · 8.89 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
231
232
233
234
235
236
237
# ==========================================
# Fairlx Environment Configuration Template
# ==========================================
# Copy this file to .env.local and fill in the values.
# Variables marked with [PRIVATE] should never be exposed to the client.
# ─── 0. SYSTEM DEFAULTS ────────────────────
# Number of days before unverified accounts are deleted
DELETE_UNVERIFIED_AFTER_DAYS=180
# ─── 1. PROJECT CONFIGURATION ──────────────
# Base URL of the application
NEXT_PUBLIC_APP_URL=http://localhost:3000
# Node environment (development, production, test)
NODE_ENV=development
# ─── 2. APPWRITE CORE ──────────────────────
# Endpoint and Project ID from Appwrite Console
NEXT_PUBLIC_APPWRITE_ENDPOINT=
NEXT_PUBLIC_APPWRITE_PROJECT=
# [PRIVATE] Appwrite API Key with full database/storage permissions
NEXT_APPWRITE_KEY=
# ─── 3. SECURITY & SECRETS ─────────────────
# [PRIVATE] Secret token for authenticating cron job requests
CRON_SECRET=
# [PRIVATE] secret for wallet signature verification
WALLET_SIG_SECRET=
# [PRIVATE] Encryption secret for 2FA recovery codes (32-char hex string)
TWO_FACTOR_ENCRYPTION_SECRET=
# [PRIVATE] Secret for internal Socket.IO push endpoint
SOCKET_PUSH_SECRET=
# [PRIVATE] Encryption key for BYOB tenant env blobs (32-byte hex string)
BYOB_ENCRYPTION_SECRET=
# ─── 4. BILLING & PRICING ──────────────────
# Default billing grace period in days
BILLING_GRACE_PERIOD_DAYS=14
# Primary currency (e.g., USD, INR)
BILLING_CURRENCY=USD
# Usage rates (in currency units per unit)
USAGE_RATE_TRAFFIC_GB=0.10
USAGE_RATE_STORAGE_GB_MONTH=0.05
USAGE_RATE_COMPUTE_UNIT=0.001
# ─── 5. PAYMENT GATEWAY (CASHFREE) ──────────
# [PRIVATE] Cashfree API Credentials
CASHFREE_APP_ID=
CASHFREE_SECRET_KEY=
# [PRIVATE] Cashfree Webhook Secret for payment confirmation
CASHFREE_WEBHOOK_SECRET=
# [PRIVATE] Cashfree Environment (SANDBOX or PRODUCTION)
CASHFREE_ENV=SANDBOX
# [PRIVATE] API key for live USD <-> INR conversion
EXCHANGE_RATE_API_KEY=
# ─── 5. TRIAL CREDITS & BILLING ────────────────
# Welcome trial credit amount in USD (e.g., 30 = $30.00)
NEXT_PUBLIC_TRIAL_CREDIT_USD=30
# Duration of the welcome trial in days before the account is locked
TRIAL_CREDIT_DAYS=60
# ─── 6. WALLETS ───────────────────────────
# Maximum daily top-up amount for individual wallets (in paise/cents)
WALLET_DAILY_TOPUP_LIMIT=50000000
# ─── 7. EXTERNAL APIS & INTEGRATIONS ─────────
# [PRIVATE] Fairlx Integration Encryption Secret (32-byte hex for AES-256-GCM)
# Used to encrypt per-project OAuth tokens in the database
INTEGRATION_ENCRYPTION_SECRET=
# --- Source Control Integrations ---
# [PRIVATE] GitHub OAuth App Credentials
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
# [PRIVATE] Legacy GitHub Personal Access Token (for backend rate limits)
GH_PERSONAL_TOKEN=
# [PRIVATE] GitLab OAuth App Credentials
GITLAB_CLIENT_ID=
GITLAB_CLIENT_SECRET=
# [PRIVATE] Bitbucket OAuth App Credentials
BITBUCKET_CLIENT_ID=
BITBUCKET_CLIENT_SECRET=
# --- Communication Integrations ---
# [PRIVATE] Slack OAuth App Credentials
SLACK_CLIENT_ID=
SLACK_CLIENT_SECRET=
# [PRIVATE] Discord OAuth App Credentials
DISCORD_CLIENT_ID=
DISCORD_CLIENT_SECRET=
# --- Productivity Integrations ---
# [PRIVATE] Google Workspace OAuth App (Drive, Calendar, Gmail)
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
# [PRIVATE] Notion OAuth App Credentials
NOTION_CLIENT_ID=
NOTION_CLIENT_SECRET=
# --- AI & External Services ---
# [PRIVATE] Google Gemini AI API Configuration
# Get your API key from: https://aistudio.google.com/app/apikey
GEMINI_API_KEY=
GEMINI_MODEL=gemini-2.5-flash
# ─── 8. APPWRITE MESSAGING ────────────────
# [PRIVATE] Appwrite SMTP provider ID
NEXT_PUBLIC_APPWRITE_SMTP_PROVIDER_ID=
# [PRIVATE] Topic ID for automated email notifications
NEXT_PUBLIC_APPWRITE_EMAIL_TOPIC_ID=
# ─── 9. CLOUDFLARE R2 STORAGE (OPTIONAL) ──
# When set, the app uses R2 instead of Appwrite Storage for production.
R2_ACCOUNT_ID=
R2_ACCESS_KEY_ID=
R2_SECRET_ACCESS_KEY=
R2_BUCKET_NAME=fairlx-storage
# Custom domain pointing to your R2 bucket
R2_PUBLIC_URL=
# ─── 10. LANDING PAGE (SUPABASE) ──────────
# Used for data fetching on the external landing page
LANDING_SUPABASE_URL=
# [PRIVATE] Service role key (bypasses RLS - server-side only)
LANDING_SUPABASE_SERVICE_ROLE_KEY=
# ─── 11. REDIS CACHING ───────────────────
# [PRIVATE] Redis connection URL (redis://user:pass@host:port)
REDIS_URL=
# [PRIVATE] Redis password
REDIS_PASSWORD=
# ─── 12. DATABASE SCHEMA (AUTO-GENERATED) ──
# Database ID
NEXT_PUBLIC_APPWRITE_DATABASE_ID=fairlx
# -- Core & Workspace --
NEXT_PUBLIC_APPWRITE_WORKSPACES_ID=workspaces
NEXT_PUBLIC_APPWRITE_MEMBERS_ID=members
NEXT_PUBLIC_APPWRITE_PROJECTS_ID=projects
NEXT_PUBLIC_APPWRITE_PROJECT_MEMBERS_ID=project_members
NEXT_PUBLIC_APPWRITE_PROJECT_ROLES_ID=project_roles
# -- Work Management --
NEXT_PUBLIC_APPWRITE_WORK_ITEMS_ID=workItems
NEXT_PUBLIC_APPWRITE_TASKS_ID=workItems
NEXT_PUBLIC_APPWRITE_SPRINTS_ID=sprints
NEXT_PUBLIC_APPWRITE_PERSONAL_BACKLOG_ID=personalBacklog
NEXT_PUBLIC_APPWRITE_CUSTOM_COLUMNS_ID=custom-columns
NEXT_PUBLIC_APPWRITE_DEFAULT_COLUMN_SETTINGS_ID=default_column_settings
NEXT_PUBLIC_APPWRITE_SUBTASKS_ID=subtasks
NEXT_PUBLIC_APPWRITE_TIME_LOGS_ID=time_logs
# -- Collaboration --
NEXT_PUBLIC_APPWRITE_NOTIFICATIONS_ID=notifications
NEXT_PUBLIC_APPWRITE_ATTACHMENTS_ID=attachments
NEXT_PUBLIC_APPWRITE_COMMENTS_ID=comments
NEXT_PUBLIC_APPWRITE_PROJECT_DOCS_ID=project_docs
# -- Audit & Organizations --
NEXT_PUBLIC_APPWRITE_AUDIT_LOGS_ID=audit_logs
NEXT_PUBLIC_APPWRITE_ORGANIZATION_AUDIT_LOGS_ID=organization_audit_logs
NEXT_PUBLIC_APPWRITE_ORGANIZATIONS_ID=organizations
NEXT_PUBLIC_APPWRITE_ORGANIZATION_MEMBERS_ID=organization_members
NEXT_PUBLIC_APPWRITE_DEPARTMENTS_ID=departments
NEXT_PUBLIC_APPWRITE_ORG_MEMBER_DEPARTMENTS_ID=org_member_departments
NEXT_PUBLIC_APPWRITE_ORG_MEMBER_PERMISSIONS_ID=org_member_permissions
NEXT_PUBLIC_APPWRITE_DEPARTMENT_PERMISSIONS_ID=department_permissions
# -- Auth Tokens --
NEXT_PUBLIC_APPWRITE_LOGIN_TOKENS_ID=login_tokens
NEXT_PUBLIC_APPWRITE_VERIFICATION_TOKENS_ID=verification_tokens
NEXT_PUBLIC_APPWRITE_USER_RECOVERY_CODES_ID=user_recovery_codes
NEXT_PUBLIC_APPWRITE_EMAIL_OTP_CODES_ID=email_otp_codes
# -- Usage & Billing --
NEXT_PUBLIC_APPWRITE_USAGE_EVENTS_ID=usage_events
NEXT_PUBLIC_APPWRITE_USAGE_AGGREGATIONS_ID=usage_aggregations
NEXT_PUBLIC_APPWRITE_USAGE_ALERTS_ID=usage_alerts
NEXT_PUBLIC_APPWRITE_USAGE_DEDUCTIONS_ID=usage_deductions
NEXT_PUBLIC_APPWRITE_BILLING_ACCOUNTS_ID=billing_accounts
NEXT_PUBLIC_APPWRITE_BILLING_AUDIT_LOGS_ID=billing_audit_logs
NEXT_PUBLIC_APPWRITE_BILLING_SETTINGS_ID=billing_settings
NEXT_PUBLIC_APPWRITE_STORAGE_SNAPSHOTS_ID=storage_daily_snapshots
NEXT_PUBLIC_APPWRITE_INVOICES_ID=invoices
NEXT_PUBLIC_APPWRITE_PROCESSED_EVENTS_ID=processed_events
NEXT_PUBLIC_AI_MODEL_PRICING_ID=ai_model_pricing
# -- Wallets --
NEXT_PUBLIC_APPWRITE_WALLETS_ID=wallets
NEXT_PUBLIC_APPWRITE_WALLET_TRANSACTIONS_ID=wallet_transactions
# -- Integrations --
NEXT_PUBLIC_APPWRITE_GITHUB_REPOS_ID=github_repositories
NEXT_PUBLIC_APPWRITE_CODE_DOCS_ID=code_documentation
NEXT_PUBLIC_APPWRITE_GITHUB_EVENTS_ID=github_events
# -- Teams & Programs --
NEXT_PUBLIC_APPWRITE_PROJECT_TEAMS_ID=project_teams
NEXT_PUBLIC_APPWRITE_PROJECT_TEAM_MEMBERS_ID=project_team_members
NEXT_PUBLIC_APPWRITE_PROJECT_PERMISSIONS_ID=project_permissions
NEXT_PUBLIC_APPWRITE_PROGRAMS_ID=programs
NEXT_PUBLIC_APPWRITE_PROGRAM_MEMBERS_ID=program_members
NEXT_PUBLIC_APPWRITE_PROGRAM_MILESTONES_ID=program_milestones
NEXT_PUBLIC_APPWRITE_CUSTOM_ROLES_ID=custom_roles
# -- Spaces & Workflows --
NEXT_PUBLIC_APPWRITE_SPACES_ID=spaces
NEXT_PUBLIC_APPWRITE_SPACE_MEMBERS_ID=space_members
NEXT_PUBLIC_APPWRITE_WORKFLOWS_ID=workflows
NEXT_PUBLIC_APPWRITE_WORKFLOW_STATUSES_ID=workflow_statuses
NEXT_PUBLIC_APPWRITE_WORKFLOW_TRANSITIONS_ID=workflow_transitions
# -- Personalization & UI --
NEXT_PUBLIC_APPWRITE_CUSTOM_FIELDS_ID=custom_fields
NEXT_PUBLIC_APPWRITE_CUSTOM_WORK_ITEM_TYPES_ID=custom_work_item_types
NEXT_PUBLIC_APPWRITE_WORK_ITEM_LINKS_ID=work_item_links
NEXT_PUBLIC_APPWRITE_SAVED_VIEWS_ID=saved_views
# -- Webhooks & BYOB --
NEXT_PUBLIC_APPWRITE_PROJECT_WEBHOOKS_ID=project_webhooks
NEXT_PUBLIC_APPWRITE_PROJECT_WEBHOOK_DELIVERIES_ID=project_webhook_deliveries
NEXT_PUBLIC_APPWRITE_BYOB_TENANTS_ID=byob_tenants
# -- Storage Buckets --
NEXT_PUBLIC_APPWRITE_IMAGES_BUCKET_ID=images
NEXT_PUBLIC_APPWRITE_ATTACHMENTS_BUCKET_ID=attachments_bucket
NEXT_PUBLIC_APPWRITE_PROJECT_DOCS_BUCKET_ID=project-docs
NEXT_PUBLIC_APPWRITE_BUG_REPORT=bug_report
NEXT_PUBLIC_APPWRITE_BUG_REPORTS_BUCKET_ID=bug_reports_bucket