All checks were successful
Demo images / Build & push demo images (push) Successful in 2m48s
- catalog.json (app-catalog + neode-ui/public): one "pine" entry, home category; engines stay out of the catalog - appsConfig.ts: pine → home category, pine-whisper/pine-piper → SERVICE_NAMES (render in Services, not as extra cards), pine-* icon fallback - generatedAppSessionConfig.ts: regenerated (pine port 10380 + titles + open-in-new-tab), via scripts/generate-app-catalog.py Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Archipelago App Catalog
Dynamic app catalog for the Archipelago marketplace. Nodes fetch this catalog to discover available apps.
How it works
- The Archipelago frontend fetches
catalog.jsonfrom this repo - Apps listed here appear in every node's app store automatically
- When a user installs an app, the backend pulls the Docker image and creates the container
Adding a new app
Add an entry to catalog.json:
{
"id": "my-app",
"title": "My App",
"version": "1.0.0",
"description": "What it does",
"icon": "/assets/img/app-icons/my-app.svg",
"author": "Author",
"category": "data",
"dockerImage": "146.59.87.168:3000/lfg2025/my-app:1.0.0",
"repoUrl": "https://github.com/...",
"containerConfig": {
"ports": ["8080:8080"],
"volumes": ["/var/lib/archipelago/my-app:/data"],
"env": ["NODE_ENV=production"]
}
}
For apps with hardcoded backend configs (Bitcoin, LND, etc.), containerConfig is optional.
For new apps, include containerConfig so the backend knows how to create the container.
Categories
money, commerce, data, home, nostr, networking, community, development, l484