-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
91 lines (80 loc) · 4.03 KB
/
Copy path.env.example
File metadata and controls
91 lines (80 loc) · 4.03 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
# authGD local development environment.
#
# cp .env.example .env
#
# Every value below is a WORKING FAKE: `npm run dev` and `npm run worker` boot
# and the app is browsable without registering anything. Nothing here reaches a
# real EVE, Discord, or Wanderer account. See docs/ops.md ("Local development")
# for what works on fakes and what needs real credentials.
#
# .env is gitignored (.gitignore is `.env*` with `!.env.example`). Put personal
# overrides in .env.local, which wins over .env — see docs/ops.md and Stage 4
# of the local-dev spec for tunnelled OAuth.
# --- Safety ------------------------------------------------------------------
# REQUIRED, no default. dry-run makes every outbound mutation a logged no-op:
# no in-game contacts deleted, no Wanderer ACL reconciled, no Discord roles
# changed, no EVE refresh token rotated. Leave this alone unless you have
# deliberately decided to point this checkout at something real.
SYNC_MODE=dry-run
# --- Database ----------------------------------------------------------------
# Matches docker-compose.dev.yml. The same server also hosts authgd_test, which
# is the ONLY database the test suites touch — `npm test` cannot reach this one.
DATABASE_URL=postgres://authgd:authgd@localhost:5433/authgd
# --- App ---------------------------------------------------------------------
SESSION_COOKIE_NAME=authgd_session
# Obviously-fake 32 bytes. Generate a real one for anything that matters:
# openssl rand -base64 32
TOKEN_ENCRYPTION_KEY=BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwc=
# NO trailing slash — string-concatenated into both OAuth callback URLs.
APP_BASE_URL=http://localhost:3000
ALLIANCE_ID=99000001
BOOTSTRAP_ADMIN_CHARACTER_IDS=
# --- EVE SSO (fake) ----------------------------------------------------------
# Login will not work with these; use the dev seed or real credentials.
EVE_SSO_CLIENT_ID=dev-eve-client-id
EVE_SSO_CLIENT_SECRET=dev-eve-client-secret
EVE_SSO_SCOPES="esi-characters.read_contacts.v1 esi-characters.write_contacts.v1 esi-ui.open_window.v1 esi-location.read_location.v1 esi-universe.read_structures.v1 esi-location.read_online.v1"
# --- Discord (fake) ----------------------------------------------------------
DISCORD_CLIENT_ID=dev-discord-client-id
DISCORD_CLIENT_SECRET=dev-discord-client-secret
DISCORD_BOT_TOKEN=dev-discord-bot-token
DISCORD_GUILD_ID=9000
# Must be three DISTINCT ids.
DISCORD_ROLE_ID_MEMBER=10
DISCORD_ROLE_ID_ASSOCIATE=11
DISCORD_ROLE_ID_ALUMNI=12
# Optional. Suppressed anyway while SYNC_MODE=dry-run.
DISCORD_OPS_WEBHOOK_URL=
# --- Wanderer (fake) ---------------------------------------------------------
WANDERER_BASE_URL=https://wanderer.example
# The ACL's OWN api key, not the map key — see docs/ops.md.
WANDERER_API_KEY=dev-wanderer-key
WANDERER_ACL_ID=dev-acl-id
# --- Contacts ----------------------------------------------------------------
# The app OWNS this label and deletes anything under it that isn't a member.
# Keep it pointed at a label created for authGD, never one humans curate.
STANDINGS_LABEL=authgd
STANDINGS_VALUE=5
# CCP requires ESI consumers to identify themselves.
ESI_CONTACT=you@example.com
# --- Branding (all optional; defaults are generic) ----------------------------
# What members read for each tier. The database enum is always
# member|associate|alumni|pending; these are display only.
# TIER_LABEL_MEMBER=Member
# TIER_LABEL_ASSOCIATE=Associate
# TIER_LABEL_ALUMNI=Alumni
# TIER_LABEL_PENDING=Pending
# BRAND_NAME appears in the header wordmark, every page title, and image alt
# text. BRAND_TAGLINE is the smaller line beneath it.
# BRAND_NAME=authGD
# BRAND_TAGLINE=Auth
# Login page only. Both render nothing when empty. A newline in BRAND_MOTTO
# is a line break.
# BRAND_MOTTO=
# BRAND_FOOTER=
# Header mark (34px) and login emblem (180px). Replace the files in
# public/brand/ or point these at your own URLs. The login background
# (hero.webp) and account illustration (hero-account.webp) are referenced
# directly and can only be changed by replacing the files.
# BRAND_MARK_URL=/brand/mark.webp
# BRAND_SEAL_URL=/brand/emblem.webp