archy/app-catalog
archipelago 4ec6ca98c1 chore: release v1.7.45-alpha
Resilience-validated release. Three full sweeps of the new resilience
harness against .228 confirm no shipstoppers.

Big user-visible:
- Bitcoin RPC auth durably correct via host-rendered nginx.conf bind-mount,
  replaces fragile post-start exec that failed under restricted-cap rootless
  podman ("crun: write cgroup.procs: Permission denied")
- Multi-container stack installs (indeedhub, immich, btcpay, mempool) now
  emit phase events at every boundary so the progress bar advances
- Apps no longer vanish from the dashboard mid-install (absent-scanner skips
  packages in transitional states)
- Indeedhub fresh installs work end-to-end (was 8500+ restart loop): five
  missing env vars (DATABASE_PORT, QUEUE_HOST, QUEUE_PORT,
  S3_PRIVATE_BUCKET_NAME, AES_MASTER_SECRET) added to install code
- Tailscale install fixed: --entrypoint string was being passed as a single
  shell-line arg; switched to custom_args array
- Catalog cleaned of broken entries (dwn, endurain, ollama removed; nextcloud
  restored on docker.io)
- Bitcoin Core update path uses correct image (was looking for nonexistent
  lfg2025/bitcoin:28.4)
- ISO installs now allocate swap on the encrypted data partition

Infra:
- New resilience harness (scripts/resilience/) — black-box state-machine
  tester, every app × every transition. Run before each release.

Sweep #3 final: PASS 107 / FAIL 12 / SKIP 14. The 12 fails are 1 cosmetic
(homeassistant trusted_hosts), 8 harness/timing false-positives, and 3
non-shipstopper tracked items. Down from 23 in baseline sweep #1.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 12:31:45 -04:00
..
2026-04-29 12:31:45 -04:00

Archipelago App Catalog

Dynamic app catalog for the Archipelago marketplace. Nodes fetch this catalog to discover available apps.

How it works

  1. The Archipelago frontend fetches catalog.json from this repo
  2. Apps listed here appear in every node's app store automatically
  3. 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": "git.tx1138.com/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