-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
94 lines (81 loc) · 3.24 KB
/
Copy path.env.example
File metadata and controls
94 lines (81 loc) · 3.24 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
# ============================================
# WORKSYNAPSE ROOT ENVIRONMENT CONFIGURATION
# ============================================
# Copy this file to .env and fill in your values
# NEVER commit .env to version control!
# ============================================
# ===========================================
# APPLICATION
# ===========================================
PROJECT_NAME=WorkSynapse API
API_V1_STR=/api/v1
DEBUG=false
ENVIRONMENT=production
LOG_LEVEL=INFO
# ===========================================
# SECURITY (REQUIRED - Generate secure values!)
# ===========================================
# Generate with: openssl rand -hex 32
SECRET_KEY=your-super-secure-secret-key-min-32-characters-change-me
# JWT Settings
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=11520
REFRESH_TOKEN_EXPIRE_DAYS=30
# Generate with: openssl rand -hex 24
SERVICE_API_KEY=your-service-api-key-change-me
# ===========================================
# DATABASE (PostgreSQL)
# ===========================================
POSTGRES_USER=worksynapse_user
POSTGRES_PASSWORD=your_secure_database_password
POSTGRES_DB=worksynapse
# ===========================================
# MULTI-TENANCY (Database-per-tenant)
# ===========================================
# Turn on to route each request to its tenant's own database.
# Leave False for a single-database deployment (default, backwards compatible).
MULTI_TENANT_ENABLED=False
# Control-plane database that stores the tenant registry (organizations).
MASTER_POSTGRES_DB=worksynapse_master
# Maintenance DB used to run CREATE/DROP DATABASE (must already exist).
POSTGRES_MAINTENANCE_DB=postgres
# Every tenant DB is named f"{TENANT_DB_PREFIX}{slug}", e.g. worksynapse_tenant_acme
TENANT_DB_PREFIX=worksynapse_tenant_
# Base domain used to derive a tenant slug from a subdomain (acme.worksynapse.com -> acme)
BASE_DOMAIN=worksynapse.com
# Subdomains that must never be treated as tenants
RESERVED_SUBDOMAINS=www,api,app,admin,static,assets,docs,mail
# Fallback header carrying the tenant slug
TENANT_HEADER_NAME=X-Tenant-ID
# ===========================================
# REDIS
# ===========================================
REDIS_PASSWORD=your_redis_password
# ===========================================
# RABBITMQ
# ===========================================
RABBITMQ_USER=admin
RABBITMQ_PASSWORD=your_rabbitmq_password
# ===========================================
# EXTERNAL SERVICES
# ===========================================
OPENAI_API_KEY=sk-your-openai-api-key
# ===========================================
# WEBHOOKS
# ===========================================
GITHUB_WEBHOOK_SECRET=your-github-webhook-secret
JIRA_WEBHOOK_SECRET=your-jira-webhook-secret
# ===========================================
# CORS
# ===========================================
BACKEND_CORS_ORIGINS=http://localhost:80,http://localhost:3000,http://localhost:5173
# ===========================================
# MONITORING
# ===========================================
GRAFANA_PASSWORD=your-grafana-admin-password
# Celery / Flower
# Concurrency = worker processes; Flower is the Celery monitoring dashboard.
CELERY_WORKER_CONCURRENCY=4
FLOWER_PORT=5555
# Protect the Flower UI (leave empty to disable auth — not recommended in prod)
FLOWER_BASIC_AUTH=admin:change-me