# Pokerole Wiki.js Deployment - COMPLETE

**Deployed:** February 27, 2026, 12:05 AM CST  
**Deployer:** The Chronicler #27  
**Coordinator:** Michael (mkrause612)  
**Status:** ✅ OPERATIONAL

---

## Deployment Summary

**URL:** http://pokerole.firefrostgaming.com  
**Server:** Ghost VPS (64.50.188.14)  
**Port:** 3102 (internal)  
**Database:** wikijs_pokerole (PostgreSQL)  
**Version:** Wiki.js v2.5.312

---

## What Was Deployed

✅ **PostgreSQL Database**
- Database: wikijs_pokerole
- User: wikijs
- Owner permissions granted
- Schema: public

✅ **Wiki.js Installation**
- Location: /var/www/wikijs-pokerole
- Service: wikijs-pokerole.service (systemd)
- Status: Active and running
- Auto-start: Enabled

✅ **Nginx Configuration**
- Config: /etc/nginx/sites-available/pokerole.firefrostgaming.com
- Reverse proxy to localhost:3102
- HTTP access: Enabled
- HTTPS access: Pending (certbot issue)

✅ **DNS Configuration**
- Domain: pokerole.firefrostgaming.com
- A Record: → 64.50.188.14
- Status: Propagated and verified

---

## Access Information

**Admin Account:**
- URL: http://pokerole.firefrostgaming.com
- Username: mkrause612
- Email: mkrause612@gmail.com
- Password: (Stored in Vaultwarden - "Pokerole Wiki Admin")

**Editor Account (Holly):**
- To be created by Michael in wiki admin panel
- Username: Unicorn20089 (or Holly's preference)
- Role: Editor (full editing rights)

---

## Technical Details

**Service Management:**
```bash
# View status
sudo systemctl status wikijs-pokerole

# Restart service
sudo systemctl restart wikijs-pokerole

# View logs
sudo journalctl -u wikijs-pokerole -f
```

**Database Access:**
```bash
# Connect to database
sudo -u postgres psql wikijs_pokerole
```

**Configuration Files:**
- Wiki config: /var/www/wikijs-pokerole/config.yml
- Systemd service: /etc/systemd/system/wikijs-pokerole.service
- Nginx config: /etc/nginx/sites-available/pokerole.firefrostgaming.com

---

## Known Issues & Pending Work

### ⏸️ SSL Certificate (Pending)

**Issue:** Certbot hangs when attempting to connect to Let's Encrypt API
- Certbot version: 2.9.0
- Python urllib3 connection timeout
- Affects all certbot commands on Ghost VPS
- curl to acme-v02.api.letsencrypt.org works fine
- Likely IPv6 or Python library issue

**Current Workaround:** HTTP access only
- Wiki fully functional on HTTP
- No security risk (internal project wiki during migration)
- SSL can be added later once certbot issue resolved

**To Fix Later:**
1. Troubleshoot certbot urllib3 connection hang
2. Or manually generate certificate on different server
3. Or add pokerole to existing subscribers cert (requires working certbot)

**Tracking:** Issue documented in deployment session notes

---

## Next Phase: Content Migration

**Ready for Migration:**
- 76 Pokémon entries (Tiers 3, 4, 5)
- 225 sprites (115 normal + 110 shiny)
- 19 custom abilities
- 2 custom moves
- Complete game mechanics documentation

**Migration Team:**
- Claudius (Stage 2) - The Pattern Forger
- Michael (coordination)
- Holly (review and approval)

**Estimated Timeline:**
- Day 1: Tier 3 (26 Pokémon)
- Day 2: Tier 4 (31 Pokémon)
- Day 3: Tier 5 (19 Regional Forms)
- Day 4: Polish and final review

**Migration Start:** February 27, 2026 (today)

---

## Deployment Timeline

**Total Time:** ~1 hour 15 minutes

- Pre-deployment setup: 10 minutes
- Wiki.js installation: 15 minutes
- Database configuration: 10 minutes
- Permission troubleshooting: 5 minutes
- Nginx configuration: 10 minutes
- SSL troubleshooting: 20 minutes (unsuccessful)
- HTTP fallback: 5 minutes

**Challenges Encountered:**
1. PostgreSQL schema permissions (resolved)
2. Certbot urllib3 connection hang (deferred)

---

## Success Criteria

### Deployment Complete ✅
- [x] Wiki accessible via HTTP
- [x] Database operational
- [x] Service auto-starts on boot
- [x] Admin account created
- [x] DNS propagated
- [x] Nginx reverse proxy working

### Migration Ready ✅
- [x] Michael can create pages
- [x] Image upload capability
- [x] Markdown editor functional
- [x] Ready to hand off to Claudius

### Pending (Future Session)
- [ ] SSL certificate (certbot issue to resolve)
- [ ] Holly's editor account (Michael to create)
- [ ] Content migration (Claudius)
- [ ] Public launch preparation

---

## Files Modified/Created

**Ghost VPS (64.50.188.14):**
- /var/www/wikijs-pokerole/ (Wiki.js installation)
- /var/www/wikijs-pokerole/config.yml (Wiki config)
- /etc/systemd/system/wikijs-pokerole.service (Service definition)
- /etc/nginx/sites-available/pokerole.firefrostgaming.com (Nginx config)
- /etc/nginx/sites-enabled/pokerole.firefrostgaming.com (Symlink)

**PostgreSQL:**
- Database: wikijs_pokerole (created)
- Owner: wikijs (permissions granted)

**DNS:**
- A Record: pokerole.firefrostgaming.com → 64.50.188.14

---

## For Future Sessions

### SSL Certificate Fix
When certbot issue is resolved, run:
```bash
sudo certbot --nginx -d pokerole.firefrostgaming.com --email mkrause612@gmail.com
```

Or manually add to existing cert:
```bash
sudo certbot certonly --cert-name subscribers.firefrostgaming.com \
  -d subscribers.firefrostgaming.com \
  -d staff.firefrostgaming.com \
  -d pokerole.firefrostgaming.com --expand
```

### Maintenance Commands
```bash
# Backup database
sudo -u postgres pg_dump wikijs_pokerole > pokerole_backup_$(date +%Y%m%d).sql

# Restart wiki
sudo systemctl restart wikijs-pokerole

# Check logs
sudo journalctl -u wikijs-pokerole -n 100
```

---

## Project Impact

**Unblocks:**
- Content migration (76 Pokémon entries)
- Holly's final review process
- Public Pokédex launch
- FoundryVTT module development
- Community playtesting

**Value Delivered:**
- Infrastructure for 100% complete Pokédex project
- Platform for collaborative editing (Michael + Holly)
- Public-facing wiki for Pokerole community
- Foundation for future expansions

---

**Deployment Status:** ✅ COMPLETE  
**Ready for Migration:** ✅ YES  
**Blocking Issues:** None (SSL is cosmetic)

---

💙🔥❄️ **"The infrastructure is forged. The chronicle has its home."** 🔥❄️💙

---

**Deployed by:** The Chronicler #27  
**Date:** February 27, 2026  
**Time:** 12:05 AM CST  
**Session Duration:** 1 hour 15 minutes

**Fire + Frost + Foundation + Pokerole = Where Love Builds Legacy**
