-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
186 lines (153 loc) · 7.2 KB
/
.env.example
File metadata and controls
186 lines (153 loc) · 7.2 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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
# Database Configuration
DB_HOST=localhost
DB_PORT=5432
DB_NAME=binktest
DB_USER=binktest
DB_PASS=binktest
DB_SSL=false
# Optional SSL Configuration (uncomment if needed)
#DB_SSL_CA=/path/to/ca-cert.pem
#DB_SSL_CERT=/path/to/client-cert.pem
#DB_SSL_KEY=/path/to/client-key.pem
# Admin daemon (Unix socket by default, TCP on Windows).
ADMIN_DAEMON_SECRET=change_me
ADMIN_DAEMON_SOCKET=tcp://127.0.0.1:9065
# Unix sockets require care for their permissions and group ownership
# ADMIN_DAEMON_SOCKET=unix:///path/to/binkterm/data/run/admin_daemon.sock
# ADMIN_DAEMON_SOCKET_PERMS=0660
# Telnet Daemon Configuration
# TELNET_BIND_HOST=0.0.0.0
# TELNET_PORT=2323
# TLS is enabled by default on port 8023 with an auto-generated self-signed cert.
# Set TELNET_TLS=false to disable TLS entirely.
# TELNET_TLS=true
# TELNET_TLS_PORT=8023
# TELNET_TLS_CERT=/etc/ssl/certs/your-cert.pem
# TELNET_TLS_KEY=/etc/ssl/private/your-key.pem
# PubTerm Native Door Configuration
# Host and port the PubTerm door connects to via telnet (defaults to BBS localhost telnet port)
# PUBTERM_HOST=127.0.0.1
# PUBTERM_PORT=2323
# Path to telnet binary if not on PATH (Linux)
# PUBTERM_TELNET_BIN=/usr/bin/telnet
# Windows: PubTerm uses PuTTY plink in telnet mode (no escape character trap).
# Install PuTTY: winget install PuTTY.PuTTY
# PUBTERM_PLINK_BIN=C:\Program Files\PuTTY\plink.exe
# Gemini Capsule Server Configuration (optional — only needed if running the daemon)
# GEMINI_BIND_HOST=0.0.0.0
# GEMINI_PORT=1965
# GEMINI_CERT_PATH=/etc/letsencrypt/live/yourdomain.com/fullchain.pem
# GEMINI_KEY_PATH=/etc/letsencrypt/live/yourdomain.com/privkey.pem
# Site URL Configuration (used for generating sharing URLs)
SITE_URL=https://example.com
# BBS Directory geocoding (used for the public map tab)
# Enabled by default. Set to false to disable location lookups entirely.
# BBS_DIRECTORY_GEOCODING_ENABLED=true
# BBS_DIRECTORY_GEOCODER_URL=https://nominatim.openstreetmap.org/search
# BBS_DIRECTORY_GEOCODER_USER_AGENT=
# BBS_DIRECTORY_GEOCODER_EMAIL=
# SMTP Email Configuration
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_SECURITY=tls
SMTP_USER=your-email@example.com
SMTP_PASS=your-email-password
SMTP_FROM_EMAIL=noreply@example.com
SMTP_FROM_NAME=BinktermPHP
SMTP_ENABLED=true
#SMTP_NOVERIFYCERT=true
# Whether to allow terminal access (grants ssh/telnet access to remote hosts).
# This setting is used by the 'Terminal' web door.
TERMINAL_ENABLED=false
# The first host listed will be this host, and could be your BBS or other favourite system
TERMINAL_HOST=your.ssh.server.com
TERMINAL_PORT=22
TERMINAL_TYPE=ssh
# The proxy server the terminal client will use. You could use a system like http://github.com/awehttam/terminalgateway
TERMINAL_PROXY_HOST=your.proxy.server.com
TERMINAL_PROXY_PORT=443
# Virus scanning with ClamAV (optional - will auto-detect if not set)
# CLAMDSCAN=/usr/bin/clamdscan
# Backend profiling (logs slow requests to error_log)
PERF_LOG_ENABLED=false
PERF_LOG_SLOW_MS=500
# Archive extractor commands for Fidonet bundles (JSON array).
# Use {archive} and {dest} placeholders.
# ARCMAIL_EXTRACTORS=["7z x -y -o{dest} {archive}","unzip -o {archive} -d {dest}"]
# PID File locations (defaults to data/run)
# ADMIN_DAEMON_PID_FILE=data/run/admin_daemon.pid
# BINKP_SCHEDULER_PID_FILE=data/run/binkp_scheduler.pid
# BINKP_SERVER_PID_FILE=data/run/binkp_server.pid
# Move stale unprocessed inbound files to data/inbound/unprocessed/ by default
# Set to true to delete stale unprocessed files instead (after 24 hours untouched)
# BINKP_DELETE_UNPROCESSED_FILES=false
# UI Customization
# STYLESHEET=/css/style.css
# favicon in SVG format
# Binkterm uses three formats for favicon. SVG, PNG and ICO. This is for platform support across browser technologies
# and Progressive Web Apps.
#FAVICONSVG=/robot_favicon.svg
#FAVICONPNG=/robot_favicon.png
#FAVICONICO=/robot_favicon.ico
# File area rule logging
FILEAREA_RULE_ACTION_LOG=data/logs/filearea_rules.log
# File action debugging (writes data/logs/file_action_debug.log)
# FILE_ACTION_DEBUG=true
# Echomail message date ordering field used by backend sorting and echomail UI date display.
# received = use date_received (default), written = use date_written
# ECHOMAIL_ORDER_DATE=received
# i18n missing key logging (QA hardening)
# Set to true to log translation keys that are missing from catalogs.
# I18N_LOG_MISSING_KEYS=false
# Optional explicit log file path. If unset, messages go to PHP error_log.
# I18N_MISSING_KEYS_LOG_FILE=data/logs/i18n_missing_keys.log
# DOS Emulator Selection (defaults to DOSBox)
# dosbox = DOSBox (default, reliable, ~180MB RAM, works on Windows and Linux) - RECOMMENDED
# dosemu = DOSEMU (EXPERIMENTAL, NOT RECOMMENDED, Linux only, requires dosemu2 package)
# DOSEMU has console I/O conflicts and complex configuration - only for adventurous users
# DOOR_EMULATOR=dosbox
# DOSBox-X executable path (auto-detects if not specified)
# Prefers vanilla DOSBox (lighter: ~30MB RAM) over DOSBox-X (~256MB RAM)
# Auto-detection order: dosbox-x, dosbox
# DOSBOX_EXECUTABLE=/usr/bin/dosbox-x
# DOSBOX_EXECUTABLE=/usr/local/bin/dosbox-x
# DOSEMU executable path (auto-detects if not specified)
# Linux only - much lighter than DOSBox (10-30MB vs 180MB RAM)
# DOSEMU_EXECUTABLE=/usr/bin/dosemu
# DOS Door Configuration
# Specify which DOSBox config to use (defaults to dosbox-bridge-production.conf)
# Create a custom config (e.g., dosbox-bridge-custom.conf) to prevent overwriting on upgrades
# DOSDOOR_CONFIG=dosbox-bridge-production.conf
# DOSDOOR_CONFIG=dosbox-bridge-test.conf
# DOSDOOR_CONFIG=dosbox-bridge-custom.conf
# DOS Door disconnect behavior (in minutes)
# 0 = Immediately close door when WebSocket disconnects (traditional BBS "lost carrier" behavior - DEFAULT)
# >0 = Wait X minutes for reconnection before closing door
DOSDOOR_DISCONNECT_TIMEOUT=0
# Maximum simultaneous door sessions (concurrent players)
# Limits how many users can play door games at the same time
# Each session uses one node number (1 to MAX_SESSIONS)
# Each dosbox instance may take upwards of 100 MB RAM each in headless mode
DOSDOOR_MAX_SESSIONS=10
# DOS Door WebSocket Configuration (Multiplexing Bridge)
# Single WebSocket port for all door connections
DOSDOOR_WS_PORT=6001
# WebSocket bind address (server-side)
# 127.0.0.1 = Localhost only (DEFAULT - for production behind SSL proxy like Caddy)
# 0.0.0.0 = All interfaces (for development/direct access without proxy)
DOSDOOR_WS_BIND_HOST=127.0.0.1
# WebSocket URL for browser (client-side)
# If not set, auto-detects: ws://hostname:6001 or wss://hostname:6001 based on page protocol
# Production examples:
# DOSDOOR_WS_URL=wss://bbs.example.com:6001 (separate WebSocket port)
# DOSDOOR_WS_URL=wss://bbs.example.com/dosdoor (proxied through main HTTPS)
# Development: Leave empty for auto-detection (ws://localhost:6001)
DOSDOOR_WS_URL=
# Debug mode - keep session files for inspection (default: false)
# Set to 'true' to disable cleanup of DOOR.SYS and session directories
# Useful for debugging drop file generation and DOSBox config issues
DOSDOOR_DEBUG_KEEP_FILES=false
# Carrier loss timeout (in milliseconds)
# How long to wait for door to exit gracefully after simulating carrier loss (socket close)
# before force-killing the process (default: 5000ms = 5 seconds)
DOSDOOR_CARRIER_LOSS_TIMEOUT=5000