- BUG-33: CPU load alert threshold increased from 2x to 4x core count (8→16 on 4-core machine) to reduce false alerts during container ops - TASK-27: Launch buttons for new-tab apps now show external link icon (BTCPay, Grafana, PhotoPrism, Portainer, OnlyOffice, etc.) - TASK-36: Iframe error screen now distinguishes between X-Frame-Options blocked vs container not reachable, with appropriate messaging Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3.7 KiB
Plan: Demo Seeding, Dev Environment Fix, and Developer Onboarding
Context
After the repo cleanup (docs/scripts archived to ~/Projects/archy-archive/), several dev scripts reference deleted files. Additionally, the demo needs better seeding for Portainer showcase, ThunderHub + Fedimint need to be visible, and a new developer needs docs to onboard.
Changes
1. Fix broken dev scripts
neode-ui/start-dev.sh — Remove lines 72-110 (Docker Desktop check + start-docker-apps.sh call). Replace with a one-liner noting mock backend handles simulation.
neode-ui/stop-dev.sh — Remove lines 66-74 (Docker container stop block calling stop-docker-apps.sh).
neode-ui/package.json — Remove the prebuild script (line 22) that references archived ../../loop-start.mp3. File already exists at public/assets/audio/.
scripts/dev-start.sh — Fix option 2 (Full Stack) lines 67-84 that reference start-docker-apps.sh. Guard with a skip message instead of failing.
2. Add ThunderHub (Lightning management UI)
Files: mock-backend.js, Marketplace.vue, appLauncher.ts, new icon SVG
- Port: 3010 (3000 taken by Grafana)
- Docker image:
apotdevin/thunderhub:v0.13.31 - Add to
portMappings,marketplaceMetadata,staticDevApps,marketplace.get()in mock-backend.js - Add to
getCuratedAppList()in Marketplace.vue (after LND entry) - Add to
recommendedtier ingetAppTier() - Add
'3010': 'thunderhub'to PORT_TO_APP_ID in appLauncher.ts - Create
neode-ui/public/assets/img/app-icons/thunderhub.svg(Bitcoin-orange lightning bolt icon)
3. Improve Fedimint in demo
mock-backend.js:
- Add
fediminttostaticDevApps(pre-installed, running, port 8175) - Update
marketplace.get()version from0.4.3→0.10.0 - Fix
portMappings.fedimintfrom 8174 → 8175 (Guardian UI port)
4. Add realistic notifications
mock-backend.js — Replace empty node.notifications with 5 realistic entries: Bitcoin sync, LND channel opened, disk warning, system update, Fedimint guardian connected.
5. Rewrite README for developer onboarding
neode-ui/README.md — Full rewrite:
- Quick start (npm install, npm start, localhost:8100, password123)
- Architecture overview
- Dev modes (setup/onboarding/existing/boot)
- Mock backend capabilities (8 static apps, 30+ marketplace, WebSocket, FileBrowser API, Claude proxy)
- Demo deployment (docker-compose.demo.yml, Portainer, ANTHROPIC_API_KEY)
- Design system (glassmorphism classes, tokens)
- Build commands
- Remove Angular references and outdated sections
neode-ui/DEV-SCRIPTS.md — Update "Available Test Apps" section to list the 8 actual static apps, remove Docker apps references.
6. Verify Docker demo build
Confirm docker-compose.demo.yml paths still valid after cleanup:
demo/aiui/exists (for Dockerfile.web COPY)neode-ui/docker/nginx-demo.confexistsneode-ui/docker/docker-entrypoint.shexists
Files to modify
neode-ui/start-dev.shneode-ui/stop-dev.shneode-ui/package.jsonscripts/dev-start.shneode-ui/mock-backend.jsneode-ui/src/views/Marketplace.vueneode-ui/src/stores/appLauncher.tsneode-ui/public/assets/img/app-icons/thunderhub.svg(new)neode-ui/README.mdneode-ui/DEV-SCRIPTS.md
Verification
cd neode-ui && npm start— should start cleanly, no errors about missing scripts- Visit localhost:8100 → login → Dashboard shows 8 apps (bitcoin, lnd, electrs, mempool, lorabell, filebrowser, thunderhub, fedimint)
- Marketplace shows ThunderHub in Bitcoin category
- Notifications bell shows 3 unread
npm stop— clean shutdown, no errorsdocker compose -f docker-compose.demo.yml build— builds successfully