11# IRC.atl.chat - Complete IRC Infrastructure
22
3- A ** production-ready IRC server ecosystem** featuring UnrealIRCd with Atheme Services, automated SSL/TLS , and modern containerization .
3+ A ** production-ready IRC server ecosystem** with UnrealIRCd, Atheme Services, automated SSL certificates , and containerized deployment .
44
5- ## 🏗️ ** Core Components**
5+ ## Core Components
66
77| Component | Technology | Purpose |
88| -----------| ------------| ---------|
@@ -12,15 +12,15 @@ A **production-ready IRC server ecosystem** featuring UnrealIRCd with Atheme Ser
1212| ** SSL/TLS** | Let's Encrypt + Cloudflare | Automated certificate management |
1313| ** Container** | Docker + Compose | Deployment and orchestration |
1414
15- ### 🔄 ** Services Integration**
15+ ### Services Integration
1616
17- The setup includes ** full IRC services integration** :
17+ The setup includes ** complete IRC services integration** :
1818- ** NickServ** : Nickname registration and authentication
1919- ** ChanServ** : Channel management and protection
2020- ** OperServ** : Administrative services
2121- ** Server linking** : Seamless integration between IRCd and Services
2222
23- ## 🚀 ** Quick Start**
23+ ## Quick Start
2424
2525### ** 4-Step Setup**
2626``` bash
@@ -39,15 +39,15 @@ vim .env
3939make build && make up
4040```
4141
42- ### ** What's Included**
43- ✅ ** UnrealIRCd IRC Server** - Modern IRC daemon
44- ✅ ** Atheme Services** - NickServ, ChanServ, OperServ
45- ✅ ** WebPanel Admin Interface** - Browser-based management
46- ✅ ** Automated SSL/TLS ** - Let's Encrypt with Docker monitoring
47- ✅ ** Health Monitoring ** - Automated service checks
48- ✅ ** Persistent Storage ** - Data survives container restarts
42+ ### What's Included
43+ - ** UnrealIRCd IRC Server** - Modern IRC daemon
44+ - ** Atheme Services** - NickServ, ChanServ, OperServ
45+ - ** WebPanel Admin Interface** - Browser-based management
46+ - ** Automated SSL certificates ** - Let's Encrypt with monitoring
47+ - ** Health monitoring ** - Automated service checks
48+ - ** Persistent storage ** - Data survives container restarts
4949
50- ## ⚙️ ** Configuration**
50+ ## Configuration
5151
5252### ** Environment Variables**
5353
@@ -113,7 +113,7 @@ ATHEME_SEND_PASSWORD=your-services-password
113113ATHEME_RECEIVE_PASSWORD=your-services-password
114114```
115115
116- ## 🔧 ** Management Commands**
116+ ## Management Commands
117117
118118### ** Core Commands**
119119``` bash
@@ -136,9 +136,12 @@ make logs-atheme # Services logs
136136make logs-webpanel # WebPanel logs
137137
138138# SSL management
139- make ssl-setup # Setup SSL certificates
140- make ssl-status # Check SSL status
139+ make ssl-setup # Complete SSL setup with monitoring
140+ make ssl-status # Check SSL certificate status
141+ make ssl-renew # Force certificate renewal (with safety checks)
141142make ssl-logs # View SSL monitoring logs
143+ make ssl-stop # Stop SSL monitoring container
144+ make ssl-clean # Remove certificates and monitoring (CAUTION!)
142145
143146# Maintenance
144147make clean # Clean containers and images
@@ -154,36 +157,64 @@ make generate-password
154157./scripts/prepare-config.sh
155158```
156159
157- ## 🔐 ** SSL/TLS Setup**
160+ ## SSL/TLS Setup
158161
159162### ** Automated SSL with Let's Encrypt**
160163
161- The setup includes ** completely automated SSL certificate management** :
164+ The setup includes ** robust SSL certificate management** with comprehensive features :
162165
163166``` bash
164167# One-command SSL setup
165168make ssl-setup
169+
170+ # Advanced troubleshooting and debugging
171+ ./scripts/ssl-manager.sh --verbose check # Detailed status
172+ ./scripts/ssl-manager.sh --debug issue # Maximum debugging
173+ ./scripts/ssl-manager.sh --help # Complete help
166174```
167175
168- ### ** What Happens Automatically**
169- ✅ ** Certificate Issuance** : Let's Encrypt with Cloudflare DNS challenges
170- ✅ ** Automatic Renewal** : Every day at 2 AM (no manual intervention)
171- ✅ ** Docker Monitoring** : 24/7 certificate health monitoring
172- ✅ ** Service Restart** : Automatic restart after certificate renewal
176+ ### What Happens Automatically
177+ - ** Certificate Issuance** : Let's Encrypt with Cloudflare DNS challenges
178+ - ** Automatic Renewal** : Every day at 2 AM (no manual intervention)
179+ - ** Docker Monitoring** : 24/7 certificate health monitoring
180+ - ** Comprehensive Logging** : 5-level logging (INFO/WARN/ERROR/DEBUG/VERBOSE)
181+ - ** Safety Features** : Confirmation prompts for dangerous operations
182+ - ** Input Validation** : Domain and email format checking
183+ - ** Service Restart** : Automatic restart after certificate renewal
173184
174185### ** Prerequisites**
1751861 . ** Cloudflare Account** with DNS hosting for your domain
1761872 . ** API Token** from https://dash.cloudflare.com/profile/api-tokens
177188 - Create token with ** Zone:DNS: Edit ** permissions for your domain
1781893 . ** Domain Configuration** pointing to your server
179190
180- ### ** SSL Status & Monitoring**
191+ ### SSL Status & Monitoring
181192``` bash
182193# Check SSL certificate status
183194make ssl-status
184195
185196# View SSL monitoring logs
186197make ssl-logs
198+
199+ # Advanced SSL operations
200+ make ssl-renew # Force renewal (with safety checks)
201+ make ssl-stop # Stop monitoring container
202+ make ssl-clean # Remove certificates (CAUTION!)
203+ ```
204+
205+ ### SSL Debugging & Troubleshooting
206+ ``` bash
207+ # Get comprehensive help
208+ ./scripts/ssl-manager.sh --help
209+
210+ # Verbose output for detailed information
211+ ./scripts/ssl-manager.sh --verbose check
212+
213+ # Maximum debugging for troubleshooting
214+ ./scripts/ssl-manager.sh --debug issue
215+
216+ # Manual certificate verification
217+ openssl x509 -in unrealircd/conf/tls/server.cert.pem -noout -enddate
187218```
188219
189220### ** Security Features**
@@ -195,7 +226,7 @@ make ssl-logs
195226- ** Secrets management** via environment variables
196227- ** Production-optimized Atheme build** following official documentation recommendations
197228
198- ## 📊 ** Ports and Services**
229+ ## Ports and Services
199230
200231| Port | Protocol | Service | Purpose |
201232| ------| ----------| ---------| ---------|
@@ -204,28 +235,28 @@ make ssl-logs
204235| ** 6900** | IRC+TLS | UnrealIRCd | Server-to-server links |
205236| ** 8080** | HTTP | WebPanel | Admin interface |
206237
207- ## 📁 ** Project Structure**
238+ ## Project Structure
208239
209240```
210241irc.atl.chat/
211- ├── 📄 compose.yaml # Docker Compose configuration
212- ├── 🐳 Containerfile # Docker build instructions
213- ├── ⚙️ .env # Environment variables (gitignored)
214- ├── 🔐 cloudflare-credentials.ini # Cloudflare API credentials
215- ├── 📜 scripts/ # Management scripts
216- │ ├── ssl-manager.sh # SSL certificate management
217- │ ├── prepare-config.sh # Configuration preparation
218- │ └── health-check.sh # Health monitoring
219- ├── 📁 unrealircd/ # IRC server configuration
220- │ └── conf/ # Configuration files
221- ├── 🎭 services/atheme/ # Services configuration
222- ├── 🌐 web/webpanel/ # WebPanel container
223- ├── 📊 logs/ # Service logs
224- ├── 📁 data/ # Persistent data
225- └── 📝 Makefile # Management commands
242+ ├── compose.yaml # Docker Compose configuration
243+ ├── Containerfile # Docker build instructions
244+ ├── .env # Environment variables (gitignored)
245+ ├── cloudflare-credentials.ini # Cloudflare API credentials
246+ ├── scripts/ # Management scripts
247+ │ ├── ssl-manager.sh # SSL management (--help, --debug, --verbose)
248+ │ ├── prepare-config.sh # Configuration preparation
249+ │ └── health-check.sh # Health monitoring
250+ ├── unrealircd/ # IRC server configuration
251+ │ └── conf/ # Configuration files
252+ ├── services/atheme/ # Services configuration
253+ ├── web/webpanel/ # WebPanel container
254+ ├── logs/ # Service logs
255+ ├── data/ # Persistent data
256+ └── Makefile # Management commands
226257```
227258
228- ## 🎯 ** Using Your IRC Server**
259+ ## Using Your IRC Server
229260
230261### ** Connect to IRC**
231262``` bash
@@ -247,7 +278,7 @@ Once connected, you have access to:
247278- ** ChanServ** : ` /msg ChanServ REGISTER #channel `
248279- ** OperServ** : Administrative services (for IRC operators)
249280
250- ## 🐛 ** Troubleshooting**
281+ ## Troubleshooting
251282
252283### ** Services Not Starting**
253284``` bash
@@ -265,6 +296,16 @@ make ssl-status
265296
266297# View SSL monitoring logs
267298make ssl-logs
299+
300+ # Advanced SSL debugging
301+ ./scripts/ssl-manager.sh --verbose check # Detailed status
302+ ./scripts/ssl-manager.sh --debug issue # Maximum debugging
303+
304+ # Manual certificate verification
305+ openssl x509 -in unrealircd/conf/tls/server.cert.pem -noout -enddate
306+
307+ # Check SSL monitoring container
308+ docker compose ps ssl-monitor
268309```
269310
270311### ** Configuration Issues**
@@ -276,23 +317,25 @@ make ssl-logs
276317make restart
277318```
278319
279- ## 📚 ** Additional Resources**
320+ ## Additional Resources
280321
322+ - [ SSL Setup Documentation] ( ./docs/SSL.md ) - Complete SSL management guide
281323- [ UnrealIRCd Documentation] ( https://www.unrealircd.org/docs/ )
282324- [ Atheme Services Documentation] ( https://atheme.dev/docs/ )
283325- [ Docker Compose Documentation] ( https://docs.docker.com/compose/ )
284326
285327---
286328
287- ## 🚀 ** Ready to Get Started?**
329+ ## Ready to Get Started?
288330
289331Your ** production-ready IRC infrastructure** is now fully configured with:
290332
291- ✅ ** Complete IRC ecosystem** - Server + Services + Web interface
292- ✅ ** Automated SSL/TLS** - Let's Encrypt with Docker monitoring
293- ✅ ** Simple management** - One-command operations
294- ✅ ** Production security** - Argon2id password hashing
295- ✅ ** Containerized deployment** - Easy scaling and updates
333+ - ** Complete IRC ecosystem** - Server + Services + Web interface
334+ - ** SSL/TLS certificates** - Let's Encrypt with monitoring & debugging
335+ - ** Full management** - Complete set of make targets for control
336+ - ** Production security** - Argon2id password hashing, secure secrets management
337+ - ** Containerized deployment** - Easy scaling and updates
338+ - ** Troubleshooting tools** - Debug/verbose modes, comprehensive logging
296339
297340** Start your IRC network:**
298341``` bash
@@ -303,7 +346,3 @@ make build && make up
303346- ** IRC Server** : ` irc.atl.chat:6667 ` (standard) or ` :6697 ` (SSL)
304347- ** WebPanel** : ` http://your-server:8080 `
305348- ** Services** : Available once connected to IRC
306-
307- ---
308-
309- * Happy IRCing! 🎉*
0 commit comments