archy/.claude/memory/project_demo_deploy.md
Dorian d37ec1dea5 feat: v1.2.0-alpha — E2E encrypted mesh relay, steganography, relay status polling
Phase 5 mesh networking:
- E2E encrypted TX relay (X25519 + ChaCha20-Poly1305) — non-Archy nodes
  relay encrypted blobs transparently via Meshcore native routing
- Steganographic encoding modes (WeatherStation, SensorNetwork) — traffic
  looks like sensor data on the wire, 0xAA marker, configurable per-node
- Pre-flight Bitcoin Core health check on relay node — specific error codes
  (bitcoin_unreachable, bitcoin_syncing, tx_rejected) instead of generic fails
- mesh.relay-status RPC endpoint — frontend polls for relay result every 3s
- On-Chain / Lightning tabs in Off-Grid Bitcoin panel
- Archy Peers vs Mesh Broadcast relay mode selector
- Mesh view fills viewport (no page scroll), internal panel scrolling
- Version bump to 1.2.0-alpha

Also includes: deploy hardening, container fixes, IndeedHub updates,
boot screen, dashboard improvements, MASTER_PLAN task tracking

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 23:56:37 +00:00

2.9 KiB

name, description, type
name description type
Demo Deploy Status Status and details of the demo prod server deployment via Portainer Stacks from Gitea repos project

Demo Prod Deployment — In Progress (2026-03-17)

Two Separate Portainer Stacks

1. IndeedHub — DEPLOYED SUCCESSFULLY on :7755

  • Repo: https://git.tx1138.com/lfg2025/indee-demo
  • Compose: docker-compose.yml (root)
  • Env vars loaded from .env.portainer — update DOMAIN, FRONTEND_URL, S3_PUBLIC_BUCKET_URL
  • APP_PORT defaulted to 7755 (changed from 7777 to avoid conflicts)
  • Healthcheck fix: pg_isready uses ${POSTGRES_USER} env var (was hardcoded)
  • Full 7-service stack: app, api, postgres, redis, minio, minio-init, relay, ffmpeg-worker
  • Nostr auth is built-in (NIP-98) — users sign in with browser extension (Alby, nos2x)

2. Archipelago — DEPLOYING (last attempt pending)

  • Repo: https://git.tx1138.com/lfg2025/archy-demo
  • Compose: docker-compose.demo.yml
  • Env vars: ANTHROPIC_API_KEY for Claude chat
  • Port: 4848
  • Pre-built frontend in web-dist/ (built locally on Mac, no server-side build)
  • Backend: neode-ui/Dockerfile.backend (Node mock backend on :5959)
  • Web: neode-ui/Dockerfile.web (nginx serving pre-built static files)

Issues Resolved So Far

  • IndeedHub postgres healthcheck hardcoded username → fixed to use env var
  • Port 7777 conflict → changed to 7755
  • Archy repo too large (8GB) for Portainer clone → created lightweight archy-demo repo
  • Frontend build failing on server → switched to pre-built static files (no npm/vite on server)
  • .dockerignore blocking neode-ui/dist → moved to web-dist/ at repo root
  • Docker build cache stale → moved dist outside neode-ui to avoid gitignore conflicts

Current Blocker

  • Last deploy attempt: Docker build cache may still be referencing old paths
  • If still failing: need to prune Docker build cache on server (docker builder prune)

Frontend Changes Made

  • Apps.vue and AppDetails.vue: IndeedHub removed from WEB_ONLY_APP_URLS (linter change)
  • IndeedHub will be accessed as a real container or via direct URL to :7755

Repo Structure (archy-demo)

archy-demo/
├── docker-compose.demo.yml
├── .dockerignore
├── web-dist/          ← pre-built Vue frontend (from local Mac build)
├── demo/aiui/         ← pre-built AIUI chat app
└── neode-ui/          ← source + mock backend + docker configs
    ├── Dockerfile.web      ← nginx + copy web-dist (no build)
    ├── Dockerfile.backend  ← Node mock backend
    ├── docker/nginx-demo.conf
    ├── docker/docker-entrypoint.sh
    ├── mock-backend.js
    └── src/...

Why: Demo for showcasing Archipelago + IndeedHub together. Needs to be functional with nostr signing. How to apply: When resuming, check if Portainer deploy succeeded. If not, may need to SSH to prune Docker cache or debug further.