Skip to content
This repository was archived by the owner on Dec 30, 2025. It is now read-only.

Commit b5d3476

Browse files
committed
feat(env.example): update environment configuration with enhanced security and logging settings
This commit revises the env.example file to include comprehensive network and security configurations for the IRC server. Key additions include detailed logging paths, Strict Transport Security (STS) settings, and improved organization of service configurations. The changes aim to bolster security practices and provide clearer guidelines for users setting up their environment, ensuring a more robust and secure IRC server configuration.
1 parent 070cb3e commit b5d3476

File tree

1 file changed

+151
-75
lines changed

1 file changed

+151
-75
lines changed

env.example

Lines changed: 151 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -1,162 +1,238 @@
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
515
IRC_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
1216
IRC_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"
1917
IRC_NETWORK_NAME=atl.chat
2018
IRC_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
2441
IRC_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
2857
LETSENCRYPT_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
3676
ATHEME_SERVER_NAME=services.atl.chat
3777
ATHEME_SERVER_DESC="All Things Linux IRC Services"
3878
ATHEME_UPLINK_HOST=unrealircd
3979
ATHEME_UPLINK_PORT=6901
4080
ATHEME_SEND_PASSWORD=change_me_atheme_send_password_here
4181
ATHEME_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
4686
ATHEME_NETNAME=atl.chat
4787
ATHEME_ADMIN_NAME="All Things Linux"
4888
ATHEME_ADMIN_EMAIL=admin@allthingslinux.org
4989
ATHEME_REGISTER_EMAIL=noreply@allthingslinux.org
5090
ATHEME_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
55102
ATHEME_NICKSERV_NICK=NickServ
56103
ATHEME_NICKSERV_USER=NickServ
57104
ATHEME_NICKSERV_HOST=services.atl.chat
58105
ATHEME_NICKSERV_REAL="Nickname Services"
106+
59107
ATHEME_CHANSERV_NICK=ChanServ
60108
ATHEME_CHANSERV_USER=ChanServ
61109
ATHEME_CHANSERV_HOST=services.atl.chat
62110
ATHEME_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"
69112
ATHEME_OPERSERV_NICK=OperServ
70113
ATHEME_OPERSERV_USER=OperServ
71114
ATHEME_OPERSERV_HOST=services.atl.chat
72115
ATHEME_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+
77117
ATHEME_MEMOSERV_NICK=MemoServ
78118
ATHEME_MEMOSERV_USER=MemoServ
79119
ATHEME_MEMOSERV_HOST=services.atl.chat
80120
ATHEME_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
89129
ATHEME_BOTSERV_NICK=BotServ
90130
ATHEME_BOTSERV_USER=BotServ
91131
ATHEME_BOTSERV_HOST=services.atl.chat
92132
ATHEME_BOTSERV_REAL="Bot Services"
133+
93134
ATHEME_GROUPSERV_NICK=GroupServ
94135
ATHEME_GROUPSERV_USER=GroupServ
95136
ATHEME_GROUPSERV_HOST=services.atl.chat
96137
ATHEME_GROUPSERV_REAL="Group Management Services"
138+
97139
ATHEME_HOSTSERV_NICK=HostServ
98140
ATHEME_HOSTSERV_USER=HostServ
99141
ATHEME_HOSTSERV_HOST=services.atl.chat
100142
ATHEME_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+
101150
ATHEME_HELPSERV_NICK=HelpServ
102151
ATHEME_HELPSERV_USER=HelpServ
103152
ATHEME_HELPSERV_HOST=services.atl.chat
104153
ATHEME_HELPSERV_REAL="Help Services"
154+
105155
ATHEME_STATSERV_NICK=StatServ
106156
ATHEME_STATSERV_USER=StatServ
107157
ATHEME_STATSERV_HOST=services.atl.chat
108158
ATHEME_STATSERV_REAL="Statistics Services"
109159

110-
# Additional Atheme Utility Services
160+
# Utility Services
111161
ATHEME_CHANFIX_NICK=ChanFix
112162
ATHEME_CHANFIX_USER=ChanFix
113163
ATHEME_CHANFIX_HOST=services.atl.chat
114164
ATHEME_CHANFIX_REAL="Channel Fixing Service"
165+
115166
ATHEME_GLOBAL_NICK=Global
116167
ATHEME_GLOBAL_USER=Global
117-
ATHEME_GLOBAL_HOST=services.atl.chat erxample
118-
119-
168+
ATHEME_GLOBAL_HOST=services.atl.chat
120169
ATHEME_GLOBAL_REAL="Network Announcements"
170+
121171
ATHEME_ALIS_NICK=ALIS
122172
ATHEME_ALIS_USER=alis
123173
ATHEME_ALIS_HOST=services.atl.chat
124174
ATHEME_ALIS_REAL="Channel Directory"
175+
176+
# Security Services
125177
ATHEME_PROXYSCAN_NICK=Proxyscan
126178
ATHEME_PROXYSCAN_USER=dnsbl
127179
ATHEME_PROXYSCAN_HOST=services.atl.chat
128180
ATHEME_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
138198
WEBPANEL_RPC_USER=adminpanel
139199
WEBPANEL_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)
153206
TZ=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

Comments
 (0)