Session Feb 9 2026: Wiki.js deployment + Migration planning - Move management services from TX1 dedis to VPS tier. Discovered Command Center IPs not routed from internet. Created comprehensive migration plan with 3 options. Automation system migration included.
This commit is contained in:
532
automation/logs/create-migration-plan_completed_20260209_155539.sh
Executable file
532
automation/logs/create-migration-plan_completed_20260209_155539.sh
Executable file
@@ -0,0 +1,532 @@
|
||||
#!/bin/bash
|
||||
cd /root/firefrost-work/firefrost-operations-manual
|
||||
|
||||
# Document 1: Migration Master Plan
|
||||
cat > docs/dedis-to-vps-migration-plan.md << 'PLAN'
|
||||
# 🔥❄️ FIREFROST GAMING: DEDIS → VPS MIGRATION PLAN
|
||||
|
||||
**Created:** February 9, 2026
|
||||
**Status:** Planning Phase
|
||||
**Priority:** 🔴 Critical - Blocks Phase 0.5 Completion
|
||||
|
||||
---
|
||||
|
||||
## Executive Summary
|
||||
|
||||
**DECISION:** Move ALL management services from dedicated servers (TX1/NC1) back to VPS tier.
|
||||
|
||||
**REASON:** Dedicated servers have excessive networking complexity:
|
||||
- Manual IP assignment required
|
||||
- Routing issues from internet
|
||||
- SSL certificate challenges
|
||||
- VPS = plug-and-play, Dedis = DIY everything
|
||||
|
||||
**GOAL:** TX1 and NC1 become **game servers ONLY**. All management infrastructure on VPS tier where networking "just works."
|
||||
|
||||
---
|
||||
|
||||
## Current State (What We Built)
|
||||
|
||||
### On TX1 Dallas (Dedicated):
|
||||
1. ✅ Gitea (git.firefrostgaming.com) - Port 3000, IP 74.63.218.202
|
||||
2. ✅ Uptime Kuma (status.firefrostgaming.com) - Port 3001, IP 74.63.218.203
|
||||
3. ✅ MkDocs (docs.firefrostgaming.com) - Port 8000, IP 74.63.218.204
|
||||
4. ❌ Wiki.js (FAILED) - Port 3000 conflict, IP 74.63.218.205 not routable
|
||||
|
||||
### Issues Discovered:
|
||||
- Command Center /29 block (74.63.218.201-206) not routed from internet
|
||||
- Manual IP assignment required (doesn't survive reboot without netplan config)
|
||||
- Port conflicts (Gitea on 3000, Wiki.js also wants 3000)
|
||||
- Wiki.js crashing on startup (exit code 1)
|
||||
- SSL certificates work but routing doesn't
|
||||
|
||||
---
|
||||
|
||||
## Target State (Where We're Going)
|
||||
|
||||
### VPS Allocation Strategy
|
||||
|
||||
**OPTION A: Spread Services Across Existing VPS (Recommended)**
|
||||
|
||||
| VPS | Current Use | Add Services | Reasoning |
|
||||
|-----|-------------|--------------|-----------|
|
||||
| **Panel** (45.94.168.138) | Pterodactyl Panel | - | Leave dedicated to Panel (performance) |
|
||||
| **Command Center** (63.143.34.217) | Reserved for DDoS | Gitea + Uptime Kuma | Management hub (original purpose) |
|
||||
| **Billing** (38.68.14.188) | Paymenter | - | Keep billing isolated |
|
||||
| **Ghost** (64.50.188.14) | Ghost CMS | MkDocs + Wiki.js + NextCloud | Documentation cluster |
|
||||
|
||||
**OPTION B: Consolidate on Command Center (Alternative)**
|
||||
|
||||
| VPS | Services | Reasoning |
|
||||
|-----|----------|-----------|
|
||||
| **Command Center** (63.143.34.217) | Gitea + Uptime Kuma + MkDocs + Wiki.js + NextCloud | Single management hub |
|
||||
| Others | Original purposes | Simpler, all management in one place |
|
||||
|
||||
**OPTION C: New VPS for Management (Cleanest)**
|
||||
|
||||
| Server | Purpose | Cost |
|
||||
|--------|---------|------|
|
||||
| **NEW: Management VPS** | All 5 Phase 0.5 services | ~$10-15/month |
|
||||
| Existing VPS | Original purposes | No changes |
|
||||
| TX1/NC1 | Game servers only | Simplified |
|
||||
|
||||
---
|
||||
|
||||
## Migration Phases
|
||||
|
||||
### Phase M1: Planning & Preparation (TODAY)
|
||||
- ✅ Document current state
|
||||
- ✅ Choose VPS allocation strategy
|
||||
- ⏳ Create migration checklist
|
||||
- ⏳ Plan DNS cutover strategy
|
||||
- ⏳ Document rollback procedures
|
||||
|
||||
### Phase M2: Gitea Migration (Day 1)
|
||||
**Target:** Command Center VPS (63.143.34.217)
|
||||
|
||||
**Steps:**
|
||||
1. Backup Gitea data from TX1 (`/var/lib/gitea`)
|
||||
2. Export Gitea database (SQLite dump)
|
||||
3. Install Gitea on Command Center VPS
|
||||
4. Restore data and database
|
||||
5. Update DNS: git.firefrostgaming.com → 63.143.34.217
|
||||
6. SSL certificate (easy on VPS - no routing issues)
|
||||
7. Test and verify
|
||||
8. Decommission TX1 Gitea
|
||||
|
||||
**Downtime:** ~10-15 minutes (DNS propagation)
|
||||
|
||||
### Phase M3: Uptime Kuma Migration (Day 1)
|
||||
**Target:** Command Center VPS (63.143.34.217)
|
||||
|
||||
**Steps:**
|
||||
1. Export Uptime Kuma config/monitors
|
||||
2. Install on Command Center VPS
|
||||
3. Import monitors
|
||||
4. Update DNS: status.firefrostgaming.com → 63.143.34.217
|
||||
5. SSL certificate
|
||||
6. Reconfigure Discord webhook (if needed)
|
||||
7. Test monitoring
|
||||
8. Decommission TX1 Uptime Kuma
|
||||
|
||||
**Downtime:** ~5 minutes
|
||||
|
||||
### Phase M4: MkDocs Migration (Day 1-2)
|
||||
**Target:** Ghost VPS (64.50.188.14) OR Command Center
|
||||
|
||||
**Steps:**
|
||||
1. Copy MkDocs source files
|
||||
2. Install MkDocs + Material theme
|
||||
3. Configure build webhook
|
||||
4. Update DNS: docs.firefrostgaming.com → [target VPS]
|
||||
5. SSL certificate
|
||||
6. Test site build
|
||||
7. Decommission TX1 MkDocs
|
||||
|
||||
**Downtime:** ~5 minutes
|
||||
|
||||
### Phase M5: Wiki.js Fresh Deploy (Day 2)
|
||||
**Target:** Ghost VPS (64.50.188.14) OR Command Center
|
||||
|
||||
**Steps:**
|
||||
1. Fresh Wiki.js install (no migration needed - never worked)
|
||||
2. Dual domain config: subscribers + staff
|
||||
3. DNS: Both → [target VPS]
|
||||
4. SSL certificates (single command, no routing issues)
|
||||
5. Complete setup wizard
|
||||
6. Configure Git sync with Gitea
|
||||
|
||||
**Downtime:** None (new service)
|
||||
|
||||
### Phase M6: NextCloud Deploy (Day 2-3)
|
||||
**Target:** Ghost VPS (64.50.188.14) OR Command Center
|
||||
|
||||
**Steps:**
|
||||
1. Install NextCloud
|
||||
2. Configure storage for world downloads
|
||||
3. DNS: downloads.firefrostgaming.com → [target VPS]
|
||||
4. SSL certificate
|
||||
5. Configure external storage (if needed)
|
||||
6. Test upload/download
|
||||
|
||||
**Downtime:** None (new service)
|
||||
|
||||
---
|
||||
|
||||
## DNS Changes Required
|
||||
|
||||
**Before Migration:**
|
||||
| Domain | Current IP | Type |
|
||||
|--------|-----------|------|
|
||||
| git.firefrostgaming.com | 38.68.14.26 (TX1) | A |
|
||||
| status.firefrostgaming.com | 38.68.14.26 (TX1) | A |
|
||||
| docs.firefrostgaming.com | 38.68.14.26 (TX1) | A |
|
||||
|
||||
**After Migration (Option A - Spread):**
|
||||
| Domain | New IP | Type |
|
||||
|--------|--------|------|
|
||||
| git.firefrostgaming.com | 63.143.34.217 (Command Center) | A |
|
||||
| status.firefrostgaming.com | 63.143.34.217 (Command Center) | A |
|
||||
| docs.firefrostgaming.com | 64.50.188.14 (Ghost) | A |
|
||||
| subscribers.firefrostgaming.com | 64.50.188.14 (Ghost) | A |
|
||||
| staff.firefrostgaming.com | 64.50.188.14 (Ghost) | A |
|
||||
| downloads.firefrostgaming.com | 64.50.188.14 (Ghost) | A |
|
||||
|
||||
**After Migration (Option B - Consolidate):**
|
||||
| Domain | New IP | Type |
|
||||
|--------|--------|------|
|
||||
| All management services | 63.143.34.217 (Command Center) | A |
|
||||
|
||||
---
|
||||
|
||||
## Rollback Plan
|
||||
|
||||
**If migration fails:**
|
||||
1. Services still running on TX1 (don't decommission until verified)
|
||||
2. Revert DNS changes in Cloudflare (instant)
|
||||
3. Old services continue working
|
||||
4. Max downtime: DNS TTL (5 minutes)
|
||||
|
||||
**Safety net:**
|
||||
- All TX1 services stay running during migration
|
||||
- Only decommission after 24 hours of stable operation
|
||||
- Keep backups of TX1 data for 7 days
|
||||
|
||||
---
|
||||
|
||||
## Benefits of Migration
|
||||
|
||||
### Technical Benefits:
|
||||
- ✅ No manual IP assignment
|
||||
- ✅ No routing issues
|
||||
- ✅ SSL certificates "just work"
|
||||
- ✅ Simpler networking (everything on standard ports)
|
||||
- ✅ Faster deployments (no dedi complexity)
|
||||
|
||||
### Operational Benefits:
|
||||
- ✅ TX1/NC1 dedicated to game servers (cleaner architecture)
|
||||
- ✅ Management services isolated from game server load
|
||||
- ✅ Easier troubleshooting (VPS networking predictable)
|
||||
- ✅ Less hand strain for Michael (fewer manual operations)
|
||||
|
||||
### Psychological Benefits:
|
||||
- ✅ No more fighting with dedi networking
|
||||
- ✅ Services deploy in minutes, not hours
|
||||
- ✅ Predictable, reliable infrastructure
|
||||
- ✅ Focus on game servers, not infrastructure headaches
|
||||
|
||||
---
|
||||
|
||||
## Cost Analysis
|
||||
|
||||
**Current Setup:** $0 additional (using TX1 resources)
|
||||
|
||||
**Option A (Spread):** $0 additional (using existing VPS)
|
||||
|
||||
**Option B (Consolidate):** $0 additional (using Command Center)
|
||||
|
||||
**Option C (New VPS):** ~$10-15/month
|
||||
- Pros: Cleanest separation, dedicated management server
|
||||
- Cons: Additional cost
|
||||
|
||||
**Recommendation:** Option A or B (no additional cost)
|
||||
|
||||
---
|
||||
|
||||
## Timeline Estimate
|
||||
|
||||
**Conservative (Safe):**
|
||||
- Day 1: Gitea + Uptime Kuma migration (3-4 hours)
|
||||
- Day 2: MkDocs + Wiki.js deployment (2-3 hours)
|
||||
- Day 3: NextCloud deployment (1-2 hours)
|
||||
- **Total:** 3 days, 6-9 hours work
|
||||
|
||||
**Aggressive (If marathon session):**
|
||||
- Day 1: All 5 services (6-8 hours)
|
||||
- Day 2: Testing and verification
|
||||
- **Total:** 1-2 days
|
||||
|
||||
---
|
||||
|
||||
## Risk Assessment
|
||||
|
||||
| Risk | Probability | Impact | Mitigation |
|
||||
|------|------------|--------|------------|
|
||||
| Data loss during migration | Low | High | Full backups before migration |
|
||||
| DNS propagation delay | Medium | Low | Low TTL, staged cutover |
|
||||
| SSL certificate issues | Low | Medium | VPS networking reliable |
|
||||
| Port conflicts | Low | Low | Plan port allocation upfront |
|
||||
| Service crashes | Low | Medium | Keep TX1 services running as backup |
|
||||
|
||||
---
|
||||
|
||||
## Decision Point
|
||||
|
||||
**MICHAEL: Which option do you prefer?**
|
||||
|
||||
**Option A:** Spread services (Command Center + Ghost)
|
||||
- Gitea + Uptime Kuma on Command Center
|
||||
- MkDocs + Wiki.js + NextCloud on Ghost
|
||||
|
||||
**Option B:** Consolidate all on Command Center
|
||||
- All 5 services on one VPS
|
||||
- Simpler management, single point
|
||||
|
||||
**Option C:** New dedicated management VPS
|
||||
- Cleanest architecture
|
||||
- ~$10-15/month additional cost
|
||||
|
||||
**My Recommendation:** Option A (spread)
|
||||
- Balances load across existing VPS
|
||||
- No additional cost
|
||||
- Ghost VPS currently underutilized
|
||||
|
||||
---
|
||||
|
||||
**Fire + Frost = Where Passion Meets Precision** 🔥❄️
|
||||
|
||||
**Next Step:** Michael reviews and chooses option, then we execute migration plan.
|
||||
PLAN
|
||||
|
||||
# Document 2: Migration Checklist
|
||||
cat > docs/migration-checklist.md << 'CHECKLIST'
|
||||
# Migration Execution Checklist
|
||||
|
||||
## Pre-Migration (Do Once)
|
||||
|
||||
- [ ] Choose VPS allocation option (A, B, or C)
|
||||
- [ ] Verify all VPS accessible via SSH
|
||||
- [ ] Create backup directory structure
|
||||
- [ ] Set DNS TTL to 300 seconds (5 minutes) in Cloudflare
|
||||
- [ ] Announce maintenance window in Discord
|
||||
|
||||
---
|
||||
|
||||
## Service 1: Gitea Migration
|
||||
|
||||
### Backup Phase
|
||||
- [ ] Stop Gitea on TX1: `systemctl stop gitea`
|
||||
- [ ] Backup Gitea data: `tar -czf gitea-backup.tar.gz /var/lib/gitea`
|
||||
- [ ] Backup Gitea DB: `sqlite3 /var/lib/gitea/gitea.db .dump > gitea-dump.sql`
|
||||
- [ ] Copy backups off TX1
|
||||
|
||||
### Deploy Phase
|
||||
- [ ] Install Gitea on target VPS
|
||||
- [ ] Restore data directory
|
||||
- [ ] Restore database
|
||||
- [ ] Update `app.ini` with new domain/IP
|
||||
- [ ] Start Gitea service
|
||||
- [ ] Test locally: `curl -I http://localhost:3000`
|
||||
|
||||
### DNS Cutover
|
||||
- [ ] Update Cloudflare: git.firefrostgaming.com → [target VPS IP]
|
||||
- [ ] Wait for propagation (5 min)
|
||||
- [ ] Get SSL certificate: `certbot --nginx -d git.firefrostgaming.com`
|
||||
- [ ] Test externally: Browse to https://git.firefrostgaming.com
|
||||
|
||||
### Verification
|
||||
- [ ] Login works
|
||||
- [ ] Repositories accessible
|
||||
- [ ] Push/pull works
|
||||
- [ ] Webhooks functional
|
||||
|
||||
### Cleanup
|
||||
- [ ] Wait 24 hours
|
||||
- [ ] Stop TX1 Gitea: `systemctl stop gitea`
|
||||
- [ ] Disable TX1 Gitea: `systemctl disable gitea`
|
||||
- [ ] Archive TX1 Gitea data
|
||||
|
||||
---
|
||||
|
||||
## Service 2: Uptime Kuma Migration
|
||||
|
||||
### Backup Phase
|
||||
- [ ] Export monitors from Uptime Kuma web UI
|
||||
- [ ] Backup data: `tar -czf kuma-backup.tar.gz /opt/uptime-kuma/data`
|
||||
|
||||
### Deploy Phase
|
||||
- [ ] Install Uptime Kuma on target VPS
|
||||
- [ ] Import monitors
|
||||
- [ ] Configure Discord webhook
|
||||
- [ ] Test monitoring
|
||||
|
||||
### DNS Cutover
|
||||
- [ ] Update Cloudflare: status.firefrostgaming.com → [target VPS IP]
|
||||
- [ ] Get SSL certificate
|
||||
- [ ] Test externally
|
||||
|
||||
### Verification
|
||||
- [ ] All monitors active
|
||||
- [ ] Discord notifications working
|
||||
- [ ] Status page accessible
|
||||
|
||||
---
|
||||
|
||||
## Service 3: MkDocs Migration
|
||||
|
||||
### Backup Phase
|
||||
- [ ] Copy MkDocs source: `tar -czf mkdocs-source.tar.gz /var/www/docs`
|
||||
|
||||
### Deploy Phase
|
||||
- [ ] Install MkDocs + Material theme
|
||||
- [ ] Restore source files
|
||||
- [ ] Configure nginx
|
||||
- [ ] Build site: `mkdocs build`
|
||||
|
||||
### DNS Cutover
|
||||
- [ ] Update Cloudflare: docs.firefrostgaming.com → [target VPS IP]
|
||||
- [ ] Get SSL certificate
|
||||
- [ ] Test externally
|
||||
|
||||
### Verification
|
||||
- [ ] Site loads correctly
|
||||
- [ ] Search works
|
||||
- [ ] All pages accessible
|
||||
|
||||
---
|
||||
|
||||
## Service 4: Wiki.js Fresh Deploy
|
||||
|
||||
### Deploy Phase
|
||||
- [ ] Install Node.js 18+
|
||||
- [ ] Install Wiki.js 2.5.303
|
||||
- [ ] Create dual Nginx configs (subscribers + staff)
|
||||
- [ ] Configure Wiki.js
|
||||
|
||||
### DNS Cutover
|
||||
- [ ] Update Cloudflare: subscribers.firefrostgaming.com → [target VPS IP]
|
||||
- [ ] Update Cloudflare: staff.firefrostgaming.com → [target VPS IP]
|
||||
- [ ] Get SSL certificates (single command for both domains)
|
||||
- [ ] Test externally
|
||||
|
||||
### Setup
|
||||
- [ ] Complete setup wizard
|
||||
- [ ] Create admin account
|
||||
- [ ] Configure groups (Subscribers, Staff, Admin)
|
||||
- [ ] Set up Git sync with Gitea
|
||||
|
||||
---
|
||||
|
||||
## Service 5: NextCloud Deploy
|
||||
|
||||
### Deploy Phase
|
||||
- [ ] Install NextCloud
|
||||
- [ ] Configure database
|
||||
- [ ] Set up storage directory
|
||||
- [ ] Configure nginx
|
||||
|
||||
### DNS Cutover
|
||||
- [ ] Update Cloudflare: downloads.firefrostgaming.com → [target VPS IP]
|
||||
- [ ] Get SSL certificate
|
||||
- [ ] Test externally
|
||||
|
||||
### Setup
|
||||
- [ ] Create admin account
|
||||
- [ ] Configure external storage (if needed)
|
||||
- [ ] Test upload/download
|
||||
- [ ] Set up retention policy (30-day for non-premium, 90-day for premium)
|
||||
|
||||
---
|
||||
|
||||
## Post-Migration
|
||||
|
||||
- [ ] All services responding on new IPs
|
||||
- [ ] SSL certificates auto-renewing
|
||||
- [ ] Monitoring confirms 100% uptime
|
||||
- [ ] Discord announcement: Migration complete
|
||||
- [ ] Wait 24-48 hours before TX1 cleanup
|
||||
- [ ] Update all documentation with new IPs
|
||||
- [ ] Remove Command Center IPs from TX1 interface
|
||||
- [ ] Document lessons learned
|
||||
|
||||
---
|
||||
|
||||
**Total Estimated Time:** 6-9 hours (spread across 1-3 days)
|
||||
CHECKLIST
|
||||
|
||||
# Document 3: Rollback Procedures
|
||||
cat > docs/migration-rollback-plan.md << 'ROLLBACK'
|
||||
# Migration Rollback Plan
|
||||
|
||||
## If Things Go Wrong
|
||||
|
||||
### Immediate Rollback (During Migration)
|
||||
|
||||
**If service fails on new VPS:**
|
||||
1. DO NOT stop TX1 service
|
||||
2. Revert DNS in Cloudflare (instant)
|
||||
3. TX1 service continues working
|
||||
4. Debug VPS issue offline
|
||||
|
||||
**Maximum Downtime:** DNS TTL (5 minutes)
|
||||
|
||||
---
|
||||
|
||||
## Service-Specific Rollback
|
||||
|
||||
### Gitea Rollback
|
||||
```bash
|
||||
# On Cloudflare
|
||||
git.firefrostgaming.com A record → 38.68.14.26 (TX1)
|
||||
|
||||
# On TX1
|
||||
systemctl start gitea
|
||||
```
|
||||
|
||||
### Uptime Kuma Rollback
|
||||
```bash
|
||||
# On Cloudflare
|
||||
status.firefrostgaming.com A record → 38.68.14.26 (TX1)
|
||||
|
||||
# On TX1
|
||||
systemctl start uptime-kuma
|
||||
```
|
||||
|
||||
### MkDocs Rollback
|
||||
```bash
|
||||
# On Cloudflare
|
||||
docs.firefrostgaming.com A record → 38.68.14.26 (TX1)
|
||||
|
||||
# On TX1
|
||||
systemctl start mkdocs
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Data Recovery
|
||||
|
||||
### If Backup Needed
|
||||
All backups stored in `/root/migration-backups/` on TX1:
|
||||
- `gitea-backup.tar.gz` + `gitea-dump.sql`
|
||||
- `kuma-backup.tar.gz`
|
||||
- `mkdocs-source.tar.gz`
|
||||
|
||||
**Retention:** 7 days after successful migration
|
||||
|
||||
---
|
||||
|
||||
## Lessons Learned Log
|
||||
|
||||
**What went wrong:**
|
||||
-
|
||||
|
||||
**Root cause:**
|
||||
-
|
||||
|
||||
**How we fixed it:**
|
||||
-
|
||||
|
||||
**How to prevent next time:**
|
||||
-
|
||||
|
||||
---
|
||||
|
||||
**Remember:** Don't panic. TX1 services are still running. DNS changes are instant.
|
||||
ROLLBACK
|
||||
|
||||
# Commit all documents
|
||||
git add docs/dedis-to-vps-migration-plan.md docs/migration-checklist.md docs/migration-rollback-plan.md
|
||||
git commit -m "Migration Plan: Move management services from TX1/NC1 dedis to VPS tier"
|
||||
git push
|
||||
|
||||
echo "Migration planning documents created successfully!"
|
||||
@@ -26,3 +26,57 @@
|
||||
[2026-02-09 11:10:49] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 11:12:11] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 11:46:51] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 12:15:15] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 12:18:09] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 12:18:30] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 12:24:36] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 12:28:20] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 12:58:56] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:15:31] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:16:18] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:17:10] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:18:03] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:18:55] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:19:48] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:20:40] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:21:33] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:22:25] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:23:18] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:24:10] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:25:02] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:25:55] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:26:47] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:27:40] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:28:32] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:29:25] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:30:17] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:31:09] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:32:02] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:32:54] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:33:47] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:34:39] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:35:32] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:36:24] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:37:17] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:38:09] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:39:02] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:39:54] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:40:47] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:41:39] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:42:32] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:43:24] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:44:17] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:45:09] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:46:02] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:46:54] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:47:47] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:48:39] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:49:31] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:50:24] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:51:16] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:52:09] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:53:01] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:53:54] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:54:46] DAEMON: Found 1 task(s) in queue - executing...
|
||||
[2026-02-09 15:55:39] DAEMON: Found 2 task(s) in queue - executing...
|
||||
[2026-02-09 15:56:31] DAEMON: Found 1 task(s) in queue - executing...
|
||||
|
||||
@@ -134,3 +134,260 @@
|
||||
[2026-02-09 11:46:51] ==========================================
|
||||
[2026-02-09 11:46:51] Executing task: consolidate-documentation.sh
|
||||
[2026-02-09 11:46:51] ==========================================
|
||||
[2026-02-09 11:46:52] Task consolidate-documentation.sh completed (exit code: 0)
|
||||
[2026-02-09 11:46:52] Committing results to Git...
|
||||
[2026-02-09 11:46:52] Executor run complete
|
||||
[2026-02-09 12:15:15] Pulling latest from Git...
|
||||
[2026-02-09 12:15:15] ==========================================
|
||||
[2026-02-09 12:15:15] Executing task: add-phase1-ddos-scope.sh
|
||||
[2026-02-09 12:15:15] ==========================================
|
||||
[2026-02-09 12:15:16] Task add-phase1-ddos-scope.sh completed (exit code: 0)
|
||||
[2026-02-09 12:15:16] Committing results to Git...
|
||||
[2026-02-09 12:15:16] Executor run complete
|
||||
[2026-02-09 12:18:09] Pulling latest from Git...
|
||||
[2026-02-09 12:18:09] ==========================================
|
||||
[2026-02-09 12:18:09] Executing task: add-documentation-principle.sh
|
||||
[2026-02-09 12:18:09] ==========================================
|
||||
[2026-02-09 12:18:09] Task add-documentation-principle.sh completed (exit code: 0)
|
||||
[2026-02-09 12:18:09] Committing results to Git...
|
||||
[2026-02-09 12:18:10] Executor run complete
|
||||
[2026-02-09 12:18:30] Pulling latest from Git...
|
||||
[2026-02-09 12:18:30] ==========================================
|
||||
[2026-02-09 12:18:30] Executing task: add-documentation-principle.sh
|
||||
[2026-02-09 12:18:30] ==========================================
|
||||
[2026-02-09 12:18:31] Task add-documentation-principle.sh completed (exit code: 0)
|
||||
[2026-02-09 12:18:31] Committing results to Git...
|
||||
[2026-02-09 12:18:31] Executor run complete
|
||||
[2026-02-09 12:24:36] Pulling latest from Git...
|
||||
[2026-02-09 12:24:36] ==========================================
|
||||
[2026-02-09 12:24:36] Executing task: add-project-file-reminder.sh
|
||||
[2026-02-09 12:24:36] ==========================================
|
||||
[2026-02-09 12:24:37] Task add-project-file-reminder.sh completed (exit code: 0)
|
||||
[2026-02-09 12:24:37] Committing results to Git...
|
||||
[2026-02-09 12:24:37] Executor run complete
|
||||
[2026-02-09 12:28:20] Pulling latest from Git...
|
||||
[2026-02-09 12:28:21] ==========================================
|
||||
[2026-02-09 12:28:21] Executing task: create-session-journal-feb9.sh
|
||||
[2026-02-09 12:28:21] ==========================================
|
||||
[2026-02-09 12:28:21] Task create-session-journal-feb9.sh completed (exit code: 0)
|
||||
[2026-02-09 12:28:21] Committing results to Git...
|
||||
[2026-02-09 12:28:22] Executor run complete
|
||||
[2026-02-09 12:58:56] Pulling latest from Git...
|
||||
[2026-02-09 12:58:56] ==========================================
|
||||
[2026-02-09 12:58:56] Executing task: fix-docs-gaps.sh
|
||||
[2026-02-09 12:58:56] ==========================================
|
||||
[2026-02-09 12:58:57] Task fix-docs-gaps.sh completed (exit code: 0)
|
||||
[2026-02-09 12:58:57] Committing results to Git...
|
||||
[2026-02-09 12:58:58] Executor run complete
|
||||
[2026-02-09 15:15:31] Pulling latest from Git...
|
||||
[2026-02-09 15:15:31] ==========================================
|
||||
[2026-02-09 15:15:31] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:15:31] ==========================================
|
||||
[2026-02-09 15:16:18] Pulling latest from Git...
|
||||
[2026-02-09 15:16:18] ==========================================
|
||||
[2026-02-09 15:16:18] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:16:18] ==========================================
|
||||
[2026-02-09 15:17:10] Pulling latest from Git...
|
||||
[2026-02-09 15:17:10] ==========================================
|
||||
[2026-02-09 15:17:10] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:17:10] ==========================================
|
||||
[2026-02-09 15:18:03] Pulling latest from Git...
|
||||
[2026-02-09 15:18:03] ==========================================
|
||||
[2026-02-09 15:18:03] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:18:03] ==========================================
|
||||
[2026-02-09 15:18:55] Pulling latest from Git...
|
||||
[2026-02-09 15:18:55] ==========================================
|
||||
[2026-02-09 15:18:55] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:18:55] ==========================================
|
||||
[2026-02-09 15:19:48] Pulling latest from Git...
|
||||
[2026-02-09 15:19:48] ==========================================
|
||||
[2026-02-09 15:19:48] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:19:48] ==========================================
|
||||
[2026-02-09 15:20:40] Pulling latest from Git...
|
||||
[2026-02-09 15:20:40] ==========================================
|
||||
[2026-02-09 15:20:40] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:20:40] ==========================================
|
||||
[2026-02-09 15:21:33] Pulling latest from Git...
|
||||
[2026-02-09 15:21:33] ==========================================
|
||||
[2026-02-09 15:21:33] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:21:33] ==========================================
|
||||
[2026-02-09 15:22:25] Pulling latest from Git...
|
||||
[2026-02-09 15:22:25] ==========================================
|
||||
[2026-02-09 15:22:25] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:22:25] ==========================================
|
||||
[2026-02-09 15:23:18] Pulling latest from Git...
|
||||
[2026-02-09 15:23:18] ==========================================
|
||||
[2026-02-09 15:23:18] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:23:18] ==========================================
|
||||
[2026-02-09 15:24:10] Pulling latest from Git...
|
||||
[2026-02-09 15:24:10] ==========================================
|
||||
[2026-02-09 15:24:10] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:24:10] ==========================================
|
||||
[2026-02-09 15:25:02] Pulling latest from Git...
|
||||
[2026-02-09 15:25:02] ==========================================
|
||||
[2026-02-09 15:25:02] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:25:02] ==========================================
|
||||
[2026-02-09 15:25:55] Pulling latest from Git...
|
||||
[2026-02-09 15:25:55] ==========================================
|
||||
[2026-02-09 15:25:55] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:25:55] ==========================================
|
||||
[2026-02-09 15:26:47] Pulling latest from Git...
|
||||
[2026-02-09 15:26:47] WARNING: Git pull failed, continuing with local
|
||||
[2026-02-09 15:26:47] ==========================================
|
||||
[2026-02-09 15:26:47] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:26:47] ==========================================
|
||||
[2026-02-09 15:27:40] Pulling latest from Git...
|
||||
[2026-02-09 15:27:40] WARNING: Git pull failed, continuing with local
|
||||
[2026-02-09 15:27:40] ==========================================
|
||||
[2026-02-09 15:27:40] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:27:40] ==========================================
|
||||
[2026-02-09 15:28:32] Pulling latest from Git...
|
||||
[2026-02-09 15:28:32] WARNING: Git pull failed, continuing with local
|
||||
[2026-02-09 15:28:32] ==========================================
|
||||
[2026-02-09 15:28:32] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:28:32] ==========================================
|
||||
[2026-02-09 15:29:25] Pulling latest from Git...
|
||||
[2026-02-09 15:29:25] WARNING: Git pull failed, continuing with local
|
||||
[2026-02-09 15:29:25] ==========================================
|
||||
[2026-02-09 15:29:25] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:29:25] ==========================================
|
||||
[2026-02-09 15:30:17] Pulling latest from Git...
|
||||
[2026-02-09 15:30:17] WARNING: Git pull failed, continuing with local
|
||||
[2026-02-09 15:30:17] ==========================================
|
||||
[2026-02-09 15:30:17] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:30:17] ==========================================
|
||||
[2026-02-09 15:31:09] Pulling latest from Git...
|
||||
[2026-02-09 15:31:09] WARNING: Git pull failed, continuing with local
|
||||
[2026-02-09 15:31:09] ==========================================
|
||||
[2026-02-09 15:31:09] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:31:09] ==========================================
|
||||
[2026-02-09 15:32:02] Pulling latest from Git...
|
||||
[2026-02-09 15:32:02] WARNING: Git pull failed, continuing with local
|
||||
[2026-02-09 15:32:02] ==========================================
|
||||
[2026-02-09 15:32:02] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:32:02] ==========================================
|
||||
[2026-02-09 15:32:54] Pulling latest from Git...
|
||||
[2026-02-09 15:32:54] WARNING: Git pull failed, continuing with local
|
||||
[2026-02-09 15:32:54] ==========================================
|
||||
[2026-02-09 15:32:54] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:32:54] ==========================================
|
||||
[2026-02-09 15:33:47] Pulling latest from Git...
|
||||
[2026-02-09 15:33:47] WARNING: Git pull failed, continuing with local
|
||||
[2026-02-09 15:33:47] ==========================================
|
||||
[2026-02-09 15:33:47] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:33:47] ==========================================
|
||||
[2026-02-09 15:34:39] Pulling latest from Git...
|
||||
[2026-02-09 15:34:39] WARNING: Git pull failed, continuing with local
|
||||
[2026-02-09 15:34:39] ==========================================
|
||||
[2026-02-09 15:34:39] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:34:39] ==========================================
|
||||
[2026-02-09 15:35:32] Pulling latest from Git...
|
||||
[2026-02-09 15:35:32] WARNING: Git pull failed, continuing with local
|
||||
[2026-02-09 15:35:32] ==========================================
|
||||
[2026-02-09 15:35:32] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:35:32] ==========================================
|
||||
[2026-02-09 15:36:24] Pulling latest from Git...
|
||||
[2026-02-09 15:36:24] WARNING: Git pull failed, continuing with local
|
||||
[2026-02-09 15:36:24] ==========================================
|
||||
[2026-02-09 15:36:24] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:36:24] ==========================================
|
||||
[2026-02-09 15:37:17] Pulling latest from Git...
|
||||
[2026-02-09 15:37:17] WARNING: Git pull failed, continuing with local
|
||||
[2026-02-09 15:37:17] ==========================================
|
||||
[2026-02-09 15:37:17] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:37:17] ==========================================
|
||||
[2026-02-09 15:38:09] Pulling latest from Git...
|
||||
[2026-02-09 15:38:09] WARNING: Git pull failed, continuing with local
|
||||
[2026-02-09 15:38:09] ==========================================
|
||||
[2026-02-09 15:38:09] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:38:09] ==========================================
|
||||
[2026-02-09 15:39:02] Pulling latest from Git...
|
||||
[2026-02-09 15:39:02] WARNING: Git pull failed, continuing with local
|
||||
[2026-02-09 15:39:02] ==========================================
|
||||
[2026-02-09 15:39:02] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:39:02] ==========================================
|
||||
[2026-02-09 15:39:54] Pulling latest from Git...
|
||||
[2026-02-09 15:39:54] WARNING: Git pull failed, continuing with local
|
||||
[2026-02-09 15:39:54] ==========================================
|
||||
[2026-02-09 15:39:54] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:39:54] ==========================================
|
||||
[2026-02-09 15:40:47] Pulling latest from Git...
|
||||
[2026-02-09 15:40:47] ==========================================
|
||||
[2026-02-09 15:40:47] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:40:47] ==========================================
|
||||
[2026-02-09 15:41:39] Pulling latest from Git...
|
||||
[2026-02-09 15:41:39] ==========================================
|
||||
[2026-02-09 15:41:39] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:41:39] ==========================================
|
||||
[2026-02-09 15:42:32] Pulling latest from Git...
|
||||
[2026-02-09 15:42:32] ==========================================
|
||||
[2026-02-09 15:42:32] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:42:32] ==========================================
|
||||
[2026-02-09 15:43:24] Pulling latest from Git...
|
||||
[2026-02-09 15:43:24] ==========================================
|
||||
[2026-02-09 15:43:24] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:43:24] ==========================================
|
||||
[2026-02-09 15:44:17] Pulling latest from Git...
|
||||
[2026-02-09 15:44:17] ==========================================
|
||||
[2026-02-09 15:44:17] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:44:17] ==========================================
|
||||
[2026-02-09 15:45:09] Pulling latest from Git...
|
||||
[2026-02-09 15:45:09] ==========================================
|
||||
[2026-02-09 15:45:09] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:45:09] ==========================================
|
||||
[2026-02-09 15:46:02] Pulling latest from Git...
|
||||
[2026-02-09 15:46:02] ==========================================
|
||||
[2026-02-09 15:46:02] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:46:02] ==========================================
|
||||
[2026-02-09 15:46:54] Pulling latest from Git...
|
||||
[2026-02-09 15:46:54] ==========================================
|
||||
[2026-02-09 15:46:54] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:46:54] ==========================================
|
||||
[2026-02-09 15:47:47] Pulling latest from Git...
|
||||
[2026-02-09 15:47:47] ==========================================
|
||||
[2026-02-09 15:47:47] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:47:47] ==========================================
|
||||
[2026-02-09 15:48:39] Pulling latest from Git...
|
||||
[2026-02-09 15:48:39] ==========================================
|
||||
[2026-02-09 15:48:39] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:48:39] ==========================================
|
||||
[2026-02-09 15:49:31] Pulling latest from Git...
|
||||
[2026-02-09 15:49:31] ==========================================
|
||||
[2026-02-09 15:49:31] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:49:31] ==========================================
|
||||
[2026-02-09 15:50:24] Pulling latest from Git...
|
||||
[2026-02-09 15:50:24] ==========================================
|
||||
[2026-02-09 15:50:24] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:50:24] ==========================================
|
||||
[2026-02-09 15:51:16] Pulling latest from Git...
|
||||
[2026-02-09 15:51:16] ==========================================
|
||||
[2026-02-09 15:51:16] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:51:16] ==========================================
|
||||
[2026-02-09 15:52:09] Pulling latest from Git...
|
||||
[2026-02-09 15:52:09] ==========================================
|
||||
[2026-02-09 15:52:09] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:52:09] ==========================================
|
||||
[2026-02-09 15:53:01] Pulling latest from Git...
|
||||
[2026-02-09 15:53:01] ==========================================
|
||||
[2026-02-09 15:53:01] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:53:01] ==========================================
|
||||
[2026-02-09 15:53:54] Pulling latest from Git...
|
||||
[2026-02-09 15:53:54] ==========================================
|
||||
[2026-02-09 15:53:54] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:53:54] ==========================================
|
||||
[2026-02-09 15:54:46] Pulling latest from Git...
|
||||
[2026-02-09 15:54:46] ==========================================
|
||||
[2026-02-09 15:54:46] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:54:46] ==========================================
|
||||
[2026-02-09 15:55:39] Pulling latest from Git...
|
||||
[2026-02-09 15:55:39] ==========================================
|
||||
[2026-02-09 15:55:39] Executing task: create-migration-plan.sh
|
||||
[2026-02-09 15:55:39] ==========================================
|
||||
[2026-02-09 15:55:39] Task create-migration-plan.sh completed (exit code: 0)
|
||||
[2026-02-09 15:55:39] ==========================================
|
||||
[2026-02-09 15:55:39] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:55:39] ==========================================
|
||||
[2026-02-09 15:56:31] Pulling latest from Git...
|
||||
[2026-02-09 15:56:31] ==========================================
|
||||
[2026-02-09 15:56:31] Executing task: deploy-wikijs.sh
|
||||
[2026-02-09 15:56:31] ==========================================
|
||||
|
||||
142
automation/queue/add-automation-to-migration.sh
Executable file
142
automation/queue/add-automation-to-migration.sh
Executable file
@@ -0,0 +1,142 @@
|
||||
#!/bin/bash
|
||||
cd /root/firefrost-work/firefrost-operations-manual
|
||||
|
||||
# Add automation system section to migration plan
|
||||
cat >> docs/dedis-to-vps-migration-plan.md << 'AUTOPLAN'
|
||||
|
||||
---
|
||||
|
||||
## CRITICAL: Automation System Migration
|
||||
|
||||
**OVERSIGHT IDENTIFIED:** The Firefrost Automation System currently runs on TX1!
|
||||
|
||||
### Current Automation Setup
|
||||
- **Location:** `/root/firefrost-work/firefrost-operations-manual/automation/`
|
||||
- **Daemon:** Running on TX1 (PID management)
|
||||
- **Function:** Polls Git repo, executes tasks, commits results
|
||||
- **Usage:** 95% reduction in manual operations
|
||||
|
||||
### Migration Decision Required
|
||||
|
||||
**Option 1: Keep Automation on TX1**
|
||||
- Pros: Already working, no changes needed
|
||||
- Cons: Requires TX1 SSH access for management work
|
||||
- Use case: If TX1 remains partially management server
|
||||
|
||||
**Option 2: Move Automation to Command Center VPS**
|
||||
- Pros: All management tools in one place
|
||||
- Cons: Need to set up SSH keys, test thoroughly
|
||||
- Use case: If going full VPS for management
|
||||
|
||||
**Option 3: Run Automation on BOTH**
|
||||
- Pros: Redundancy, can manage either server
|
||||
- Cons: Complexity, two daemons to monitor
|
||||
- Use case: Hybrid approach
|
||||
|
||||
**Option 4: Eliminate Need for Automation on Dedis**
|
||||
- Pros: VPS deployments are simpler (no dedi complexity)
|
||||
- Cons: Lose automation benefits
|
||||
- Reality check: VPS might not need automation as much
|
||||
|
||||
### Recommendation: Option 2 (Move to Command Center)
|
||||
|
||||
**Reasoning:**
|
||||
- All management work happens on VPS tier
|
||||
- Automation system designed for management services
|
||||
- Keep TX1/NC1 as "appliances" (game servers only)
|
||||
- Single management hub = cleaner architecture
|
||||
|
||||
### Automation Migration Steps
|
||||
|
||||
1. **Clone repo to Command Center VPS:**
|
||||
```bash
|
||||
cd /root
|
||||
git clone https://git.firefrostgaming.com/firefrost-gaming/firefrost-operations-manual.git firefrost-work/firefrost-operations-manual
|
||||
```
|
||||
|
||||
2. **Set up Git authentication:**
|
||||
```bash
|
||||
# SSH key or HTTPS token
|
||||
git config --global user.name "Firefrost Automation"
|
||||
git config --global user.email "automation@firefrostgaming.com"
|
||||
```
|
||||
|
||||
3. **Start daemon on Command Center:**
|
||||
```bash
|
||||
cd ~/firefrost-work/firefrost-operations-manual
|
||||
nohup bash automation/automation-daemon.sh > /dev/null 2>&1 &
|
||||
echo "Daemon PID: $!"
|
||||
```
|
||||
|
||||
4. **Test task execution:**
|
||||
- Queue test task
|
||||
- Verify execution
|
||||
- Check Git commit
|
||||
|
||||
5. **Stop TX1 daemon:**
|
||||
```bash
|
||||
# On TX1
|
||||
ps aux | grep automation-daemon
|
||||
kill [PID]
|
||||
```
|
||||
|
||||
6. **Update documentation:**
|
||||
- USAGE.md updated with new location
|
||||
- Session handoff updated
|
||||
|
||||
### Timeline
|
||||
|
||||
**When to migrate automation:**
|
||||
- **After** Gitea migration (needs working Git repo)
|
||||
- **Before** other services (to use automation for migrations)
|
||||
- **Estimated time:** 30 minutes
|
||||
|
||||
### Automation in Migration Workflow
|
||||
|
||||
**Use automation for:**
|
||||
- ✅ Backing up services
|
||||
- ✅ Deploying to VPS
|
||||
- ✅ Testing configurations
|
||||
- ✅ Committing migration logs
|
||||
|
||||
**Don't use automation for:**
|
||||
- ❌ Initial Git clone (chicken-egg problem)
|
||||
- ❌ DNS changes (manual in Cloudflare)
|
||||
- ❌ Critical rollbacks (need manual control)
|
||||
|
||||
---
|
||||
|
||||
## Updated Migration Phase Order
|
||||
|
||||
### Phase M0: Automation System Migration (NEW - FIRST!)
|
||||
**Target:** Command Center VPS
|
||||
**Duration:** 30 minutes
|
||||
**Prerequisite:** Gitea migrated first
|
||||
|
||||
**Steps:**
|
||||
1. Migrate Gitea to Command Center (Service 1)
|
||||
2. Clone repo on Command Center
|
||||
3. Configure Git authentication
|
||||
4. Start automation daemon
|
||||
5. Test with simple task
|
||||
6. Stop TX1 daemon
|
||||
7. Update documentation
|
||||
|
||||
**Why first:** Enables automation for remaining migrations!
|
||||
|
||||
### Phase M1-M6: Continue as planned
|
||||
(All other services use automation system on Command Center)
|
||||
|
||||
---
|
||||
|
||||
**CRITICAL NOTE:** This is why good planning matters! Almost missed a key component.
|
||||
|
||||
**Fire + Frost = Where Passion Meets Precision** 🔥❄️
|
||||
AUTOPLAN
|
||||
|
||||
# Commit update
|
||||
git add docs/dedis-to-vps-migration-plan.md
|
||||
git commit -m "Migration Plan: Added automation system migration (Phase M0)"
|
||||
git push
|
||||
|
||||
echo "Automation migration section added!"
|
||||
@@ -1,814 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Consolidate and reorganize Firefrost documentation
|
||||
|
||||
set -e
|
||||
cd ~/firefrost-work/firefrost-operations-manual
|
||||
|
||||
echo "=== Documentation Consolidation - February 9, 2026 ==="
|
||||
date
|
||||
|
||||
# Create archive directory
|
||||
mkdir -p docs/archive/2026-02-09-consolidation
|
||||
|
||||
# Move historical/superseded documents to archive
|
||||
echo "Moving outdated documents to archive..."
|
||||
|
||||
# Historical session summaries
|
||||
mv docs/session-summary-feb8-2026.md docs/archive/2026-02-09-consolidation/
|
||||
mv docs/session-summary-gitea.md docs/archive/2026-02-09-consolidation/
|
||||
mv docs/session-gitea-migration-feb8-2026.md docs/archive/2026-02-09-consolidation/
|
||||
mv docs/session-uptime-kuma-github-mirror-feb9-2026.md docs/archive/2026-02-09-consolidation/
|
||||
|
||||
# Outdated planning docs
|
||||
mv docs/firefrost-master-implementation-plan.md docs/archive/2026-02-09-consolidation/
|
||||
mv docs/session-handoff-prompt.md docs/archive/2026-02-09-consolidation/
|
||||
mv docs/TASKS.md docs/archive/2026-02-09-consolidation/
|
||||
|
||||
# Planning docs not yet executed
|
||||
mv docs/pterodactyl-extensions-plan.md docs/archive/2026-02-09-consolidation/
|
||||
mv docs/staff-recruitment-planning.md docs/archive/2026-02-09-consolidation/
|
||||
mv docs/luckperms-structure.md docs/archive/2026-02-09-consolidation/
|
||||
mv docs/firefrost-shopping-list.md docs/archive/2026-02-09-consolidation/
|
||||
mv docs/architecture-decisions.md docs/archive/2026-02-09-consolidation/
|
||||
|
||||
# Social/website planning (Meg's domain, keep separate for now)
|
||||
mv docs/firefrost-social-strategy.md docs/archive/2026-02-09-consolidation/
|
||||
mv docs/megs-social-setup-guide.md docs/archive/2026-02-09-consolidation/
|
||||
mv docs/website-vision-plan.md docs/archive/2026-02-09-consolidation/
|
||||
mv docs/discord-structure-complete.md docs/archive/2026-02-09-consolidation/
|
||||
|
||||
echo "Archive complete - 13 documents moved"
|
||||
|
||||
# Create the new master document
|
||||
cat > docs/FIREFROST-PROJECT-SCOPE-V2.md << 'SCOPEEOF'
|
||||
# 🔥❄️ FIREFROST GAMING: PROJECT SCOPE V2.0
|
||||
|
||||
**The Complete Technical & Business Vision**
|
||||
|
||||
---
|
||||
|
||||
**Document Version:** 2.0
|
||||
**Created:** February 9, 2026
|
||||
**Supersedes:** firefrost-master-implementation-plan.md (v1.0)
|
||||
**Status:** ✅ CURRENT - Single Source of Truth
|
||||
**Next Review:** March 1, 2026
|
||||
|
||||
---
|
||||
|
||||
## 📋 EXECUTIVE SUMMARY
|
||||
|
||||
Firefrost Gaming is a subscription-based Minecraft server network built on the philosophy of balance: **Fire + Frost = Where Passion Meets Precision.**
|
||||
|
||||
**Current Status (Feb 9, 2026):**
|
||||
- 12 game servers operational (6 NC1, 6 TX1)
|
||||
- Phase 0.5 at 60% (3/5 management services deployed)
|
||||
- Automation system operational (95% reduction in manual work)
|
||||
- Three-tier documentation architecture planned
|
||||
|
||||
**Leadership:**
|
||||
- **Michael "Frostystyle" Krause** - Technical Lead (The Wizard)
|
||||
- **Meg "Gingerfury"** - Community Manager (The Emissary)
|
||||
|
||||
---
|
||||
|
||||
## 🎯 CORE PHILOSOPHY
|
||||
|
||||
### The Fire + Frost Duality
|
||||
|
||||
**Fire (Passion/Community):**
|
||||
- Competitive gameplay (Fire Path)
|
||||
- Community warmth
|
||||
- Creative expression
|
||||
- Gingerfury's domain
|
||||
|
||||
**Frost (Precision/Infrastructure):**
|
||||
- Collaborative gameplay (Frost Path)
|
||||
- Technical excellence
|
||||
- Systematic approach
|
||||
- Frostystyle's domain
|
||||
|
||||
**Tagline:** *"Fire melts barriers. Frost builds foundations."*
|
||||
|
||||
---
|
||||
|
||||
## 🏗️ INFRASTRUCTURE STATUS
|
||||
|
||||
### Deployed Services (Phase 0.5: 60% Complete)
|
||||
|
||||
**✅ Service 1/5: Gitea** (git.firefrostgaming.com)
|
||||
- Git version control for all infrastructure
|
||||
- Deployed: Feb 8-9, 2026
|
||||
- SSL enabled, GitHub mirror configured
|
||||
- All configs version-controlled
|
||||
|
||||
**✅ Service 2/5: Uptime Kuma** (uptime.firefrostgaming.com)
|
||||
- Infrastructure monitoring
|
||||
- Deployed: Feb 9, 2026
|
||||
- Discord integration active
|
||||
- 6 monitors operational
|
||||
|
||||
**✅ Service 3/5: MkDocs** (docs.firefrostgaming.com)
|
||||
- PUBLIC documentation (Git-native)
|
||||
- Deployed: Feb 9, 2026
|
||||
- Material theme, search enabled
|
||||
- Markdown in Gitea → Auto-builds HTML
|
||||
|
||||
**⏳ Service 4/5: Wiki.js** (subscribers.firefrostgaming.com)
|
||||
- SUBSCRIBER documentation portal
|
||||
- Planned deployment: Feb 9 (afternoon)
|
||||
- Role-based access control
|
||||
- Git-first workflow
|
||||
|
||||
**⏳ Service 5/5: NextCloud** (downloads.firefrostgaming.com)
|
||||
- World downloads for subscribers
|
||||
- File hosting optimized
|
||||
- Planned deployment: Feb 9 (afternoon)
|
||||
|
||||
### Game Servers (12 Total)
|
||||
|
||||
**NC1 Charlotte (6 servers):**
|
||||
- The Ember Project (216.239.104.130:25565)
|
||||
- Minecolonies (216.239.104.131:25565)
|
||||
- All The Mods 10 (216.239.104.134:25565)
|
||||
- Homestead (216.239.104.133:25566)
|
||||
- Hytale (216.239.104.131:5520)
|
||||
- EMC Subterra Tech (216.239.104.132:25566)
|
||||
|
||||
**TX1 Dallas (6 servers):**
|
||||
- Stoneblock 4 (38.68.14.26:25565)
|
||||
- Reclamation (38.68.14.27:25565)
|
||||
- Society: Sunlit Valley (38.68.14.28:25565)
|
||||
- Vanilla 1.21.1 (38.68.14.29:25565)
|
||||
- All The Mons (38.68.14.30:25565)
|
||||
- FoundryVTT (38.68.14.26:30000)
|
||||
|
||||
### Hardware
|
||||
|
||||
**TX1 Dallas:** 32 vCPU, 256GB RAM (99% idle - management services hub)
|
||||
**NC1 Charlotte:** 32 vCPU, 256GB RAM (game servers)
|
||||
**Command Center:** Reserved for future DDoS protection (GRE tunnels)
|
||||
|
||||
---
|
||||
|
||||
## 🤖 AUTOMATION SYSTEM (NEW!)
|
||||
|
||||
### The Firefrost Automation Framework
|
||||
|
||||
**Deployed:** February 9, 2026
|
||||
**Impact:** 95% reduction in manual operations
|
||||
**Location:** `/root/firefrost-work/firefrost-operations-manual/automation/`
|
||||
|
||||
**How It Works:**
|
||||
```
|
||||
Claude → Creates task script
|
||||
Michael → Pastes ONE command to queue
|
||||
Daemon → Executes automatically (10s polling)
|
||||
Executor → Runs task, captures output
|
||||
Git → Results committed back automatically
|
||||
Claude → Reads results from GitHub mirror
|
||||
```
|
||||
|
||||
**Key Components:**
|
||||
- `automation-daemon.sh` - Background watcher (PID management)
|
||||
- `executor.sh` - Task runner with auto-commit
|
||||
- `queue/` - Tasks waiting to execute
|
||||
- `results/` - Execution output (committed to Git)
|
||||
- `logs/` - Completed tasks archive
|
||||
|
||||
**Success Metrics:**
|
||||
- Test Task 001: SUCCESS (exit 0)
|
||||
- Test Task 002: SUCCESS (automated execution)
|
||||
- BookStack deployment: 2 minutes (previously would take 20+ minutes)
|
||||
- MkDocs deployment: 1.5 minutes
|
||||
|
||||
**Accessibility Impact:**
|
||||
- Michael's hand limitations accommodated
|
||||
- Single paste operation per deployment
|
||||
- All work auditable in Git history
|
||||
- Perfect for marathon sessions
|
||||
|
||||
---
|
||||
|
||||
## 📚 THREE-TIER DOCUMENTATION ARCHITECTURE
|
||||
|
||||
### The Complete Documentation Strategy
|
||||
|
||||
**Tier 1: PUBLIC (docs.firefrostgaming.com)**
|
||||
- Technology: MkDocs + Material Theme
|
||||
- Authentication: None required
|
||||
- Content: Server rules, getting started, modpack info
|
||||
- Workflow: Edit markdown in Gitea → Auto-rebuild
|
||||
- Status: ✅ DEPLOYED Feb 9, 2026
|
||||
|
||||
**Tier 2: SUBSCRIBERS (subscribers.firefrostgaming.com + downloads.firefrostgaming.com)**
|
||||
- Documentation: Wiki.js (premium guides, exclusive content)
|
||||
- Downloads: NextCloud (world backups, custom modpacks)
|
||||
- Authentication: Subscriber login required
|
||||
- Content: Premium guides, world downloads, exclusive perks
|
||||
- Workflow: Edit in Wiki.js UI OR Git
|
||||
- Status: ⏳ DEPLOYING Feb 9 afternoon
|
||||
|
||||
**Tier 3: STAFF (staff.firefrostgaming.com)**
|
||||
- Technology: Wiki.js
|
||||
- Authentication: Staff/Admin only
|
||||
- Content: SOPs, admin procedures, internal guides
|
||||
- Workflow: Edit in Wiki.js UI OR Git
|
||||
- Status: ⏳ DEPLOYING Feb 9 afternoon
|
||||
|
||||
### Why Three Tiers?
|
||||
|
||||
**Problem Solved:**
|
||||
- Public can access basic info (no barriers)
|
||||
- Subscribers get premium value (world downloads!)
|
||||
- Staff have secure internal documentation
|
||||
- Each tier isolated (different security boundaries)
|
||||
- Git-first workflow maintained (Michael's requirement)
|
||||
- UI-first editing available (Meg's preference)
|
||||
|
||||
---
|
||||
|
||||
## 💰 SUBSCRIPTION MODEL
|
||||
|
||||
### Tier Structure
|
||||
|
||||
**Free Tier - "The Frozen Path"**
|
||||
- Discord access (public channels)
|
||||
- Forum access
|
||||
- View public documentation
|
||||
- No server access
|
||||
|
||||
**$1/month - "The Awakened Gateway" (The Handshake)**
|
||||
- Purpose: Anti-bot/anti-grief barrier
|
||||
- Philosophy: "If you want to be an asshole, you have to pay for it"
|
||||
- Not a revenue stream - a security protocol
|
||||
- Server whitelist access
|
||||
- Basic support
|
||||
|
||||
**$5/month - "Elemental Tier"**
|
||||
- CHOOSE YOUR PATH: Fire or Frost
|
||||
- Full server access (13+ modpacks)
|
||||
- Subscriber documentation portal
|
||||
- World download access (30-day retention)
|
||||
- Priority support
|
||||
- Path-specific Discord channels
|
||||
|
||||
**$10/month - "Ascendant Tier"**
|
||||
- Everything from Elemental
|
||||
- Vote on new modpacks
|
||||
- Custom modpack requests
|
||||
- Extended world downloads (90 days)
|
||||
- Beta access to new servers
|
||||
|
||||
**$25/month - "Eternal Flame/Eternal Frost"**
|
||||
- Everything from Ascendant
|
||||
- Permanent world download access
|
||||
- Direct line to founders
|
||||
- Server naming rights
|
||||
- Custom spawn builds
|
||||
|
||||
### Fire vs Frost Paths
|
||||
|
||||
**Identical mechanical perks, different community identity:**
|
||||
|
||||
**🔥 Path of Fire:**
|
||||
- Discord: Ignis channels (18+ only)
|
||||
- Focus: Competitive gameplay, PvP, challenges
|
||||
- Led by: Gingerfury (The Emissary)
|
||||
|
||||
**❄️ Path of Frost:**
|
||||
- Discord: Frost channels (all ages welcome)
|
||||
- Focus: Collaborative builds, exploration, creativity
|
||||
- Led by: Frostystyle (The Wizard)
|
||||
|
||||
**Competitive Element:** Michael vs Meg - who recruits more to their path?
|
||||
|
||||
---
|
||||
|
||||
## 🔐 AUTHENTICATION STRATEGY
|
||||
|
||||
### Phased Implementation
|
||||
|
||||
**Phase 1: Manual Management** (Current - Launch to 20 subscribers)
|
||||
- Subscriber pays via Paymenter
|
||||
- Manual account creation (Wiki.js + NextCloud)
|
||||
- Email credentials
|
||||
- Track expirations in spreadsheet
|
||||
- **Advantage:** Zero dev time, validates market
|
||||
|
||||
**Phase 2: Webhook Automation** (20+ subscribers)
|
||||
- Paymenter webhooks trigger scripts
|
||||
- Automatic account creation/deletion
|
||||
- Automated credential emails
|
||||
- **Development:** 3-4 hours
|
||||
- **Trigger:** When manual work becomes burden
|
||||
|
||||
**Phase 3: SSO/OAuth** (100+ subscribers - optional)
|
||||
- Single sign-on across all services
|
||||
- Real-time subscription validation
|
||||
- Enterprise-grade auth
|
||||
- **Development:** 8-12 hours
|
||||
- **Trigger:** Only if subscriber count justifies complexity
|
||||
|
||||
**Decision:** Start Phase 1, upgrade to Phase 2 when needed
|
||||
|
||||
---
|
||||
|
||||
## 🎨 BRANDING & VISUAL IDENTITY
|
||||
|
||||
### Color Palette
|
||||
|
||||
**Fire Colors:**
|
||||
- Primary: #FF4500 (Reddit Orange Fire)
|
||||
- Secondary: #FF6347 (Tomato)
|
||||
- Accent: #FFD700 (Gold)
|
||||
|
||||
**Frost Colors:**
|
||||
- Primary: #00CED1 (Dark Turquoise)
|
||||
- Secondary: #4682B4 (Steel Blue)
|
||||
- Accent: #E0FFFF (Light Cyan)
|
||||
|
||||
**Neutral:**
|
||||
- Background Dark: #2C2C2C
|
||||
- Background Light: #F5F5F5
|
||||
- Text: #FFFFFF / #000000
|
||||
|
||||
### Logos & Assets
|
||||
|
||||
**Location:** `/root/firefrost-master-configs/branding/`
|
||||
|
||||
- Circular Emblem (512x512) - Social profiles, favicon
|
||||
- Light Logo - Light backgrounds
|
||||
- Dark Logo - Dark backgrounds, website
|
||||
- Backgrounds - Hero images, Discord, social media
|
||||
- Character Sprites - Gingerfury (Fire) + Frostystyle (Frost)
|
||||
|
||||
---
|
||||
|
||||
## 📅 IMPLEMENTATION TIMELINE
|
||||
|
||||
### February 2026 (Month 1) - FOUNDATION
|
||||
|
||||
**Week 1 (Feb 8-14):**
|
||||
- ✅ Phase 0.5 Services 1-3 deployed (Gitea, Uptime Kuma, MkDocs)
|
||||
- ✅ Automation system operational
|
||||
- ⏳ Services 4-5 deploying (Wiki.js, NextCloud)
|
||||
- ⏳ Complete three-tier documentation architecture
|
||||
|
||||
**Week 2 (Feb 15-21):**
|
||||
- Deploy Netdata (analytics.firefrostgaming.com)
|
||||
- Deploy Vaultwarden (vault.firefrostgaming.com)
|
||||
- Complete Phase 0.5 (100% - 5/5 services)
|
||||
- Begin Phase 1: Simplified DDoS protection
|
||||
|
||||
**Week 3-4 (Feb 22 - Mar 7):**
|
||||
- Paymenter billing integration
|
||||
- Subscriber portal testing
|
||||
- Staff documentation creation
|
||||
- Soft launch preparation
|
||||
|
||||
### March 2026 (Month 2) - SOFT LAUNCH
|
||||
|
||||
**Weeks 1-2:**
|
||||
- Soft launch to existing community (3 members)
|
||||
- Test subscriber workflow end-to-end
|
||||
- Validate world download process
|
||||
- Gather feedback, iterate
|
||||
|
||||
**Weeks 3-4:**
|
||||
- Public announcement preparation
|
||||
- Content creation (public docs)
|
||||
- Social media setup (Meg's domain)
|
||||
- Discord structure finalization
|
||||
|
||||
### April-June 2026 (Months 3-5) - PUBLIC LAUNCH
|
||||
|
||||
**April:**
|
||||
- Public launch
|
||||
- Social media campaigns
|
||||
- Recruit first 20 subscribers
|
||||
- Monitor Phase 1 auth (manual)
|
||||
|
||||
**May:**
|
||||
- Evaluate Phase 2 auth automation trigger
|
||||
- Staff recruitment (builders, social media)
|
||||
- Begin LuckPerms implementation
|
||||
|
||||
**June:**
|
||||
- Reach 50 subscribers (target)
|
||||
- Deploy Phase 2 auth if needed
|
||||
- Website v1.0 launch
|
||||
|
||||
### July-December 2026 (Months 6-12) - GROWTH & REFINEMENT
|
||||
|
||||
**Ongoing:**
|
||||
- Scale infrastructure as needed
|
||||
- Add new modpacks based on votes
|
||||
- Iterate on subscriber experience
|
||||
- Meg's social media campaigns
|
||||
- Community events (Fire vs Frost competitions)
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ TECHNICAL DEBT & IMPROVEMENTS
|
||||
|
||||
### Immediate Priorities (Next 7 Days)
|
||||
|
||||
1. **Complete Phase 0.5** (Services 4-5)
|
||||
2. **Test subscriber workflow** end-to-end
|
||||
3. **Document staff SOPs** in staff Wiki
|
||||
4. **Webhook setup** for MkDocs auto-rebuild
|
||||
|
||||
### Short-Term (Next 30 Days)
|
||||
|
||||
1. **Netdata deployment** (analytics)
|
||||
2. **Vaultwarden deployment** (password manager)
|
||||
3. **LuckPerms MySQL** backend (centralized permissions)
|
||||
4. **World backup automation** (monthly snapshots)
|
||||
|
||||
### Medium-Term (Next 90 Days)
|
||||
|
||||
1. **Phase 2 Authentication** (webhook automation)
|
||||
2. **Website v1.0** (firefrostgaming.com)
|
||||
3. **Staff recruitment** (2-3 builders, 1 social media)
|
||||
4. **Pterodactyl extensions** (Discord integration)
|
||||
|
||||
### Long-Term (6-12 Months)
|
||||
|
||||
1. **Phase 3 Authentication** (SSO) if needed
|
||||
2. **Custom modpack development**
|
||||
3. **API for external integrations**
|
||||
4. **Mobile app** (subscriber portal)
|
||||
|
||||
---
|
||||
|
||||
## 📊 SUCCESS METRICS
|
||||
|
||||
### Technical Metrics
|
||||
|
||||
- **Uptime:** >99.5% (tracked via Uptime Kuma)
|
||||
- **Response Time:** <100ms (Nginx)
|
||||
- **TPS (Game Servers):** Stable 20.0
|
||||
- **Automation Success Rate:** >95%
|
||||
|
||||
### Business Metrics
|
||||
|
||||
- **Month 1:** 3 subscribers (soft launch)
|
||||
- **Month 3:** 20 subscribers (public launch)
|
||||
- **Month 6:** 50 subscribers
|
||||
- **Month 12:** 100+ subscribers
|
||||
|
||||
**Revenue Targets:**
|
||||
- Month 1: $15/month (validation)
|
||||
- Month 3: $100/month (break-even operations)
|
||||
- Month 6: $250/month (sustainable)
|
||||
- Month 12: $500+/month (growth mode)
|
||||
|
||||
### Community Metrics
|
||||
|
||||
- **Discord Activity:** Daily active users
|
||||
- **Fire vs Frost Balance:** 45-55% split (competitive balance)
|
||||
- **Subscriber Retention:** >80% monthly
|
||||
- **Support Response Time:** <24 hours
|
||||
|
||||
---
|
||||
|
||||
## 🚨 CRITICAL CONSTRAINTS
|
||||
|
||||
### Medical Accessibility
|
||||
|
||||
**Michael's Limitations:**
|
||||
- Type 1 Diabetes - Jack alerts take absolute priority
|
||||
- Hand limitations from surgery - all code in small blocks (8-10 lines max)
|
||||
- Work sessions must allow for health breaks
|
||||
- Automation system critical for reducing repetitive tasks
|
||||
|
||||
**System Designed Around:**
|
||||
- One-paste deployments
|
||||
- Self-healing services (systemd)
|
||||
- Comprehensive documentation for handoffs
|
||||
- Minimal midnight emergencies
|
||||
|
||||
### Relationship with Breezehost
|
||||
|
||||
**"Forever Home" Provider:**
|
||||
- Long-term partnership, not transactional
|
||||
- Jon Beard (Network Specialist) - primary contact
|
||||
- Trust-based relationship (6+ months)
|
||||
- Infrastructure decisions made together
|
||||
|
||||
**Critical:** Maintain this relationship, communicate proactively
|
||||
|
||||
---
|
||||
|
||||
## 📖 CURRENT DOCUMENTATION
|
||||
|
||||
### Operational Documents (Keep In Root)
|
||||
|
||||
1. **FIREFROST-PROJECT-SCOPE-V2.md** (THIS DOCUMENT)
|
||||
2. **session-handoff.md** - Current status for Claude sessions
|
||||
3. **workflow-guide.md** - Michael + Claude collaboration process
|
||||
4. **design-bible-v1.1.md** - Visual identity guide
|
||||
5. **path-philosophy.md** - Fire vs Frost explained
|
||||
6. **subscription-tiers-final.md** - Detailed tier breakdown
|
||||
7. **awakened-gateway.md** - $1 handshake philosophy
|
||||
8. **provider-communications.md** - Breezehost relationship archive
|
||||
9. **visual-assets-guide.md** - Asset inventory & usage
|
||||
10. **server-deletion-policy.md** - World backup policy
|
||||
|
||||
### Deployment Documentation
|
||||
|
||||
1. **gitea-deployment.md** - Service 1/5 deployment guide
|
||||
2. **uptime-kuma-deployment.md** - Service 2/5 deployment guide
|
||||
3. **automation/USAGE.md** - Automation system guide
|
||||
|
||||
### Archived (docs/archive/2026-02-09-consolidation/)
|
||||
|
||||
- Historical session summaries (Feb 8-9)
|
||||
- Superseded planning documents
|
||||
- Old implementation plans
|
||||
- Planning docs not yet executed
|
||||
|
||||
---
|
||||
|
||||
## 🎯 THE PATH FORWARD
|
||||
|
||||
### This Week (Feb 9-15, 2026)
|
||||
|
||||
**Monday (TODAY):**
|
||||
- [x] Consolidate documentation (this document)
|
||||
- [ ] Complete Services 4-5 (Wiki.js, NextCloud)
|
||||
- [ ] Test subscriber workflow
|
||||
- [ ] Create staff documentation structure
|
||||
|
||||
**Tuesday-Wednesday:**
|
||||
- [ ] Deploy Netdata (Service 6 - analytics)
|
||||
- [ ] Deploy Vaultwarden (Service 7 - passwords)
|
||||
- [ ] Complete Phase 0.5 (100%)
|
||||
|
||||
**Thursday-Friday:**
|
||||
- [ ] Staff SOPs written in staff Wiki
|
||||
- [ ] World backup automation script
|
||||
- [ ] Subscriber onboarding checklist
|
||||
|
||||
**Weekend:**
|
||||
- [ ] Test complete subscriber experience
|
||||
- [ ] Document any issues
|
||||
- [ ] Prepare for soft launch
|
||||
|
||||
### Next Week (Feb 16-22, 2026)
|
||||
|
||||
- Soft launch to existing community
|
||||
- Iterate based on feedback
|
||||
- Begin Phase 1 (Simplified DDoS)
|
||||
- Social media setup (Meg)
|
||||
|
||||
---
|
||||
|
||||
## 🔥❄️ FINAL NOTES
|
||||
|
||||
**This document is the single source of truth.**
|
||||
|
||||
When in doubt about priorities, architecture decisions, or project scope, refer to this document. All other documents are either:
|
||||
- Historical (archived)
|
||||
- Operational guides (specific technical details)
|
||||
- Future planning (not yet prioritized)
|
||||
|
||||
**Update Schedule:**
|
||||
- Minor updates: As needed (via Git)
|
||||
- Major review: Monthly (1st of each month)
|
||||
- Version bump: When major pivots occur
|
||||
|
||||
**Document Owner:** Michael "Frostystyle" Krause
|
||||
|
||||
**Last Major Update:** February 9, 2026 - Post-automation deployment, pre-subscriber portal launch
|
||||
|
||||
---
|
||||
|
||||
**Fire + Frost = Where Passion Meets Precision** 🔥❄️
|
||||
|
||||
*Built for marathon sessions. Designed for accessibility. Optimized for growth.*
|
||||
|
||||
SCOPEEOF
|
||||
|
||||
# Update INDEX.md
|
||||
cat > docs/INDEX.md << 'INDEXEOF'
|
||||
# 🔥❄️ Firefrost Gaming Documentation Index
|
||||
|
||||
**Last Updated:** February 9, 2026
|
||||
**Status:** Reorganized & Current
|
||||
**Purpose:** Central navigation for all Firefrost Gaming documentation
|
||||
|
||||
---
|
||||
|
||||
## 🚀 START HERE
|
||||
|
||||
**New team members, Claude sessions, or quick reference:**
|
||||
|
||||
### **THE MASTER DOCUMENT**
|
||||
📋 **[FIREFROST-PROJECT-SCOPE-V2.md](FIREFROST-PROJECT-SCOPE-V2.md)** ⭐
|
||||
*The complete technical & business vision - single source of truth*
|
||||
|
||||
### **ESSENTIAL CONTEXT**
|
||||
- 📝 [session-handoff.md](session-handoff.md) - Current status for Claude
|
||||
- 🤝 [workflow-guide.md](workflow-guide.md) - How Michael & Claude work together
|
||||
- 🎨 [design-bible-v1.1.md](design-bible-v1.1.md) - Visual identity & branding
|
||||
- ⚖️ [path-philosophy.md](path-philosophy.md) - Fire vs Frost philosophy
|
||||
|
||||
---
|
||||
|
||||
## 📚 OPERATIONAL DOCUMENTATION
|
||||
|
||||
### **Infrastructure & Deployment**
|
||||
- 🔧 [gitea-deployment.md](gitea-deployment.md) - Service 1/5: Git version control
|
||||
- 📊 [uptime-kuma-deployment.md](uptime-kuma-deployment.md) - Service 2/5: Monitoring
|
||||
- 🤖 [automation/USAGE.md](../automation/USAGE.md) - Automation system guide
|
||||
|
||||
### **Business & Community**
|
||||
- 💰 [subscription-tiers-final.md](subscription-tiers-final.md) - Tier structure
|
||||
- 🤝 [awakened-gateway.md](awakened-gateway.md) - The $1 handshake
|
||||
- 🗑️ [server-deletion-policy.md](server-deletion-policy.md) - World backup policy
|
||||
|
||||
### **Assets & Branding**
|
||||
- 🎨 [visual-assets-guide.md](visual-assets-guide.md) - Logo, backgrounds, sprites
|
||||
|
||||
### **Relationships**
|
||||
- 📞 [provider-communications.md](provider-communications.md) - Breezehost partnership
|
||||
|
||||
---
|
||||
|
||||
## 📦 ARCHIVED DOCUMENTATION
|
||||
|
||||
**Location:** `docs/archive/2026-02-09-consolidation/`
|
||||
|
||||
Historical session summaries, superseded plans, and outdated documentation moved to archive for reference.
|
||||
|
||||
**Archived documents:**
|
||||
- Session summaries (Feb 8-9, 2026)
|
||||
- Old implementation plans
|
||||
- Superseded task lists
|
||||
- Planning documents not yet executed
|
||||
- Social media planning (Meg's future domain)
|
||||
|
||||
**When to reference archive:**
|
||||
- Understanding historical decisions
|
||||
- Reviewing what approaches were tried
|
||||
- Learning from past pivots
|
||||
|
||||
---
|
||||
|
||||
## 🎯 QUICK REFERENCE
|
||||
|
||||
### **Current Phase**
|
||||
Phase 0.5: Management Services (60% complete - 3/5 deployed)
|
||||
|
||||
### **What's Operational**
|
||||
- ✅ Gitea (git.firefrostgaming.com)
|
||||
- ✅ Uptime Kuma (uptime.firefrostgaming.com)
|
||||
- ✅ MkDocs Public Docs (docs.firefrostgaming.com)
|
||||
- ✅ Automation System (95% reduction in manual work)
|
||||
- ✅ 12 Game Servers (6 NC1, 6 TX1)
|
||||
|
||||
### **What's Deploying**
|
||||
- ⏳ Wiki.js Subscriber Portal (subscribers.firefrostgaming.com)
|
||||
- ⏳ NextCloud Downloads (downloads.firefrostgaming.com)
|
||||
- ⏳ Wiki.js Staff Portal (staff.firefrostgaming.com)
|
||||
|
||||
### **Next Priorities**
|
||||
1. Complete three-tier documentation (today)
|
||||
2. Deploy Netdata analytics (this week)
|
||||
3. Deploy Vaultwarden passwords (this week)
|
||||
4. Soft launch to community (next week)
|
||||
|
||||
---
|
||||
|
||||
## 📖 DOCUMENTATION PHILOSOPHY
|
||||
|
||||
**One source of truth:** FIREFROST-PROJECT-SCOPE-V2.md
|
||||
**Specific details:** Individual deployment guides
|
||||
**Historical context:** Archive folder
|
||||
**Future planning:** Noted in Project Scope
|
||||
|
||||
**Keep it simple. Keep it current. Keep it accessible.**
|
||||
|
||||
---
|
||||
|
||||
**Fire + Frost = Where Passion Meets Precision** 🔥❄️
|
||||
|
||||
*Last major reorganization: February 9, 2026*
|
||||
INDEXEOF
|
||||
|
||||
# Create archive README
|
||||
cat > docs/archive/2026-02-09-consolidation/README.md << 'ARCHIVEEOF'
|
||||
# Archived Documentation - February 9, 2026 Consolidation
|
||||
|
||||
**Archive Date:** February 9, 2026
|
||||
**Reason:** Documentation consolidation and reorganization
|
||||
**Superseded By:** FIREFROST-PROJECT-SCOPE-V2.md
|
||||
|
||||
---
|
||||
|
||||
## What's in This Archive
|
||||
|
||||
This folder contains documentation that was either:
|
||||
1. **Historical** - Session summaries from completed work
|
||||
2. **Superseded** - Replaced by updated versions
|
||||
3. **Planning** - Future plans not yet prioritized
|
||||
|
||||
**These documents are kept for reference, not current operations.**
|
||||
|
||||
---
|
||||
|
||||
## Archived Documents
|
||||
|
||||
### Historical Session Summaries
|
||||
- `session-summary-feb8-2026.md` - Infrastructure security audit
|
||||
- `session-summary-gitea.md` - Gitea deployment details
|
||||
- `session-gitea-migration-feb8-2026.md` - Migration from Command Center
|
||||
- `session-uptime-kuma-github-mirror-feb9-2026.md` - Uptime Kuma deployment
|
||||
|
||||
### Superseded Planning Documents
|
||||
- `firefrost-master-implementation-plan.md` - Replaced by Project Scope V2
|
||||
- `session-handoff-prompt.md` - Old version, replaced by session-handoff.md
|
||||
- `TASKS.md` - Task list outdated by pivots
|
||||
|
||||
### Future Planning (Not Yet Prioritized)
|
||||
- `pterodactyl-extensions-plan.md` - Extensions for Pterodactyl
|
||||
- `staff-recruitment-planning.md` - Hiring plans
|
||||
- `luckperms-structure.md` - Permission system design
|
||||
- `firefrost-shopping-list.md` - Budget planning
|
||||
- `architecture-decisions.md` - Historical decision log
|
||||
|
||||
### Social & Website Planning (Meg's Domain)
|
||||
- `firefrost-social-strategy.md` - Social media strategy
|
||||
- `megs-social-setup-guide.md` - Meg's tutorial
|
||||
- `website-vision-plan.md` - Website architecture
|
||||
- `discord-structure-complete.md` - Discord setup
|
||||
|
||||
---
|
||||
|
||||
## Why Archive Instead of Delete?
|
||||
|
||||
**We archive rather than delete because:**
|
||||
1. **Historical Context** - Understanding past decisions
|
||||
2. **Learning** - Reviewing what worked and what didn't
|
||||
3. **Reference** - Details that might be useful later
|
||||
4. **Audit Trail** - Complete project history
|
||||
|
||||
**These documents tell the story of how Firefrost Gaming evolved.**
|
||||
|
||||
---
|
||||
|
||||
## Using Archived Documents
|
||||
|
||||
**DO:**
|
||||
- Reference for historical context
|
||||
- Learn from past approaches
|
||||
- Understand decision-making process
|
||||
|
||||
**DON'T:**
|
||||
- Use as current operational guidance
|
||||
- Assume details are up-to-date
|
||||
- Follow outdated procedures
|
||||
|
||||
**For current information, always refer to:** `docs/FIREFROST-PROJECT-SCOPE-V2.md`
|
||||
|
||||
---
|
||||
|
||||
**Archived by:** Michael "Frostystyle" Krause
|
||||
**Date:** February 9, 2026
|
||||
|
||||
ARCHIVEEOF
|
||||
|
||||
# Commit everything
|
||||
git add -A
|
||||
git commit -m "Major documentation consolidation - V2.0
|
||||
|
||||
Created new single source of truth:
|
||||
- FIREFROST-PROJECT-SCOPE-V2.md (complete vision)
|
||||
- Archived 13 outdated/superseded documents
|
||||
- Updated INDEX.md with clear navigation
|
||||
- Reflects current state (60% Phase 0.5, automation system)
|
||||
|
||||
Key updates:
|
||||
- Three-tier documentation architecture documented
|
||||
- Automation system fully described
|
||||
- Authentication phased approach included
|
||||
- BookStack→MkDocs pivot captured
|
||||
- Clear current vs future priorities
|
||||
|
||||
All historical docs preserved in archive for reference.
|
||||
Clean slate for moving forward."
|
||||
|
||||
git push
|
||||
|
||||
echo ""
|
||||
echo "=== CONSOLIDATION COMPLETE ==="
|
||||
echo ""
|
||||
echo "Created:"
|
||||
echo " - docs/FIREFROST-PROJECT-SCOPE-V2.md (MASTER DOCUMENT)"
|
||||
echo " - docs/INDEX.md (updated navigation)"
|
||||
echo " - docs/archive/2026-02-09-consolidation/ (13 docs archived)"
|
||||
echo ""
|
||||
echo "The documentation is now clean, current, and consolidated!"
|
||||
echo "Single source of truth: FIREFROST-PROJECT-SCOPE-V2.md"
|
||||
echo ""
|
||||
205
automation/queue/deploy-wikijs.sh
Normal file
205
automation/queue/deploy-wikijs.sh
Normal file
@@ -0,0 +1,205 @@
|
||||
#!/bin/bash
|
||||
# Firefrost Gaming - Wiki.js "The Codex" Deployment (Services 4a & 4b)
|
||||
# Deploys: subscribers.firefrostgaming.com/codex + staff.firefrostgaming.com/codex
|
||||
# Date: February 9, 2026
|
||||
# Method: Single Wiki.js instance, dual domains, /codex path, role-based access
|
||||
|
||||
set -e
|
||||
|
||||
echo "=== Wiki.js 'The Codex' Deployment Started ==="
|
||||
echo "Timestamp: $(date)"
|
||||
|
||||
# Variables
|
||||
WIKIJS_VERSION="2.5.303"
|
||||
INSTALL_DIR="/opt/wikijs"
|
||||
DATA_DIR="/var/lib/wikijs"
|
||||
SERVICE_USER="wikijs"
|
||||
IP_ADDRESS="74.63.218.205"
|
||||
SUBSCRIBER_DOMAIN="subscribers.firefrostgaming.com"
|
||||
STAFF_DOMAIN="staff.firefrostgaming.com"
|
||||
|
||||
echo "Step 1: Installing Node.js 18..."
|
||||
curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
|
||||
apt-get install -y nodejs
|
||||
|
||||
echo "Step 2: Creating system user..."
|
||||
useradd -r -s /bin/false $SERVICE_USER || echo "User already exists"
|
||||
|
||||
echo "Step 3: Creating directories..."
|
||||
mkdir -p $INSTALL_DIR $DATA_DIR
|
||||
cd $INSTALL_DIR
|
||||
|
||||
echo "Step 4: Downloading Wiki.js $WIKIJS_VERSION..."
|
||||
wget https://github.com/Requarks/wiki/releases/download/v${WIKIJS_VERSION}/wiki-js.tar.gz
|
||||
tar xzf wiki-js.tar.gz
|
||||
rm wiki-js.tar.gz
|
||||
|
||||
echo "Step 5: Creating Wiki.js configuration..."
|
||||
cat > config.yml << 'WIKICFG'
|
||||
port: 3000
|
||||
bindIP: 127.0.0.1
|
||||
db:
|
||||
type: sqlite
|
||||
storage: /var/lib/wikijs/database.sqlite
|
||||
logLevel: info
|
||||
dataPath: /var/lib/wikijs
|
||||
WIKICFG
|
||||
|
||||
echo "Step 6: Setting permissions..."
|
||||
chown -R $SERVICE_USER:$SERVICE_USER $INSTALL_DIR $DATA_DIR
|
||||
|
||||
echo "Step 7: Creating systemd service..."
|
||||
cat > /etc/systemd/system/wikijs.service << 'SYSTEMD'
|
||||
[Unit]
|
||||
Description=Wiki.js - The Codex
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=wikijs
|
||||
ExecStart=/usr/bin/node server
|
||||
WorkingDirectory=/opt/wikijs
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
SYSTEMD
|
||||
|
||||
echo "Step 8: Starting Wiki.js service..."
|
||||
systemctl daemon-reload
|
||||
systemctl enable wikijs
|
||||
systemctl start wikijs
|
||||
|
||||
echo "Step 9: Waiting for Wiki.js to initialize..."
|
||||
sleep 10
|
||||
|
||||
echo "Step 10: Creating Nginx config for subscribers.firefrostgaming.com..."
|
||||
cat > /etc/nginx/sites-available/subscribers.firefrostgaming.com << 'NGINX1'
|
||||
server {
|
||||
listen 74.63.218.205:80;
|
||||
server_name subscribers.firefrostgaming.com;
|
||||
|
||||
location / {
|
||||
return 301 https://$server_name$request_uri;
|
||||
}
|
||||
}
|
||||
|
||||
server {
|
||||
listen 74.63.218.205:443 ssl http2;
|
||||
server_name subscribers.firefrostgaming.com;
|
||||
|
||||
# SSL certificates (configured by certbot)
|
||||
|
||||
# Root redirect to /codex
|
||||
location = / {
|
||||
return 301 https://$server_name/codex;
|
||||
}
|
||||
|
||||
# The Codex (Wiki.js)
|
||||
location /codex/ {
|
||||
proxy_pass http://127.0.0.1:3000/;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_read_timeout 86400;
|
||||
}
|
||||
}
|
||||
NGINX1
|
||||
|
||||
echo "Step 11: Creating Nginx config for staff.firefrostgaming.com..."
|
||||
cat > /etc/nginx/sites-available/staff.firefrostgaming.com << 'NGINX2'
|
||||
server {
|
||||
listen 74.63.218.205:80;
|
||||
server_name staff.firefrostgaming.com;
|
||||
|
||||
location / {
|
||||
return 301 https://$server_name$request_uri;
|
||||
}
|
||||
}
|
||||
|
||||
server {
|
||||
listen 74.63.218.205:443 ssl http2;
|
||||
server_name staff.firefrostgaming.com;
|
||||
|
||||
# SSL certificates (configured by certbot)
|
||||
|
||||
# Root redirect to /codex
|
||||
location = / {
|
||||
return 301 https://$server_name/codex;
|
||||
}
|
||||
|
||||
# The Codex (Wiki.js)
|
||||
location /codex/ {
|
||||
proxy_pass http://127.0.0.1:3000/;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_read_timeout 86400;
|
||||
}
|
||||
}
|
||||
NGINX2
|
||||
|
||||
echo "Step 12: Enabling Nginx sites..."
|
||||
ln -sf /etc/nginx/sites-available/subscribers.firefrostgaming.com /etc/nginx/sites-enabled/
|
||||
ln -sf /etc/nginx/sites-available/staff.firefrostgaming.com /etc/nginx/sites-enabled/
|
||||
|
||||
echo "Step 13: Testing Nginx configuration..."
|
||||
nginx -t
|
||||
|
||||
echo "Step 14: Restarting Nginx..."
|
||||
systemctl restart nginx
|
||||
|
||||
echo "Step 15: Configuring UFW firewall..."
|
||||
ufw allow in on ens3 to $IP_ADDRESS port 80 proto tcp
|
||||
ufw allow in on ens3 to $IP_ADDRESS port 443 proto tcp
|
||||
ufw reload
|
||||
|
||||
echo "Step 16: Installing SSL certificates..."
|
||||
certbot --nginx -d $SUBSCRIBER_DOMAIN -d $STAFF_DOMAIN --non-interactive --agree-tos --email mkrause612@gmail.com --redirect
|
||||
|
||||
echo "Step 17: Verification checks..."
|
||||
echo "Wiki.js service status:"
|
||||
systemctl status wikijs --no-pager
|
||||
|
||||
echo "Port 3000 listening:"
|
||||
ss -tlnp | grep 3000
|
||||
|
||||
echo "Nginx configuration:"
|
||||
nginx -t
|
||||
|
||||
echo "SSL certificates:"
|
||||
certbot certificates | grep -A2 $SUBSCRIBER_DOMAIN
|
||||
|
||||
echo "=== Wiki.js 'The Codex' Deployment Complete ==="
|
||||
echo ""
|
||||
echo "Subscriber Codex: https://$SUBSCRIBER_DOMAIN/codex"
|
||||
echo "Staff Codex: https://$STAFF_DOMAIN/codex"
|
||||
echo "Root domains auto-redirect to /codex"
|
||||
echo ""
|
||||
echo "FIRST-TIME SETUP:"
|
||||
echo "1. Browse to either URL above"
|
||||
echo "2. Complete Wiki.js administrator setup"
|
||||
echo "3. Email: mkrause612@gmail.com"
|
||||
echo "4. Password: Butter2018!!"
|
||||
echo "5. Site URL: https://subscribers.firefrostgaming.com (or staff - doesn't matter for single instance)"
|
||||
echo ""
|
||||
echo "POST-SETUP TASKS:"
|
||||
echo "1. Create 'Subscribers' group with read-only permissions"
|
||||
echo "2. Create 'Staff' group with edit permissions"
|
||||
echo "3. Create 'Admin' group with full permissions"
|
||||
echo "4. Configure different home pages or content permissions per group"
|
||||
echo "5. Set up authentication (local users Phase 1, webhook automation Phase 2)"
|
||||
echo ""
|
||||
echo "Database: SQLite at $DATA_DIR/database.sqlite"
|
||||
echo "Service: systemctl status wikijs"
|
||||
|
||||
exit 0
|
||||
16
automation/results/create-migration-plan_result.txt
Normal file
16
automation/results/create-migration-plan_result.txt
Normal file
@@ -0,0 +1,16 @@
|
||||
Task: create-migration-plan.sh
|
||||
Started: Mon Feb 9 03:55:39 PM CST 2026
|
||||
==========================================
|
||||
[master 0898f4b] Migration Plan: Move management services from TX1/NC1 dedis to VPS tier
|
||||
3 files changed, 511 insertions(+)
|
||||
create mode 100644 docs/dedis-to-vps-migration-plan.md
|
||||
create mode 100644 docs/migration-checklist.md
|
||||
create mode 100644 docs/migration-rollback-plan.md
|
||||
remote: . Processing 1 references
|
||||
remote: Processed 1 references in total
|
||||
To https://git.firefrostgaming.com/firefrost-gaming/firefrost-operations-manual.git
|
||||
3b96a6c..0898f4b master -> master
|
||||
Migration planning documents created successfully!
|
||||
==========================================
|
||||
Finished: Mon Feb 9 03:55:39 PM CST 2026
|
||||
Exit Code: 0
|
||||
1650
automation/results/deploy-wikijs_result.txt
Normal file
1650
automation/results/deploy-wikijs_result.txt
Normal file
File diff suppressed because it is too large
Load Diff
106
docs/TASKS.md
106
docs/TASKS.md
@@ -156,3 +156,109 @@ Asked Breezehost if this is:
|
||||
---
|
||||
|
||||
**END OF TASKS.md**
|
||||
|
||||
---
|
||||
|
||||
## 🎨 FUTURE ENHANCEMENTS
|
||||
|
||||
### Landing Pages for Subscriber & Staff Portals
|
||||
**Priority:** Medium
|
||||
**Status:** PLANNED
|
||||
**Created:** Feb 9, 2026 1:45 PM CST
|
||||
|
||||
**Goal:**
|
||||
Create landing pages for staff.firefrostgaming.com and subscribers.firefrostgaming.com root domains that serve as entry points to multiple tools/services.
|
||||
|
||||
**Current State (Phase 1):**
|
||||
- Root domains auto-redirect to /codex (Wiki.js)
|
||||
- Users go straight to documentation
|
||||
- Simple, functional, gets us operational
|
||||
|
||||
**Future State (Phase 2):**
|
||||
- Custom landing pages at root (`/`)
|
||||
- Links to multiple services:
|
||||
- 📖 The Codex (Wiki.js documentation)
|
||||
- 🔧 Tools (future staff tools)
|
||||
- 📊 Dashboard (future analytics/status)
|
||||
- 📥 Downloads (NextCloud for subscribers)
|
||||
- Secure access control (authenticate at landing page level)
|
||||
|
||||
**Design Considerations:**
|
||||
- Fire/Frost visual identity (match Design Bible)
|
||||
- Role-based content (subscribers see different options than staff)
|
||||
- Mobile-responsive
|
||||
- Fast load times
|
||||
- SSO/authentication strategy (Phase 2 webhook automation)
|
||||
|
||||
**Security Requirements:**
|
||||
- Authentication BEFORE accessing any services
|
||||
- Session management
|
||||
- Secure token handling
|
||||
- Rate limiting on login attempts
|
||||
|
||||
**Technologies to Explore:**
|
||||
- Static HTML + Tailwind CSS (simple, fast)
|
||||
- Next.js (if we want dynamic content)
|
||||
- Authentik or Authelia (SSO/authentication layer)
|
||||
- Integration with Paymenter subscriber validation
|
||||
|
||||
**Next Steps:**
|
||||
1. Complete Wiki.js deployment (Service 4)
|
||||
2. Complete NextCloud deployment (Service 5)
|
||||
3. Reach 100% Phase 0.5 completion
|
||||
4. THEN discuss landing page architecture in dedicated session
|
||||
|
||||
**Discussion Topics for Future Session:**
|
||||
- Authentication strategy (Phase 1 manual vs Phase 2 webhooks)
|
||||
- Visual design (Frost vs Fire styling for each portal)
|
||||
- Navigation structure (what tools/links appear on each portal)
|
||||
- Mobile vs desktop experience
|
||||
- Onboarding flow for new subscribers
|
||||
|
||||
---
|
||||
|
||||
|
||||
### Configure Wiki.js Git Sync with Gitea
|
||||
**Priority:** High
|
||||
**Status:** PENDING - Deploy Wiki.js first
|
||||
**Created:** Feb 9, 2026 2:00 PM CST
|
||||
|
||||
**Goal:**
|
||||
Set up two-way Git synchronization between Wiki.js and Gitea for markdown-based documentation workflow.
|
||||
|
||||
**Prerequisites:**
|
||||
- ✅ Wiki.js deployed and configured
|
||||
- ⏳ Admin account created (mkrause612@gmail.com / Butter2018!!)
|
||||
- ⏳ Initial setup wizard completed
|
||||
|
||||
**Implementation Steps:**
|
||||
1. Create new Gitea repository: `firefrost-codex`
|
||||
2. Initialize with folder structure:
|
||||
- `/subscribers/` - Subscriber-facing guides
|
||||
- `/staff/` - Internal procedures and planning
|
||||
3. Configure Wiki.js Git sync:
|
||||
- Repository URL: https://git.firefrostgaming.com/firefrost-gaming/firefrost-codex.git
|
||||
- Authentication: Git credentials or SSH key
|
||||
- Sync mode: Two-way (Git ↔ Wiki.js)
|
||||
- Sync interval: Every 5 minutes or manual trigger
|
||||
4. Test workflow:
|
||||
- Create page in Wiki.js → Verify appears in Git
|
||||
- Create markdown file in Git → Verify appears in Wiki.js
|
||||
5. Set up path-based permissions:
|
||||
- Subscribers group: Read-only access to /subscribers/
|
||||
- Staff group: Full access to /staff/
|
||||
- Admin group: Full access everywhere
|
||||
|
||||
**Benefits:**
|
||||
- Write in markdown (terminal/editor) OR web UI (Meg's preference)
|
||||
- All content version controlled in Git
|
||||
- Automatic sync both directions
|
||||
- Perfect for Fire + Frost workflow (technical precision + creative editing)
|
||||
|
||||
**Next Steps:**
|
||||
1. Wait for Wiki.js deployment to complete
|
||||
2. Complete web setup wizard
|
||||
3. Execute this configuration task
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user