-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
136 lines (128 loc) · 4.42 KB
/
.env.example
File metadata and controls
136 lines (128 loc) · 4.42 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
########################################
# Global / Environment
########################################
NODE_ENV=development
APP_NAME=CorpSim
WEB_PORT=4311
API_PORT=4310
APP_URL=http://localhost:4311
API_URL=http://localhost:4310
CORS_ORIGIN=http://localhost:4311
########################################
# Next.js Telemetry (set to 1 to disable)
########################################
NEXT_TELEMETRY_DISABLED=0
########################################
# Database (PostgreSQL / Prisma)
########################################
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/corpsim
DB_HOST=localhost
DB_PORT=5432
DB_NAME=corpsim
DB_USER=postgres
DB_PASSWORD=postgres
ENFORCE_SCHEMA_READINESS=true
PRISMA_MIGRATIONS_DIR=
########################################
# Redis (queues, cache, ticks)
########################################
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_DB=0
REDIS_USERNAME=
REDIS_PASSWORD=
REDIS_TLS=false
########################################
# Auth (future-proof even if solo)
########################################
JWT_SECRET=change_me_dev_only
SESSION_SECRET=change_me_dev_only
BETTER_AUTH_SECRET=replace_with_at_least_32_random_chars
ADMIN_PASSWORD=
# BETTER_AUTH_URL: Base URL for Better Auth endpoints and OAuth callbacks
# In production, set this to the main web domain (e.g., https://corpsim.altitude-interactive.com)
# NOT the API subdomain. The nginx proxy will forward /api/auth/* to the API server.
BETTER_AUTH_URL=http://localhost:4310
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_AUTH_PROMPT=select_account
GOOGLE_AUTH_ACCESS_TYPE=online
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
MICROSOFT_CLIENT_ID=
MICROSOFT_CLIENT_SECRET=
DISCORD_CLIENT_ID=
DISCORD_CLIENT_SECRET=
AUTH_RATE_LIMIT_ENABLED=true
AUTH_RATE_LIMIT_STORAGE=memory
AUTH_RATE_LIMIT_WINDOW_SECONDS=60
AUTH_RATE_LIMIT_MAX_REQUESTS=120
AUTH_RATE_LIMIT_SIGN_IN_WINDOW_SECONDS=300
AUTH_RATE_LIMIT_SIGN_IN_MAX_REQUESTS=8
AUTH_RATE_LIMIT_SIGN_UP_WINDOW_SECONDS=900
AUTH_RATE_LIMIT_SIGN_UP_MAX_REQUESTS=5
AUTH_RATE_LIMIT_TWO_FACTOR_WINDOW_SECONDS=300
AUTH_RATE_LIMIT_TWO_FACTOR_MAX_REQUESTS=10
AUTH_RATE_LIMIT_PASSWORD_RESET_WINDOW_SECONDS=900
AUTH_RATE_LIMIT_PASSWORD_RESET_MAX_REQUESTS=5
AUTH_IP_ADDRESS_HEADERS=x-client-ip,x-forwarded-for,cf-connecting-ip,x-real-ip,true-client-ip,fly-client-ip
AUTH_IPV6_SUBNET=64
########################################
# Simulation / Game Engine
########################################
TICK_INTERVAL_MS=60000
SIMULATION_SPEED=1
TICK_EXECUTION_RETENTION_TICKS=100000
TICK_EXECUTION_CLEANUP_EVERY_TICKS=100
DEMAND_SINK_ENABLED=true
DEMAND_SINK_ITEMS=HAND_TOOLS,MACHINE_PARTS,TOOL_KIT,POWER_UNIT,CONVEYOR_MODULE,INDUSTRIAL_PRESS
DEMAND_SINK_BASE_QUANTITY_PER_COMPANY=1
DEMAND_SINK_VARIABILITY_QUANTITY=2
BOT_COUNT=25
BULLMQ_PREFIX=corpsim
BULLMQ_QUEUE_NAME=simulation.tick
BULLMQ_SCHEDULER_ID=simulation-tick-scheduler
BULLMQ_JOB_NAME=simulation.tick.process
BULLMQ_SCHEDULER_ENABLED=true
BULLMQ_WORKER_ENABLED=true
BULLMQ_WORKER_CONCURRENCY=1
BULLMQ_JOB_ATTEMPTS=1
BULLMQ_JOB_BACKOFF_MS=1000
BULLMQ_REMOVE_ON_COMPLETE=500
BULLMQ_REMOVE_ON_FAIL=1000
COMPANY_SPECIALIZATION_CHANGE_COOLDOWN_HOURS=4
########################################
# Frontend (Next.js public vars)
########################################
NEXT_PUBLIC_APP_URL=http://localhost:4311
# Optional explicit auth origin for Better Auth client requests.
# Leave blank to use same-origin routing.
NEXT_PUBLIC_AUTH_URL=
NEXT_PUBLIC_API_URL=http://localhost:4310
NEXT_PUBLIC_APP_NAME=CorpSim
NEXT_PUBLIC_DISCORD_SERVER_URL=
NEXT_PUBLIC_COMPANY_SPECIALIZATION_CHANGE_COOLDOWN_HOURS=4
# SSO provider visibility flags (defaults to false if not set)
# Set to 'true' to show SSO login buttons for each provider
# Remember to also configure the corresponding CLIENT_ID and CLIENT_SECRET above
NEXT_PUBLIC_AUTH_GOOGLE_ENABLED=false
NEXT_PUBLIC_AUTH_GITHUB_ENABLED=false
NEXT_PUBLIC_AUTH_MICROSOFT_ENABLED=false
NEXT_PUBLIC_AUTH_DISCORD_ENABLED=false
########################################
# Logging / Debug
########################################
LOG_LEVEL=debug
ENABLE_METRICS=false
CORPSIM_OPS_TOKEN=
########################################
# Docker / Deployment helpers
########################################
APP_IMAGE_REPO=ghcr.io/altitude-interactive/corpsim
APP_IMAGE_TAG=latest
# Leave empty to use APP_IMAGE_TAG.
# Set to true to bypass APP_IMAGE_TAG and force a local build from the latest checked-out commit.
APP_IMAGE_BYPASS_TAG=
POSTGRES_DB=corpsim
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres