Demo images / Build & push demo images (push) Failing after 40s
Pin bumps (all verified pullable from their public registries before editing, so none can become an image-not-found on a node): strfry 1.1.1 -> 1.1.2 (dockurr/strfry, direct pull) btcpay-server 2.4.2 -> 2.4.3 (docker.io/btcpayserver, direct pull) netbird (nginx) 1.31.3-alpine -> 1.31.4-alpine pine (nginx) 1.31.3-alpine -> 1.31.4-alpine image-versions.sh moved in lockstep for BTCPAY_IMAGE — it is the baseline the update badge compares against. Held back deliberately, per the risk policy from the Aug-17 pass: gitea (four minors of DB migrations), portainer (six minors), filebrowser (2.27 -> 2.63), fedimint/gateway (0.8 -> 0.12, real migrations), lnd (money-critical), netbird-server/ netbird-dashboard (0.x, must move in lockstep), and everything with a major jump or a data migration. Cuprate also gets its curated store entry (category money, tier optional, icon, repo) — same shape as the Alby Hub / phoenixd entries — synced through generate-app-catalog.py into both store catalogs and the app-session config. The fips launch-port list is unchanged (Cuprate has no UI port; the generated file round-trips to the committed bytes after cargo fmt). Three further bumps are prepared and parked on the app-bumps-mirror-pending branch, blocked only on a registry-push token: vaultwarden 1.37.2-alpine, archy-nbxplorer 2.6.11, home-assistant 2026.8.3 — all mirror-backed, and the push credential on record for the lfg2025 namespace is dead. Drift gate: check-app-catalog-drift.py --release --strict clean (31 store entries, 0 drift, 0 missing). appSessionConfig tests 7/7.
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": "source.archipelago-foundation.org/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