11# IRC Server Environment Configuration
2+ # ====================================
23# Copy this file to .env and customize for your setup
4+ #
5+ # IMPORTANT SECURITY NOTES:
6+ # - Change ALL default passwords before production use
7+ # - The .env file is automatically ignored by git for security
8+ # - Generate secure passwords using: openssl rand -base64 32
39
4- # IRC Server Configuration
10+ # =============================================================================
11+ # CORE IRC SERVER CONFIGURATION
12+ # =============================================================================
13+
14+ # Network Identity
515IRC_DOMAIN=irc.atl.chat
6- IRC_PORT=6667
7- IRC_TLS_PORT=6697
8- IRC_SERVER_PORT=6900
9- IRC_RPC_PORT=8600
10- IRC_WEBSOCKET_PORT=8000
11- IRC_STAFF_VHOST=allthingslinux.org
1216IRC_ROOT_DOMAIN=atl.chat
13- IRC_SERVICES_SERVER=services.atl.chat
14- IRC_SERVICES_PASSWORD=change_me_services_password_here
15-
16- # IRC Server Security
17- IRC_ADMIN_EMAIL=admin@allthingslinux.org
18- IRC_ADMIN_NAME="All Things Linux"
1917IRC_NETWORK_NAME=atl.chat
2018IRC_CLOAK_PREFIX=atl
2119
22- # IRC Operator Credentials (Move to .env for security!)
23- # Generate password hash with: docker compose exec ircd /usr/local/unrealircd/bin/unrealircd mkpasswd
20+ # Network Ports
21+ IRC_PORT=6667 # Standard IRC port
22+ IRC_TLS_PORT=6697 # Secure IRC port (SSL/TLS)
23+ IRC_SERVER_PORT=6900 # Server-to-server linking port
24+ IRC_RPC_PORT=8600 # JSON-RPC API port
25+ IRC_WEBSOCKET_PORT=8000 # WebSocket port for web clients
26+
27+ # Administrator Information
28+ IRC_ADMIN_NAME="All Things Linux"
29+ IRC_ADMIN_EMAIL=admin@allthingslinux.org
30+ IRC_STAFF_VHOST=allthingslinux.org
31+
32+ # Logging Configuration
33+ IRC_LOG_PATH=/home/unrealircd/unrealircd/logs
34+
35+ # =============================================================================
36+ # SECURITY CONFIGURATION
37+ # =============================================================================
38+
39+ # IRC Operator Password
40+ # Generate with: docker compose exec unrealircd /home/unrealircd/unrealircd/bin/unrealircd mkpasswd
2441IRC_OPER_PASSWORD='$argon2id$v=19$m=6144,t=2,p=2$WXOLpTE+DPDr8q6OBVTx3w$bqXpBsaAK6lkXfR/IPn+TcE0VJEKjUFD7xordE6pFSo'
2542
26- # SSL/TLS Configuration
27- # Only these two variables are needed for SSL certificates
43+ # Strict Transport Security (STS) Settings
44+ # Progression: 1m -> 1d -> 30d -> 180d (start conservative)
45+ IRC_STS_DURATION=1m
46+ IRC_STS_PRELOAD=no # Set to 'yes' for advanced security (careful!)
47+
48+ # Emergency Security Settings (uncomment during attacks)
49+ # IRC_EMERGENCY_PM_MODE=registered_only # Options: disabled, registered_only, high_reputation_only
50+ # IRC_EMERGENCY_MODES_ON_CONNECT="+ixwR" # Add +R to disable PM for unregistered users
51+
52+ # =============================================================================
53+ # SSL/TLS CERTIFICATE CONFIGURATION
54+ # =============================================================================
55+
56+ # Let's Encrypt Configuration
2857LETSENCRYPT_EMAIL=admin@allthingslinux.org
29- # IRC_ROOT_DOMAIN is already defined above for the main domain
3058
31- # Cloudflare DNS-01 Challenge (for automatic certificates)
32- # Create cloudflare-credentials.ini from cloudflare-credentials.ini.template
33- # Add your API token to the credentials file (NOT as environment variable)
59+ # SSL Certificate Paths (auto-managed by Let's Encrypt)
60+ IRC_SSL_CERT_PATH=/home/unrealircd/unrealircd/conf/tls/server.cert.pem
61+ IRC_SSL_KEY_PATH=/home/unrealircd/unrealircd/conf/tls/server.key.pem
62+
63+ # Cloudflare DNS-01 Challenge
64+ # Note: Create cloudflare-credentials.ini from template and add your API token
65+ # Do NOT store the API token in this file for security reasons
66+
67+ # =============================================================================
68+ # SERVICES CONFIGURATION (ATHEME)
69+ # =============================================================================
70+
71+ # Services Server Configuration
72+ IRC_SERVICES_SERVER=services.atl.chat
73+ IRC_SERVICES_PASSWORD=change_me_services_password_here
3474
35- # Atheme Services Configuration
75+ # Atheme Core Configuration
3676ATHEME_SERVER_NAME=services.atl.chat
3777ATHEME_SERVER_DESC="All Things Linux IRC Services"
3878ATHEME_UPLINK_HOST=unrealircd
3979ATHEME_UPLINK_PORT=6901
4080ATHEME_SEND_PASSWORD=change_me_atheme_send_password_here
4181ATHEME_RECEIVE_PASSWORD=change_me_atheme_receive_password_here
42- ATHEME_HELP_CHANNEL=#help
43- ATHEME_HELP_URL=https://discord.gg/linux
82+ ATHEME_NUMERIC=00A
83+ ATHEME_RECONTIME=10
4484
45- # Atheme Server Information
85+ # Network Information for Services
4686ATHEME_NETNAME=atl.chat
4787ATHEME_ADMIN_NAME="All Things Linux"
4888ATHEME_ADMIN_EMAIL=admin@allthingslinux.org
4989ATHEME_REGISTER_EMAIL=noreply@allthingslinux.org
5090ATHEME_HIDEHOST_SUFFIX=users.atl.chat
51- ATHEME_NUMERIC=00A
52- ATHEME_RECONTIME=10
91+ ATHEME_HELP_CHANNEL=#help
92+ ATHEME_HELP_URL=https://discord.gg/linux
93+
94+ # Atheme Logging
95+ ATHEME_LOG_LEVEL=all
96+
97+ # =============================================================================
98+ # ATHEME SERVICE BOTS CONFIGURATION
99+ # =============================================================================
53100
54- # Atheme Service Bots
101+ # Core Services
55102ATHEME_NICKSERV_NICK=NickServ
56103ATHEME_NICKSERV_USER=NickServ
57104ATHEME_NICKSERV_HOST=services.atl.chat
58105ATHEME_NICKSERV_REAL="Nickname Services"
106+
59107ATHEME_CHANSERV_NICK=ChanServ
60108ATHEME_CHANSERV_USER=ChanServ
61109ATHEME_CHANSERV_HOST=services.atl.chat
62110ATHEME_CHANSERV_REAL="Channel Services"
63111
64- # Additional Atheme Services
65- ATHEME_INFOSERV_NICK=InfoServ
66- ATHEME_INFOSERV_USER=InfoServ
67- ATHEME_INFOSERV_HOST=services.atl.chat
68- ATHEME_INFOSERV_REAL="Information Service"
69112ATHEME_OPERSERV_NICK=OperServ
70113ATHEME_OPERSERV_USER=OperServ
71114ATHEME_OPERSERV_HOST=services.atl.chat
72115ATHEME_OPERSERV_REAL="Operator Services"
73- ATHEME_SASLSERV_NICK=SaslServ
74- ATHEME_SASLSERV_USER=SaslServ
75- ATHEME_SASLSERV_HOST=services.atl.chat
76- ATHEME_SASLSERV_REAL="SASL Authentication Agent"
116+
77117ATHEME_MEMOSERV_NICK=MemoServ
78118ATHEME_MEMOSERV_USER=MemoServ
79119ATHEME_MEMOSERV_HOST=services.atl.chat
80120ATHEME_MEMOSERV_REAL="Memo Services"
81- ATHEME_GAMESERV_NICK=GameServ
82- ATHEME_GAMESERV_USER=GameServ
83- ATHEME_GAMESERV_HOST=services.atl.chat
84- ATHEME_GAMESERV_REAL="Game Services"
85- ATHEME_RPGSERV_NICK=RPGServ
86- ATHEME_RPGSERV_USER=RPGServ
87- ATHEME_RPGSERV_HOST=services.atl.chat
88- ATHEME_RPGSERV_REAL="RPG Finding Services"
121+
122+ # Authentication Services
123+ ATHEME_SASLSERV_NICK=SaslServ
124+ ATHEME_SASLSERV_USER=SaslServ
125+ ATHEME_SASLSERV_HOST=services.atl.chat
126+ ATHEME_SASLSERV_REAL="SASL Authentication Agent"
127+
128+ # Management Services
89129ATHEME_BOTSERV_NICK=BotServ
90130ATHEME_BOTSERV_USER=BotServ
91131ATHEME_BOTSERV_HOST=services.atl.chat
92132ATHEME_BOTSERV_REAL="Bot Services"
133+
93134ATHEME_GROUPSERV_NICK=GroupServ
94135ATHEME_GROUPSERV_USER=GroupServ
95136ATHEME_GROUPSERV_HOST=services.atl.chat
96137ATHEME_GROUPSERV_REAL="Group Management Services"
138+
97139ATHEME_HOSTSERV_NICK=HostServ
98140ATHEME_HOSTSERV_USER=HostServ
99141ATHEME_HOSTSERV_HOST=services.atl.chat
100142ATHEME_HOSTSERV_REAL="Host Management Services"
143+
144+ # Information Services
145+ ATHEME_INFOSERV_NICK=InfoServ
146+ ATHEME_INFOSERV_USER=InfoServ
147+ ATHEME_INFOSERV_HOST=services.atl.chat
148+ ATHEME_INFOSERV_REAL="Information Service"
149+
101150ATHEME_HELPSERV_NICK=HelpServ
102151ATHEME_HELPSERV_USER=HelpServ
103152ATHEME_HELPSERV_HOST=services.atl.chat
104153ATHEME_HELPSERV_REAL="Help Services"
154+
105155ATHEME_STATSERV_NICK=StatServ
106156ATHEME_STATSERV_USER=StatServ
107157ATHEME_STATSERV_HOST=services.atl.chat
108158ATHEME_STATSERV_REAL="Statistics Services"
109159
110- # Additional Atheme Utility Services
160+ # Utility Services
111161ATHEME_CHANFIX_NICK=ChanFix
112162ATHEME_CHANFIX_USER=ChanFix
113163ATHEME_CHANFIX_HOST=services.atl.chat
114164ATHEME_CHANFIX_REAL="Channel Fixing Service"
165+
115166ATHEME_GLOBAL_NICK=Global
116167ATHEME_GLOBAL_USER=Global
117- ATHEME_GLOBAL_HOST=services.atl.chat erxample
118-
119-
168+ ATHEME_GLOBAL_HOST=services.atl.chat
120169ATHEME_GLOBAL_REAL="Network Announcements"
170+
121171ATHEME_ALIS_NICK=ALIS
122172ATHEME_ALIS_USER=alis
123173ATHEME_ALIS_HOST=services.atl.chat
124174ATHEME_ALIS_REAL="Channel Directory"
175+
176+ # Security Services
125177ATHEME_PROXYSCAN_NICK=Proxyscan
126178ATHEME_PROXYSCAN_USER=dnsbl
127179ATHEME_PROXYSCAN_HOST=services.atl.chat
128180ATHEME_PROXYSCAN_REAL="Proxyscan Service"
129181
130- # Atheme Logging
131- ATHEME_LOG_LEVEL=all
182+ # Gaming Services
183+ ATHEME_GAMESERV_NICK=GameServ
184+ ATHEME_GAMESERV_USER=GameServ
185+ ATHEME_GAMESERV_HOST=services.atl.chat
186+ ATHEME_GAMESERV_REAL="Game Services"
132187
133- # Webpanel Configuration
134- UNREALIRCD_HOST=unrealircd
135- UNREALIRCD_PORT=8600
136- UNREALIRCD_RPC_USER=adminpanel
137- UNREALIRCD_RPC_PASSWORD=test1234
188+ ATHEME_RPGSERV_NICK=RPGServ
189+ ATHEME_RPGSERV_USER=RPGServ
190+ ATHEME_RPGSERV_HOST=services.atl.chat
191+ ATHEME_RPGSERV_REAL="RPG Finding Services"
192+
193+ # =============================================================================
194+ # WEB PANEL CONFIGURATION
195+ # =============================================================================
196+
197+ # UnrealIRCd Web Panel RPC Configuration
138198WEBPANEL_RPC_USER=adminpanel
139199WEBPANEL_RPC_PASSWORD=test1234
140200
141- # Webpanel Database Configuration (for SQL authentication backend)
142- DB_HOST=localhost
143- DB_PORT=3306
144- DB_NAME=unrealircdwebpanel
145- DB_USER=unrealircdwebpanel
146- DB_PASSWORD=change_me_webpanel_db_password_here
147-
148- # TheLounge Configuration
149- THELOUNGE_PORT=9000
150- THELOUNGE_BIND=0.0.0.0
201+ # =============================================================================
202+ # SYSTEM CONFIGURATION
203+ # =============================================================================
151204
152- # Timezone
205+ # System Timezone (used in Docker containers)
153206TZ=UTC
154207
155- # Security Settings
156- # Emergency PM restrictions (uncomment during attacks)
157- # IRC_EMERGENCY_PM_MODE=registered_only # Options: disabled, registered_only, high_reputation_only
158- # IRC_EMERGENCY_MODES_ON_CONNECT="+ixwR" # Add +R to disable PM for unregistered users
159-
160- # Strict Transport Security (STS) Settings
161- IRC_STS_DURATION=1m # Start conservative: 1m -> 1d -> 30d -> 180d
162- IRC_STS_PRELOAD=no # Set to 'yes' for advanced security (careful!)
208+ # =============================================================================
209+ # DEVELOPMENT & TESTING (Optional)
210+ # =============================================================================
211+
212+ # Uncomment these for development/testing environments
213+ # DEBUG=1 # Enable debug mode in scripts
214+ # VERBOSE=1 # Enable verbose logging in scripts
215+
216+ # =============================================================================
217+ # UNUSED VARIABLES (Kept for reference - can be removed if not needed)
218+ # =============================================================================
219+
220+ # The following variables are defined but not currently used in templates or scripts.
221+ # They may be used by external tools or future features. Remove if not needed:
222+
223+ # Database Configuration (for SQL authentication backend - not currently used)
224+ # DB_HOST=localhost
225+ # DB_PORT=3306
226+ # DB_NAME=unrealircdwebpanel
227+ # DB_USER=unrealircdwebpanel
228+ # DB_PASSWORD=change_me_webpanel_db_password_here
229+
230+ # The Lounge Web IRC Client (service not currently enabled)
231+ # THELOUNGE_PORT=9000
232+ # THELOUNGE_BIND=0.0.0.0
233+
234+ # Legacy Web Panel Variables (may be used by older web panel versions)
235+ # UNREALIRCD_HOST=unrealircd
236+ # UNREALIRCD_PORT=8600
237+ # UNREALIRCD_RPC_USER=adminpanel
238+ # UNREALIRCD_RPC_PASSWORD=test1234
0 commit comments