# ANetBBS Configuration
# Copy this file to .env and customize for your environment

# Environment (development, production, testing)
FLASK_ENV=development

# Secret key for sessions (CHANGE THIS IN PRODUCTION!)
SECRET_KEY=your-secret-key-change-this-in-production

# Database URL
# SQLite (default): sqlite:///data/anetbbs.db
# PostgreSQL: postgresql://user:password@localhost/anetbbs
DATABASE_URL=sqlite:///data/anetbbs_dev.db

# Telnet Server Settings
TELNET_ENABLED=true
TELNET_HOST=0.0.0.0
TELNET_PORT=2233

# SSH Server Settings
SSH_ENABLED=true
SSH_HOST=0.0.0.0
SSH_PORT=2234
# Path to SSH host key file (auto-generated on first run if missing)
SSH_HOST_KEY_FILE=data/ssh_host_key

# rlogin Server Settings (INSECURE — disabled by default)
RLOGIN_ENABLED=false
RLOGIN_HOST=0.0.0.0
RLOGIN_PORT=513

# FTP server — serves the FileArea tree. Earns you the FTN nodelist
# `IFC` flag (Internet File transfer Capability) once advertised.
# Anonymous access is read-only and scoped to public areas; authenticated
# users see/upload according to per-area permissions.
FTP_ENABLED=false
FTP_HOST=0.0.0.0
FTP_PORT=21
FTP_ANON_ENABLED=true
# Optional FTPS — reuse the same Let's Encrypt cert nginx uses.
# Leave blank for plain FTP.
FTP_TLS_CERTFILE=
FTP_TLS_KEYFILE=
# Passive-mode port range. Open these on the firewall + forward to this
# host through NAT. Tight default keeps the exposed surface small.
FTP_PASV_PORTS=40000-40050
# Where to assemble the virtual FTP tree (symlinks to each FileArea's
# storage_path). Rebuilt on every server start.
FTP_ROOT_DIR=data/ftp_root
FTP_BANNER=ANetBBS FTP — file areas

# Web Server Settings
WEB_HOST=0.0.0.0
WEB_PORT=5000

# Application Settings
BBS_NAME=ANetBBS
BBS_DESCRIPTION=A Modern BBS System
# Public domain (used for outbound netmail / nodelist links / share URLs)
BBS_DOMAIN=
# Public hostname clients should reach you at (overrides BBS_DOMAIN if set)
BBS_PUBLIC_HOST=
# Sysop name (used in BinkP banners, ANSI screen substitutions, etc.)
SYSOP_NAME=Sysop
# Sysop contact email
BBS_EMAIL=
# Geographic location (free-text) — shown in BBS info / nodelist
BBS_LOCATION=Earth
# Concurrent terminal nodes (1-100). NodeSpy + multinode chat use this cap.
BBS_NODES=8
# Idle session kick (seconds, 0 = never)
IDLE_TIMEOUT_SECONDS=0

# Logging
LOG_LEVEL=INFO

# Finger Server Settings (RFC 1288 — port 79 is privileged)
FINGER_LISTEN_HOST=0.0.0.0
FINGER_LISTEN_PORT=79

# BinkP Server Settings (FidoNet inbound mailer)
BINKP_LISTEN_HOST=0.0.0.0
BINKP_LISTEN_PORT=24554
# Your primary AKA (5D address) — required for inbound binkp auth
BINKP_OUR_ADDRESS=
BINKP_SYSTEM_NAME=ANetBBS

# Optional ClamAV virus scan on file uploads
CLAMSCAN_PATH=/usr/bin/clamscan

# IRC client / bridge: comma-separated list of #channels to log
IRC_LOG_CHANNELS=

# New User Verification (NUV) — email/sysop approval gate
NUV_ENABLED=false

# Files: minimum upload-to-download ratio (0 = disabled)
RATIO_MIN=0

# Games Settings
GAMES_ENABLED=true
GAMES_MAX_NODES=10
GAMES_SESSION_TIMEOUT=3600
# Paths to game runtimes
DOSBOX_PATH=/usr/bin/dosbox
DOSEMU_PATH=/usr/bin/dosemu
NODEJS_PATH=/usr/bin/node
# Mystic BBS Python game python interpreter (leave blank to use system python3)
MYSTIC_PYTHON_PATH=
# Mystic BBS runtime for .mps Pascal scripts
MYSTIC_BBS_PATH=/usr/local/bin/mystic

# Echomail Settings
ECHOMAIL_ENABLED=true
ECHOMAIL_POLL_ENABLED=true
ECHOMAIL_ORIGIN_LINE=ANetBBS - A Modern BBS System
ECHOMAIL_TEAR_LINE=--- ANetBBS

# MRC Bridge Settings
MRC_BRIDGE_HOST=localhost
MRC_BRIDGE_PORT=8080
MRC_BRIDGE_USE_SSL=false
MRC_BRIDGE_WS_PATH=/mrcws
