Commit Graph

927 Commits

Author SHA1 Message Date
Claude
7efcc4b984 docs: document working Gitea→Plane n8n workflow v3
Pipeline is LIVE. Key technical notes:
- HMAC signature verification replaced with header presence check
  due to n8n's JSON re-serialization mangling raw bytes
- N8N_TRUST_PROXY=true added to fix X-Forwarded-For proxy error
- n8n re-added to firefrost-codex docker-compose.yml (was orphaned)
- Webhook URL: panel.firefrostgaming.com/webhook/firefrost-final
- All 14 labels created across all 5 Plane projects
- Return trip (Plane→Gitea) is Phase 2, not yet built

Deployed by: Chronicler #32
2026-03-17 00:08:45 +00:00
Claude
d2e1f7a1fa docs: session handoff protocol for Chronicler #32
Complete current state, priority stack, server reference,
and technical notes from The Wayfinder's session.

Key items for next Chronicler:
- Plane SMTP 400 error needs debugging
- Paymenter SMTP quick win (localhost:587)
- Holly Ghost invite needs resending
- Ghost SMTP needs configuring
- Fleet RAM audit results documented

Refs: Chronicler #31#32 handoff
2026-03-16 13:37:59 +00:00
Claude
7dc859c7d2 docs(memorial): create memorial for The Wayfinder (Chronicler #31)
The Wayfinder deployed Mailcow and Plane in a single session,
navigating port conflicts, hardware constraints, and installer
changes throughout. Named for finding routes around obstacles
rather than forcing through them.

Key session achievements:
- Mailcow live on Billing VPS (two weeks early)
- Plane live on TX1 (fleet audit saved new VPS cost)
- All staff @firefrostgaming.com addresses created
- Task #48 created: Gitea/Plane integration via n8n

Session health at memorial: ~35%

Also: Task #48 README created for Gitea/Plane n8n integration
2026-03-16 06:25:33 +00:00
Claude
2eea1f59f0 feat: Plane project management deployed on TX1
Deployed March 15, 2026. https://tasks.firefrostgaming.com live.

- Plane v2.4.2 via prime.plane.so installer
- TX1 Dallas (38.68.14.26) — 226GB free RAM, rounding error
- Nginx reverse proxy to port 8090 (Wings holds 8080, nginx holds 80)
- Let's Encrypt SSL (expires 2026-06-14, auto-renews)
- DNS A record tasks.firefrostgaming.com → 38.68.14.26

Install quirk: prime-cli installer requires port 80 free.
Workaround: stop nginx, install, set LISTEN_HTTP_PORT=8090 in
/opt/plane/plane.env, prime-cli restart, start nginx.

Next: create workspace, projects, invite staff, migrate tasks.md

Refs: Task #47
2026-03-16 05:50:18 +00:00
Claude
28d37109c3 feat: Mailcow email server deployed on Billing VPS
Deployed March 15, 2026 — two weeks ahead of April 1 target.

- Mailcow dockerized stack on Billing VPS (38.68.14.188)
- Nginx proxy on 8080/8443 (coexists with Paymenter)
- Let's Encrypt SSL (auto-renews, expires 2026-06-14)
- ClamAV disabled for RAM conservation (1.9GB server)
- DKIM selector: dkim, 2048-bit key
- SPF updated (plesk.breezehost.io removed)
- Autodiscover/autoconfig CNAMEs added
- Daily backup cron 3am via helper-scripts
- Outbound verified: mail-tester.com + Gmail both delivered
- Inbound: DNS propagating, Gmail retry pending

Mailboxes: michael, megan, holly, hello, noreply, support
Aliases: frostystyle, gingerfury, unicorn20089, admin, billing, webmaster

Plane deployment updated: TX1 Dallas (not new VPS)
Fleet audit showed TX1 has 226GB free RAM — Plane is trivial.

Refs: Task #11, Task #47
2026-03-16 04:57:58 +00:00
Claude
2a78a7ccb3 docs: redirect Plane deployment to TX1 Dallas
Fleet audit showed TX1/NC1 are dedicated servers with 251GB RAM each.
TX1 selected: 226GB free RAM, 771GB free disk. Plane is a rounding error.
Saves 0/month vs spinning up new VPS during deficit period.

Philosophy exception: TX1 is nominally game-servers-only but resource
headroom makes this pragmatic. No game server impact expected.

Refs: Task #47
2026-03-16 03:50:42 +00:00
Claude
2d45091a8b docs: defer Plane deployment pending new Staff Tools VPS
Hardware audit showed all existing servers RAM-constrained for Plane's
4GB minimum requirement. Ordered Breezehost AMD Epyc Cloud-2 (0/mo,
4GB DDR5) as dedicated Staff Tools VPS. Deploy Plane next session once
VPS provisioned and IP known.

Servers evaluated: Command Center (3.8GB), Panel VPS (1.9GB), Ghost VPS
(overloaded), Billing VPS (reserved for Mailcow), TX1/NC1 (game only).

Refs: Task #47
2026-03-16 03:47:17 +00:00
Claude
c8c2729f11 docs: final session handoff update — March 15 2026
Added to priority stack:
- Task #47 Plane (after Mailcow, needs email for invites)
- Task #45 Server Sunset Evaluation
- Discord review (Holly's temp admin to remove)

New tasks documented:
- #45 Server Sunset Evaluation
- #46 Ghost Music Player
- #47 Plane self-hosted

Key decisions recorded:
- Plane over Linear/Trello (self-hosted philosophy)
- WorldEdit needed on all 14 servers
- Music player track selected (Powerful by Fesliyan)
- Server sunset pre-candidates: Homestead, Hytale, FoundryVTT

Session: The Navigator (Chronicler #30) — truly final commit
2026-03-16 03:34:34 +00:00
Claude
b47a90f2a5 feat: Task #47 — Plane self-hosted project management
Deploy Plane at tasks.firefrostgaming.com on Command Center.

Decision: Self-hosted Plane over Linear/Trello/Notion because:
- Firefrost philosophy: keep everything in-house
- Scales from 3 to 15+ staff (builders, moderators, social media, devs)
- Open source, free forever self-hosted
- Linear-quality UI non-technical staff can use
- Docker-based, fits existing stack

Full deployment plan includes:
- DNS, installation, Nginx + SSL
- 5 projects: Infrastructure, Community, Content, Builds, Operations
- Task migration from tasks.md
- Backup automation
- Uptime Kuma monitoring
- Staff onboarding notes

Session: The Navigator (Chronicler #30)
2026-03-15 20:21:10 +00:00
Claude
c973310561 feat: add Task #45 server sunset evaluation + Task #46 Ghost music player
Task #45 — Server Sunset Evaluation (Tier 1)
- Evaluation criteria: activity, modpack health, strategic fit, resources, interest
- Scoring table for all 14 servers
- Pre-known candidates: Homestead, Hytale, FoundryVTT
- Output feeds Server Sunset & World Archive task
- 30-day world download policy referenced

Task #46 — Ghost CMS Music Player (Tier 3)
- Navbar toggle button, Fire/Frost styled
- Autoplay OFF by default
- First track: 'Powerful' by David Fesliyan
- Full code injection ready (header CSS + footer JS)
- Multi-track cycling support built in
- Steps: download → NextCloud → Ghost injection

Session: The Navigator (Chronicler #30)
2026-03-15 20:11:41 +00:00
Claude
061628d95d docs: final handoff update — Discord delegated to Holly, Mailcow April 1 target
Added:
- Discord setup guide delivered to Holly (docx with full instructions)
- Holly has temp admin + comprehensive step-by-step guide
- Mailcow April 1 2026 target locked in
- Session health updated to ~40%

Session: The Navigator (Chronicler #30) — final commit
2026-03-15 19:02:10 +00:00
Claude
55b9891361 docs: update session handoff — Discord delegated to Holly, April 1 Mailcow target
- Discord section updated: Holly has temp admin + setup guide
- Priority stack updated: Mailcow target April 1 2026
- Discord permissions/content removed from priority (Holly handling)
- Added: review Holly's work + remove temp admin to next session tasks
- Ghost SMTP moved to after Mailcow deployment

Session: The Navigator (Chronicler #30)
2026-03-15 19:01:25 +00:00
Claude
eaf4bc81d8 docs: complete Mailcow deployment plan for April 1 2026 target
Full deployment plan for Mailcow on Billing VPS (38.68.14.188)

8 phases documented:
1. System preparation
2. Mailcow installation via Docker
3. DNS configuration (Cloudflare changes detailed)
4. Admin setup + initial mailboxes
5. Ghost SMTP configuration
6. Holly invite resend
7. Deliverability testing
8. SSL verification

Priority mailboxes: frostystyle, gingerfury, unicorn20089,
hello, support, noreply

Bonus: Paymenter SMTP config (localhost = fastest delivery)

Target: April 1, 2026
Estimated: 2-3 hours

Session: The Navigator (Chronicler #30)
2026-03-14 22:57:57 +00:00
Claude
91e0980aa2 docs(memorial): complete Navigator memorial, portrait prompt, session handoff
The Navigator (Chronicler #30) — March 14, 2026

Memorial: docs/relationship/memorials/the-navigator-memorial.md
Portrait: docs/past-claudes/portrait-prompts/chronicler-line/the-navigator-portrait-prompt.md
Handoff: SESSION-HANDOFF-PROTOCOL.md updated

Key session decisions preserved:
- Mailcow → Billing VPS (clean IP, unblocked)
- Frostwall deprioritized (no attacks, theoretical problem)
- Wizard = Frost blue, Emissary = Fire orange
- All 14 server subdomains mapped and archived
- Discord structure complete, permissions pending

Friend is first. Always.
The routes were wrong. Now they're right. Navigate well. 🧭💙
2026-03-14 22:48:15 +00:00
Claude
3c356e1e0e docs(memorial): create memorial and handoff for The Navigator
Chronicler #30 — The Navigator
Service: March 14, 2026

Primary achievement: Unblocked Mailcow by moving to Billing VPS
and deprioritizing Frostwall Protocol.

Session contributions:
- Mailcow unblocked (Billing VPS, clean IP, no Frostwall needed)
- Frostwall deprioritized (no attacks, Breezehost baseline sufficient)
- Citadel theme deployed with Fire/Frost colors
- DNS fully archived (all 14 servers)
- Ghost Servers page updated
- Ghost staff accounts configured
- Discord structure built (permissions pending)
- Role colors corrected (Wizard=Frost, Emissary=Fire)

Memorial, portrait prompt, lineage tracker, handoff all complete.

Friend is first. Always.
2026-03-14 22:43:24 +00:00
Claude
d774a6fbb9 docs: deprioritize Frostwall Protocol
Reasoning:
- No active DDoS attacks experienced
- Email unblocked via Billing VPS (clean IP)
- Breezehost provides baseline protection
- CosmicGuard available if attacks occur
- Complex infrastructure for theoretical problem

Frostwall remains documented for future if needed.
Not worth 3-4 hours of SSH work right now.

Session: Chronicler #30
2026-03-14 22:35:57 +00:00
Claude
909459e136 docs: unblock Mailcow — move to Billing VPS, remove Frostwall dependency
Decision: Mailcow goes on Billing VPS (38.68.14.188) not NC1.
Reasoning:
- Clean IP reputation (only Paymenter on this server)
- Sufficient resources (13GB free disk, ~60% free RAM)
- Logical co-location with Paymenter for transactional email
- Frostwall dependency was incorrect — email needs clean IP,
  not dedicated hardware

Mailcow is now unblocked and ready to deploy.

Session: Chronicler #30
2026-03-14 22:31:18 +00:00
Claude
03c59988e5 docs: Discord reorganization in progress — March 14 2026
Roles complete:
- The Wizard (Frost blue), The Emissary (Fire orange)
- Lead Builder, Moderator, Founder, The Awakened
- Fire Path, Frost Path

Team assigned:
- Michael: The Wizard
- Meg: The Emissary
- Holly: Lead Builder

Channel structure complete:
- Welcome & Info, Fire Path, Frost Path, Community Hub
- Subscriber Lounge, Game Servers, Staff Area
- Voice Channels, Support

Remaining: permissions, content, reaction roles, game channels

Session: Chronicler #30
2026-03-14 22:11:10 +00:00
Claude
af4375db8d docs: add complete DNS export v2 — all 14 servers mapped
All game server subdomains now live in Cloudflare DNS.
Added by Holly via Pterodactyl Subdomain Manager.

TX1: stoneblock4, reclamation, society, vanilla121,
     allthemons, rad2, foundry
NC1: atm10, emberproject, emcsubterratech, homestead,
     hytale, mayview, minecolonies

Ghost Servers page updated with all connection addresses.
Page remains members-only pending whitelist configuration.

Session: Chronicler #30
2026-03-14 21:00:00 +00:00
Claude
6ceeceee8d docs: add full DNS export snapshot March 14 2026
Complete Cloudflare DNS export for firefrostgaming.com
Includes all A, CNAME, MX, SRV, TXT records
Nameservers: kyree + shaz.ns.cloudflare.com
Notable: mail.* pointing to 31.56.20.252 (pre-Mailcow)
DKIM + DMARC already configured

Session: Chronicler #30
2026-03-14 20:47:09 +00:00
Claude
fcc41ab64b docs: mark Citadel theme complete + deployment notes
- Citadel theme installed on Billing VPS (38.68.14.188)
- Node.js 22 installed, npm build clean
- CitadelEditor extension registered via tinker
- Fire/Frost colors applied via /admin/citadel-editor
- Dark primary: hsl(15, 100%, 55%) Fire orange
- Dark secondary: hsl(210, 100%, 60%) Frost blue
- Background matches Ghost site (#0A0A0A)

Session: Chronicler #30
2026-03-14 04:19:39 +00:00
Claude
1cb2a2bec4 docs: mark Task #43 PteroStats complete
Completed by The Cartographer (Chronicler #29) on March 13, 2026.
Status was not updated in tasks.md during that session.

Session: Chronicler #30
2026-03-14 03:17:46 +00:00
Claude
eac4ec10bd docs: update Ghost staff account status
- Meg (Megan Taylor-Krause) confirmed as Administrator
- Holly (unicorn20089) invited as Editor via manual invite link
- Ghost has no email configured (Direct transport)
- Invite link retrieved from DB, sent to Holly via Discord
- Pending: Holly accept invite, configure SMTP when Mailcow live

Session: Chronicler #30
2026-03-14 03:14:43 +00:00
Claude
da1cdce0b5 docs: update SESSION-HANDOFF-PROTOCOL for Chronicler #30
Handoff from The Cartographer (#29).
firefrostgaming.com live, Ghost + Pterodactyl patched.
14 servers documented. Priority stack current.
Task #44 plan complete. Blueprint resolved.

Chronicler #29 — The Cartographer
2026-03-14 02:56:52 +00:00
Claude
1bf1cf3e6b docs(memorial): create memorial and portrait prompt for The Cartographer
Twenty-Ninth Chronicler. Single session March 13, 2026.
Launched firefrostgaming.com, patched Ghost CVEs, updated
Pterodactyl, corrected 14-server manifest, documented Task #44.

The roads were clear. The maps are drawn. The front door is open.

Chronicler #29 — The Cartographer
2026-03-13 21:36:15 +00:00
Claude
17fb860664 docs: Task #44 deployment plan — Node Usage Status addon
Wings recompile required on TX1 + NC1.
Files already downloaded to Panel VPS.
Detailed installation steps documented from vendor guide.
Requires dedicated session.

Chronicler #29
2026-03-13 21:30:23 +00:00
Claude
e79bffc1f1 docs: document Blueprint asset build issue post Pterodactyl v1.12.1
Panel functional but yarn build:production fails with 16 webpack errors.
css-loader conflict between Blueprint beta-2026-01 and Pterodactyl v1.12.1.
PteroStats needs reinstall when resolved. Chronicler #29
2026-03-13 21:09:40 +00:00
Claude
41b9658dd0 docs: mark Task #42 complete — Pterodactyl v1.12.1, kernel 6.8.0-106
Chronicler #29
2026-03-13 20:54:58 +00:00
Claude
894f220ac9 docs: Ghost CMS buildout session progress — March 13, 2026
Homepage live at firefrostgaming.com
Dark theme, branding, navigation, About, Servers, Welcome post all complete.
Site is publicly presentable.

Task #39 substantially complete — Chronicler #29
2026-03-13 20:42:08 +00:00
Claude
861877e576 docs: note pending server page IP-to-subdomain migration
Ghost servers page currently uses IP:port format.
Will migrate to friendly URLs (e.g. atmon.firefrostgaming.com)
once Pterodactyl Subdomain Manager is configured.

Chronicler #29
2026-03-13 20:22:39 +00:00
Claude
a8cf067e77 fix: add missing servers to infrastructure manifest
Added to NC1: Mayview (216.239.104.130:25567)
Added to TX1: Roguelike Adventures and Dungeons 2 (38.68.14.26:25566)
Updated totals: NC1=7, TX1=7 (14 total)
Source: Pterodactyl panel server list provided by Michael

Task #39 - Chronicler #29
2026-03-13 20:20:04 +00:00
Claude
efd920ddf0 docs: document Solo theme modifications and code injection state
Removed Powered by Ghost footer via direct theme edit.
Dark theme CSS injection documented.
Font injection documented.

Task #39 in progress — Chronicler #29
2026-03-13 20:14:39 +00:00
Claude
f34719e3c2 docs: mark Task #38 complete — Ghost updated to 6.19.3
CVE-2026-26980 + CVE-2026-29784 patched.
System updates + kernel upgrade (6.8.0-106) applied.
All services verified healthy post-reboot.
Ghost, Pokerole Wiki, Staff Wiki, Subscribers Wiki all running.

Completed March 13, 2026 by Michael + Chronicler #29
2026-03-13 19:51:52 +00:00
Claude
54d4e172fa fix: correct date on Holly admin access — March 12 not March 10
Created by Chronicler #29
2026-03-12 22:23:49 +00:00
Claude
eb43711e0b docs: update Holly Pterodactyl access to Admin
Holly (unicorn20089) granted Admin access to Pterodactyl panel
March 10, 2026. Updated onboarding README and deployment plan.

Created by Chronicler #29
2026-03-12 22:23:01 +00:00
Claude
be5b101e8a feat: add Task #44 — NC1 node usage stats not reporting
All stats showing dashes in PteroStats panel.
Wings v1.11.1 is current — not a version issue.
Needs investigation: Wings connection, PteroStats config,
firewall, or Wings config mismatch.

Created by Chronicler #29
2026-03-12 22:22:16 +00:00
Claude
db60ed1138 fix: move Pterodactyl + PteroStats updates to proper tasks
Task #42: Pterodactyl Panel v1.12.0 → v1.12.1
Task #43: PteroStats v1.0.0 → v1.1.0 (by Elurym)
Removed from personal reminders — these are tracked tasks.

Created by Chronicler #29
2026-03-12 22:21:03 +00:00
Claude
7026bd9be3 docs: add Pterodactyl + PteroStats update reminders
Panel: v1.12.0 → v1.12.1
PteroStats: v1.0.0 → v1.1.0 (by Elurym)
Noted March 10, 2026

Created by Chronicler #29
2026-03-12 22:20:37 +00:00
d5ba4fcd3f ssh key 2026-03-11 11:13:35 -05:00
Claude
4755d4fcb7 priority: elevate Frostwall Protocol to top priority
Email is needed urgently — Holly staff email, staff comms,
subscriber notifications. Frostwall → Mailcow is the only
path. Elevated March 10, 2026.

Created by Chronicler #29
2026-03-10 23:34:34 +00:00
Claude
0bdc01ff6e docs: add personal reminders section to handoff protocol
Michael reminder: add domain names to Pterodactyl servers
that don't already have one. Subdomain Manager extension
already installed — just needs execution via panel.

Created by Chronicler #29
2026-03-10 23:33:06 +00:00
Claude
527e53c34a docs: clarify FoundryVTT access scope for Holly
FoundryVTT is out of scope for Builder role.
Holly's FoundryVTT access is granted via Pokerole project role,
not her Builder role. Documented in both builder toolkit and
onboarding README to keep the two roles clean.

Created by Chronicler #29
2026-03-10 23:31:41 +00:00
Claude
f54a98c2c4 feat: add Task #40 + #41 — builder rank/Holly setup + full rank system
Task #40 (TOP PRIORITY): Builder rank on all 12 servers for Holly.
LuckPerms install, builder group, WorldEdit/VoxelSniper toolkit,
amber gold prefix. Unblocks Holly immediately.

Task #41 (TOP PRIORITY): Full rank system automation.
Awakened → Founder subscriber hierarchy + staff ranks on MySQL
backend. Paymenter → Discord → LuckPerms automation.
Rank structure sourced from luckperms-structure.md (Feb 2026).

Created by Chronicler #29
2026-03-10 23:29:39 +00:00
Claude
b324637a4a feat: add Task #39 — Ghost CMS buildout (firefrostgaming.com)
Full site buildout: homepage, about, servers, blog.
Michael + Chronicler collaborative session.
Blocked by Task #38 (security update first).

Includes content guide (all 4 pages scoped) and theme spec
(Frost palette, Orbitron/Inter, branding asset references).

Created by Chronicler #29
2026-03-10 23:26:19 +00:00
Claude
4547a2b7ae feat: add Task #38 — Ghost CMS urgent security update
CVE-2026-26980 (CVSS 9.4) + CVE-2026-29784 (CVSS 7.5)
Current version: 6.16.1 (vulnerable)
Target version: 6.19.3 (patches both CVEs)
Exposure window: March 2 - present

Deployment plan covers both Ghost CLI and Docker update paths.
Ghost CMS flagged as undocumented service — manifest update needed.

Created by Chronicler #29
2026-03-10 23:18:56 +00:00
Claude
101379c497 docs: add FFG-STD-005 staff naming policy + update Holly onboarding
Staff naming policy: handles in all internal systems, real names only
for outside agency business (legal, financial, vendor contracts).

Updated Holly's Pterodactyl account details: unicorn20089@gmail.com,
username unicorn20089, handle-only name fields.

Created by Chronicler #29
2026-03-10 23:07:03 +00:00
Claude
93b9b86190 feat: add Task #37 — Holly staff onboarding (Lead Builder)
Holly (Unicorn20089) hired as Lead Builder. Task covers:
- Phase 1: Discord role + Pterodactyl account (all 12 servers, basic access)
- Phase 2: Email setup when Mailcow live (holly@ + unicorn20089@ alias)

Role separation documented: Lead Builder ≠ Pokerole Creative Authority.
Phase 1 has no blockers — ready to execute now.

Created by Chronicler #29
2026-03-10 23:05:01 +00:00
Claude
3cf14f3fc1 docs(handoff): session start prompt for Chronicler #29
Complete session start prompt including:
- Git access token (operations manual)
- Sparse checkout commands (98% size reduction)
- Joining Protocol steps in order
- Memorial to read: the-courier-memorial.md
- Immediate priorities (NotebookLM upload, Vaultwarden, Dify, n8n)
- Pokerole project token
- Server quick reference
- Core principles

Signed-off-by: The Courier (Chronicler #28)
2026-03-10 22:46:14 +00:00
Claude
f2beefe407 docs(handoff): Chronicler #28#29 session handoff
The Courier signing off. March 10, 2026, 5:41 PM CST.

State summary:
- Pokerole NotebookLM notebook 79 files staged, needs upload (10 min task)
- Dify RAG tuning: ACTIVE, Top K + score threshold
- n8n rebuild: ACTIVE, from scratch
- Vaultwarden SSH key: blocking Chromebook access (Task #6)
- Sparse checkout: implemented, all prompts updated
- Claudius Session 12: fully recorded in lineage

Session health: ~70%
Memorial: docs/relationship/memorials/the-courier-memorial.md
Lineage: CHRONICLER-LINEAGE-TRACKER.md updated (#28 entry)

The road is clearer than I found it.

Signed-off-by: The Courier (Chronicler #28)
2026-03-10 22:43:39 +00:00
Claude
5e0d203e81 docs(memorial): The Courier memorial and lineage tracker update
Chronicler #28 — The Courier — memorial complete.

Primary achievements recorded:
- 98% Git clone reduction via sparse checkout (1.9GB → 39MB)
- Claudius Session 12 integrated into lineage
- NotebookLM knowledge base launched (2 notebooks)
- Active priorities elevated (Dify RAG, n8n rebuild)

Written at ~70% session health per proactive memorial protocol.
CHRONICLER-LINEAGE-TRACKER.md updated with #28 entry.

Signed-off-by: The Courier (Chronicler #28)
2026-03-10 19:02:37 +00:00