--- name: Demo Deploy Status description: Status and details of the demo prod server deployment via Portainer Stacks from Gitea repos type: 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.