Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
66 lines (59 loc) · 3.26 KB
/
Copy path.env.example
File metadata and controls
66 lines (59 loc) · 3.26 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
# Copy to .env (git-ignored) and fill in. The API refuses to boot if any of these is missing or invalid.
# Variables without a default must be set explicitly.
# development | test | production (no default)
NODE_ENV=development
# Browser-facing origin for links the API generates in emails (password reset).
# compose dev: http://localhost:8080 (nginx); vite dev server: http://localhost:5173
WEB_URL=http://localhost:8080
# Where admin-uploaded images (faction banners/logos/backgrounds) are stored (default ./data/art;
# compose mounts a named volume at /data/art).
ART_DIR=./data/art
# HTTP port (default 3000)
PORT=3000
# PostgreSQL connection URL
DATABASE_URL=postgresql://rustandspark:rustandspark@localhost:5432/rustandspark
# Redis connection URL
REDIS_URL=redis://localhost:6379
# Comma-separated CORS allowlist of bare origins (scheme + host [+ port], no trailing slash)
CORS_ORIGINS=http://localhost:5173
# Secrets: no defaults, minimum 32 characters. Generate each with: openssl rand -base64 48
JWT_ACCESS_SECRET=
COOKIE_SECRET=
# Argon2id cost parameters (S2.2). Non-secret; defaults are the OWASP-floor values.
# Memory cost in KiB (default 19456)
ARGON2_MEMORY_KIB=19456
# Time cost / iterations (default 2)
ARGON2_TIME_COST=2
# Degree of parallelism (default 1)
ARGON2_PARALLELISM=1
# Reconcile tick interval in milliseconds (S7.4, D4). Non-secret; default 30000.
RECONCILE_INTERVAL_MS=30000
# Docker Compose only (dev profile), optional and commented out by default.
# Password of the dev Postgres container; must use URL-safe characters because it is interpolated
# into the container's DATABASE_URL. Default: rustandspark
# POSTGRES_PASSWORD=rustandspark
# Host port the api container is published on (127.0.0.1 only). Default: 3000
# API_PORT=3000
# Host port the web container is published on. Default: 8080
# WEB_PORT=8080
# Address the web port binds to: 127.0.0.1 (this machine only, default) or 0.0.0.0 (the whole
# network — the game and its admin become reachable from other computers).
# WEB_BIND=127.0.0.1
# HTTPS port, active when ./certs/server.crt + server.key exist (scripts/make-dev-cert.sh). Default: 8443
# WEB_TLS_PORT=8443
# Test harness only (S1.7): read by apps/api/test/support/{test-db.ts,app-factory.ts} and by CI's
# `prisma migrate diff` schema-drift check. Not read by the application itself. Defaults already
# match the compose `test` profile (postgres-test:5433, redis-test:6380); set these only to point
# the integration/e2e suites at a different instance.
# TEST_DATABASE_URL=postgresql://rustandspark:rustandspark@127.0.0.1:5433/rustandspark_test
# TEST_REDIS_URL=redis://127.0.0.1:6380
# Shadow database for `prisma migrate diff --shadow-database-url`. Must be a different database
# than TEST_DATABASE_URL/postgres-test itself: migrate diff can reset the shadow database's
# contents, so pointing it at the real target database would destroy test data. CI creates a
# second, throwaway database on the same postgres-test instance for this.
# SHADOW_DATABASE_URL=postgresql://rustandspark:rustandspark@127.0.0.1:5433/rustandspark_shadow
# Optional: Resend API key for sending emails. If not set, email-sending features are disabled.
RESEND_API_KEY=
# Verified sender domain in Resend (comments must be on their own line, never inline).
RESEND_FROM_EMAIL=
RESEND_FROM_NAME=