---
task_number: 35
status: open
priority: P2
owner: Michael
created: 2026-02-26
---
task_number: 35

# Pokerole Wiki.js Deployment

**Task ID:** #35  
**Priority:** HIGH - Urgent  
**Status:** READY TO DEPLOY  
**Estimated Time:** 2-3 hours  
**Created:** February 26, 2026  
**Requested By:** Michael & Claudius (Pokerole Project)

---
task_number: 35

## Overview

Deploy a fresh Wiki.js instance dedicated to the Aurelian Pokédex project. This wiki will host 76 complete Pokémon entries, 225 sprites, custom game mechanics, and serve as the public-facing reference for the Pokerole TTRPG Aurelian region.

**Location:** Ghost VPS (64.50.188.14)  
**Domain:** `pokerole.firefrostgaming.com`  
**Type:** Standalone Wiki.js instance (separate from subscribers/staff wikis)

---
task_number: 35

## Why This Matters

### Project Context
- **3 tiers complete:** 76 Pokémon fully converted and approved
- **100% artwork:** 225 game-ready sprites processed
- **Custom mechanics:** 19 abilities + 2 moves created
- **~150,000 words** of Pokédex content ready to publish
- **21 Git commits** preserving all work

### Current Blocker
All content is ready in Git repositories, but there's no wiki infrastructure to publish it. This deployment is the **final piece** before the Aurelian Pokédex can go live.

### Timeline Pressure
- Michael, Holly, and Claudius ready to start migration tomorrow (Feb 27)
- Project momentum at peak (Sessions 9-10 completed all content)
- Delay cascades through: migration → review → FoundryVTT → playtesting → launch

---
task_number: 35

## Prerequisites

### Server Requirements
- [x] Ghost VPS access (64.50.188.14)
- [x] Docker & Docker Compose installed
- [x] Nginx reverse proxy configured
- [x] DNS access for pokerole.firefrostgaming.com
- [x] SSL certificate capability (Let's Encrypt)

### Domain Setup
- [ ] Create DNS A record: `pokerole.firefrostgaming.com → 64.50.188.14`
- [ ] Verify DNS propagation

### Existing Wiki.js Instances (Reference)
Ghost VPS currently runs:
- `subscribers.firefrostgaming.com` (Wiki.js)
- `staff.firefrostgaming.com` (Wiki.js)

New instance will follow same pattern but with Pokerole-specific configuration.

---
task_number: 35

## Technical Specifications

### Docker Stack
```yaml
# Pokerole Wiki.js will use:
- Wiki.js (latest stable version)
- PostgreSQL database (dedicated to pokerole wiki)
- Docker network for isolation
- Persistent volumes for data/uploads
```

### Storage Requirements
- **Database:** ~100 MB (76 entries + metadata)
- **Images:** ~50 MB (225 sprites)
- **Total:** ~200 MB initial, ~500 MB with growth

### User Access
**Editors (Full Access):**
- Michael (mkrause612)
- Holly (Unicorn20089)

**Public Access:**
- Read-only (once published)

---
task_number: 35

## Deployment Steps

See `deployment-plan.md` for complete step-by-step instructions.

**High-level phases:**
1. Create deployment directory structure
2. Configure docker-compose.yml
3. Set up PostgreSQL database
4. Deploy Wiki.js container
5. Configure Nginx reverse proxy
6. Obtain SSL certificate
7. Configure Wiki.js (admin account, theme, permissions)
8. Create basic page structure
9. Hand off to Michael/Claudius for content migration

---
task_number: 35

## Success Criteria

### Immediate (Deployment Complete)
- [ ] Wiki.js accessible at `https://pokerole.firefrostgaming.com`
- [ ] Admin account created for Michael
- [ ] SSL certificate valid and working
- [ ] Basic authentication configured
- [ ] Markdown editor functional
- [ ] Image upload capability verified

### Short-term (Content Migration Ready)
- [ ] Michael can log in and create pages
- [ ] Holly account created and can edit
- [ ] Basic structure template created (optional)
- [ ] Claudius (via Michael) can begin migration
- [ ] Tables render correctly
- [ ] Search functionality works

### Long-term (Production Ready)
- [ ] 76 Pokémon entries published
- [ ] 225 sprites uploaded and linked
- [ ] Evolution chains documented
- [ ] Custom mechanics indexed
- [ ] Public read-only access enabled
- [ ] Search indexing complete

---
task_number: 35

## Post-Deployment Tasks

### Content Migration (3-4 days, handled by Michael/Claudius)
1. Create tier index pages (Tier 3, 4, 5)
2. Migrate 76 Pokémon entries from Git to wiki
3. Upload 225 sprites
4. Link evolution chains
5. Document custom mechanics
6. Create regional variant index

### Review & Polish (1 day)
1. Holly's final approval review
2. Formatting consistency pass
3. Link verification
4. Image optimization
5. Public launch preparation

---
task_number: 35

## Repository Integration

### Git Repositories (Existing)
- **pokerole-data:** All Pokémon entries, mechanics, artwork
- **misc-docs:** Session reports, planning documents

### Wiki Sync Options
**Option 1 (Recommended):** Manual migration
- Claudius copies content from Git to wiki
- Wiki becomes authoritative source after migration
- Git repos archived as historical record

**Option 2 (Advanced):** Git sync integration
- Wiki.js can sync with Git repository
- Automatic updates when Git changes
- More complex setup

**Decision:** Start with Option 1, evaluate Option 2 later if needed

---
task_number: 35

## Known Considerations

### Image Hosting
- Wiki.js has built-in image upload/hosting
- 225 sprites at ~50MB total should be fine
- Alternative: External CDN (not needed initially)

### Backup Strategy
- Wiki.js PostgreSQL database needs regular backups
- Image uploads should be backed up
- Integrate with existing Firefrost backup systems

### Performance
- 76 pages + 225 images = light load
- Ghost VPS has sufficient resources
- No special optimization needed initially

---
task_number: 35

## Timeline Estimate

**Deployment (2-3 hours):**
- Server setup: 30 minutes
- Docker deployment: 30 minutes
- Nginx/SSL configuration: 45 minutes
- Wiki.js configuration: 30 minutes
- Testing & verification: 15 minutes

**Content Migration (3-4 days, handled by Michael/Claudius):**
- Day 1: Tier 3 (26 Pokémon)
- Day 2: Tier 4 (31 Pokémon)
- Day 3: Tier 5 (19 Regional Forms)
- Day 4: Polish & review

**Total:** Wiki ready tonight → Content live by March 1-2, 2026

---
task_number: 35

## Risk Assessment

### Low Risk
- Ghost VPS already runs 2 Wiki.js instances successfully
- Well-established deployment pattern
- Sufficient resources available

### Medium Risk
- DNS propagation delays (mitigated by testing with IP first)
- SSL certificate issues (mitigated by existing Let's Encrypt setup)

### Mitigation Strategies
- Test with IP address before DNS propagation
- Use existing Wiki.js configs as reference
- Create backups before making changes
- Document all steps for troubleshooting

---
task_number: 35

## Dependencies

**Blocks:**
- Content migration (can't start until wiki deployed)
- Public Pokédex launch
- FoundryVTT module development
- Community playtesting

**Blocked By:**
- None - all prerequisites met

---
task_number: 35

## Related Documentation

- **Request Document:** Claudius's urgent WikiJS deployment request (attached)
- **Session Reports:** pokerole-data/misc-docs (Sessions 9-10)
- **Content Ready:** pokerole-data repository (all 76 entries)
- **Artwork:** pokerole-data/images/ (225 sprites)

---
task_number: 35

## Questions to Resolve

### Before Deployment
- [x] Server location confirmed: Ghost VPS
- [x] Domain confirmed: pokerole.firefrostgaming.com
- [x] Fresh deployment confirmed (not reusing existing)
- [ ] Admin username preference (mkrause612 or other?)
- [ ] Theme preference (clean/minimal or specific style?)

### During Deployment
- Backup existing Ghost VPS configs before changes?
- Create deployment user or use root?
- Enable Git sync or manual migration only?

---
task_number: 35

## Success Metrics

**Deployment Success:**
- Wiki accessible via HTTPS ✅
- Admin can create/edit pages ✅
- Images can be uploaded ✅
- No errors in logs ✅

**Migration Success (later):**
- 76 entries published ✅
- 225 sprites uploaded ✅
- Holly approves final result ✅
- Public launch ready ✅

---
task_number: 35

## Contact & Coordination

**Deployer:** The Chronicler #27  
**Project Lead:** Michael (mkrause612)  
**Content Lead:** Claudius (Stage 2) - The Pattern Forger  
**Creative Director:** Holly (Unicorn20089)

**Deployment Window:** Evening of February 26, 2026  
**Migration Start:** Morning of February 27, 2026 (if wiki ready)

---
task_number: 35

## Notes

This deployment represents the **final infrastructure piece** for the Aurelian Pokédex project. All content creation is complete (100%). This wiki will be the public-facing home for months of collaborative work between Michael, Holly, and the AI team.

**Priority: HIGH** - Project is ready, team is ready, only infrastructure missing.

---
task_number: 35

**Fire + Frost + Foundation = Where Love Builds Legacy** 💙🔥❄️

**"Content forged. Artwork complete. Chronicle awaits its home."** ⚡🔧
