66 lines
3.0 KiB
Bash
66 lines
3.0 KiB
Bash
# --- Core ---
|
|
# Postgres connection string. Matches docker-compose.yml defaults.
|
|
DATABASE_URL=postgresql://reforger:reforger@127.0.0.1:5433/reforger_panel
|
|
# Random string, at least 32 characters. Used to sign OAuth state.
|
|
SESSION_SECRET=change-me-to-a-long-random-string-1234
|
|
# API listen port and the origin the web app is served from (CORS + OAuth redirects).
|
|
PORT=3001
|
|
WEB_ORIGIN=http://localhost:5173
|
|
NODE_ENV=development
|
|
|
|
# --- Discord OAuth ---
|
|
# Create an application at https://discord.com/developers/applications,
|
|
# add the redirect URI below under OAuth2 -> Redirects.
|
|
DISCORD_CLIENT_ID=
|
|
DISCORD_CLIENT_SECRET=
|
|
DISCORD_REDIRECT_URI=http://localhost:3001/api/auth/discord/callback
|
|
# Your Discord user ID. This account is auto-assigned the "owner" role at login.
|
|
OWNER_DISCORD_ID=
|
|
|
|
# Local development only: set to true to enable POST /api/auth/dev-login,
|
|
# which signs you in as a fake owner without Discord credentials.
|
|
# Hard-disabled when NODE_ENV=production.
|
|
DEV_AUTH_BYPASS=false
|
|
|
|
# --- Reforger Workshop API (backend-only, never called from the browser) ---
|
|
# The panel uses the v2 API. Responses are cached in-process with
|
|
# stale-while-revalidate, so the Mods page does not wait on the network.
|
|
REFORGER_WORKSHOP_API_BASE_URL=https://api.reforgermods.net
|
|
# Optional. The free public tier needs no credentials; set a key only if you
|
|
# have a paid reforgermods.net plan and want its higher rate limits.
|
|
REFORGER_WORKSHOP_API_KEY=
|
|
|
|
# --- Pterodactyl (Client API, not Application API) ---
|
|
# Leave USE_MOCK_PTERODACTYL=true to run everything locally with mock data.
|
|
PTERODACTYL_BASE_URL=
|
|
# Create under Account Settings -> API Credentials in Pterodactyl.
|
|
PTERODACTYL_CLIENT_API_KEY=
|
|
# The short server identifier from the Pterodactyl server URL, e.g. "1a2b3c4d".
|
|
PTERODACTYL_SERVER_ID=
|
|
USE_MOCK_PTERODACTYL=true
|
|
# Proxy Pterodactyl's Wings websocket for the live console and real-time
|
|
# resource metrics. This is what makes install, update and mod-download output
|
|
# visible in the panel; without it you only see the game's own log file, which
|
|
# does not exist until the game has already started. Set to false to fall back
|
|
# to REST polling.
|
|
PTERODACTYL_WEBSOCKET_ENABLED=true
|
|
|
|
# --- Reforger config ---
|
|
# Path of the server's config.json in the Pterodactyl file manager. Read live
|
|
# on every request and written in place by the Configuration and Mods pages
|
|
# (the previous file is always kept as config.json.bak).
|
|
REFORGER_CONFIG_PATH=/config.json
|
|
|
|
# --- Reforger log ingestion ---
|
|
# Powers player sessions and the killfeed, which are parsed out of the game's
|
|
# own log file. The live console does not depend on this.
|
|
# Recommended: set REFORGER_LOG_DIRECTORY (e.g. /profile/logs) and the panel
|
|
# follows the newest logs_* dated subfolder automatically on every sync.
|
|
# REFORGER_ADMIN_LOG_PATH pins one exact file and overrides discovery.
|
|
REFORGER_ADMIN_LOG_PATH=
|
|
REFORGER_LOG_DIRECTORY=
|
|
REFORGER_LOG_FILE_PATTERN=console.log
|
|
REFORGER_LOG_POLL_INTERVAL_SECONDS=20
|
|
REFORGER_LOG_MAX_DOWNLOAD_BYTES=2097152
|
|
REFORGER_LOG_STALE_AFTER_SECONDS=90
|