aboutsummaryrefslogtreecommitdiffstats
path: root/config.toml
diff options
context:
space:
mode:
Diffstat (limited to 'config.toml')
-rw-r--r--config.toml93
1 files changed, 93 insertions, 0 deletions
diff --git a/config.toml b/config.toml
new file mode 100644
index 0000000..e314aed
--- /dev/null
+++ b/config.toml
@@ -0,0 +1,93 @@
+# ---------------------------------------------------------------------------
+# Shared configuration for the dashboard (Flask, config.py) and the browser
+# voice gateway (Node, gateway/src/config.js). Both read this one file.
+#
+# Secrets do NOT belong here: put them in `.env` (see .env.template).
+# Any environment variable listed next to a setting overrides the value here.
+# ---------------------------------------------------------------------------
+
+# Where the app listens. When voice is enabled, the voice gateway owns the
+# public port and forwards every non-voice request to the dashboard, which
+# then listens on 127.0.0.1:dashboard_port only. One port to expose/proxy.
+[web]
+host = "0.0.0.0" # WEB_HOST
+port = 5000 # WEB_PORT - public port
+dashboard_port = 5001 # DASHBOARD_PORT - internal Flask port (voice enabled only)
+
+# TeamSpeak server connection settings
+[server]
+host = "" # TS_HOST - server IP or hostname, e.g. 192.168.1.50
+webquery_port = 8443 # TS_WEBQUERY_PORT - HTTP WebQuery port (TS6)
+server_id = 1 # TS_SERVER_ID - virtual server id
+voice_port = 9987 # TS_VOICE_PORT - UDP voice port the web voice gateway connects to
+ts_domain = "" # TS_DOMAIN - address used by the "Connect" button; empty = host
+cache_time = 30 # Refresh interval in seconds (anti-spam)
+cache_file = "cache.json" # Relative to the repository root
+afk_status_max_clients = 3 # Skip per-client clientinfo (AFK/streaming) calls when client count exceeds this (due to potential rate limits)
+# TS_API_KEY (.env) - WebQuery API key
+# TS_SERVER_PASSWORD (.env) - server password; required for web voice
+
+# Browser voice (join the server from the dashboard).
+# Voice is only offered when `enabled = true` AND TS_SERVER_PASSWORD is set:
+# visitors must type the server password, which the gateway checks before
+# it opens any TeamSpeak connection (the TeamSpeak server checks it again).
+[voice]
+enabled = true # VOICE_ENABLED
+max_sessions = 8 # Concurrent browser voice sessions (keep low on small SBCs)
+max_sessions_per_ip = 2 # Concurrent sessions from one IP address
+max_failed_logins = 5 # Wrong passwords per IP before a temporary lockout
+lockout_minutes = 10 # Lockout duration after too many wrong passwords
+nickname_prefix = "" # Prepended to web users' nicknames, e.g. "[web] "
+default_channel = "" # Channel name (or path "Parent/Child") to join; empty = server default
+identity_security_level = 8 # TeamSpeak identity security level for new web users
+trust_proxy = false # Use X-Forwarded-For for per-IP limits (only behind your own reverse proxy)
+allowed_origins = [] # Extra allowed Origins for /ws/voice, e.g. ["https://ts.example.com"]; same-host is always allowed
+
+# Main design and copy
+[ui]
+title = ""
+subtitle = ""
+background_color = "#07111f" # Main background color
+panel_color = "#101b2d" # Main panel and channel block color
+accent_color = "#2589ff" # Buttons, highlights, and refresh timer
+text_color = "#e8f2ff"
+banner_url = "banner.jpg" # Leave empty ("") to hide the header banner
+enable_stars = true # Set to true to enable a subtle animated space background
+
+# Interface buttons and links
+[buttons]
+join = "Connect in TeamSpeak"
+web_join = "Join from browser"
+download_text = "Teamspeak is not installed yet?"
+download_link = "Download Teamspeak"
+download_url = "https://www.teamspeak.com/en/downloads/" # Official download link
+
+# Useful links. Add or remove as many rows as you want: "Name" = "https://..."
+[external_links]
+
+# Footer
+[footer]
+text = "another moekyun service"
+author = ""
+author_url = ""
+
+# Channel customization. Exact channel name => image filename.
+[channel_banners]
+"INFORMATION" = "info.png"
+"GAME SERVERS" = "game.jpeg"
+"General" = "general.jpg"
+"CRASHING OUT" = "crash.png"
+"Wonhee HQ" = "illit.jpg"
+
+[channel_icons]
+# "Lobby" = "lobby_icon.png"
+# "General" = "general_icon.png"
+
+[generic_images]
+background = "" # Default image applied to unknown channels
+icon = "" # Default icon applied to unknown channels
+
+# Server groups / roles: "GROUP_ID" = "Image"
+[role_icons]
+# "6" = "admin.png"
+# "9" = "vip.png"
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage