Files
archy/neode-ui/src/views/appSession/generatedAppSessionConfig.ts
T
archipelago e382e679ae fix(apps): NPM needs /etc/letsencrypt mounted and NET_BIND_SERVICE
Converting Nginx Proxy Manager to a platform manifest (fc68c5b6) dropped
two things its image hard-requires, and the result was an endless
start/die loop — shorty-s watched it restart 3,176 times:

1. /etc/letsencrypt mount: NPM's s6 'prepare' service refuses to boot
   without it ('ERROR: /etc/letsencrypt is not mounted!'). Mounted from
   the same persistent app directory as before
   (/var/lib/archipelago/nginx-proxy-manager/letsencrypt), so existing
   certificates are preserved — no data moves, no migration.

2. NET_BIND_SERVICE: NPM's internal nginx listens on 80, 443 AND 81,
   and the orchestrator runs --cap-drop=ALL. The legacy podman-run path
   defaulted to the full capability set (and the legacy repair path in
   package/config.rs always listed it), which is why this only broke
   once the manifest became the source of truth.

The signed catalog embeds manifests with origin-wins semantics, so the
catalog carries the fix for every catalog-covered node — regenerate it
here (plus the generated store/launcher-port artifacts, which also pick
up drift from bf6ef964's retired apps). Catalog re-signing follows the
usual ceremony.
2026-09-01 10:29:05 -04:00

117 lines
3.1 KiB
TypeScript

/** Generated by scripts/generate-app-catalog.py. Do not edit manually. */
export const GENERATED_APP_PORTS: Record<string, number> = {
"adguardhome": 3030,
"aiui": 5180,
"alby-hub": 8187,
"archy-mempool-web": 4080,
"archy-nbxplorer": 32838,
"bitcoin-ui": 8334,
"botfights": 9100,
"btcpay-server": 23000,
"electrs-ui": 50002,
"electrumx": 50002,
"fedimint": 8175,
"filebrowser": 8083,
"fips-ui": 8336,
"gitea": 3001,
"grafana": 3000,
"homeassistant": 8123,
"immich": 2283,
"indeedhub": 7778,
"jellyfin": 8096,
"lnd-ui": 18083,
"mempool": 4080,
"mempool-api": 8999,
"netbird": 8087,
"nextcloud": 8085,
"nginx-proxy-manager": 8081,
"nostr-rs-relay": 18081,
"photoprism": 2342,
"pine": 10380,
"portainer": 9000,
"router": 8084,
"searxng": 8888,
"strfry": 8090,
"tailscale": 8240,
"uptime-kuma": 3002,
"vaultwarden": 8082,
}
export const GENERATED_APP_TITLES: Record<string, string> = {
"adguardhome": "AdGuard Home",
"aiui": "AI Assistant",
"alby-hub": "Alby Hub",
"archy-btcpay-db": "BTCPay Postgres",
"archy-mempool-db": "Mempool MariaDB",
"archy-mempool-web": "Mempool Web",
"archy-nbxplorer": "NBXplorer",
"barkd": "Ark Wallet",
"bitcoin-core": "Bitcoin Core",
"bitcoin-knots": "Bitcoin Knots",
"bitcoin-ui": "Bitcoin UI",
"botfights": "BotFights",
"btcpay-server": "BTCPay Server",
"core-lightning": "Core Lightning (CLN)",
"cuprate": "Cuprate",
"electrs-ui": "Electrs UI",
"electrumx": "ElectrumX",
"fedimint": "Fedimint Guardian",
"fedimint-clientd": "Fedimint Client",
"fedimint-gateway": "Fedimint Gateway",
"filebrowser": "File Browser",
"fips-ui": "FIPS Mesh",
"gitea": "Gitea",
"grafana": "Grafana",
"homeassistant": "Home Assistant",
"immich": "Immich",
"immich-postgres": "Immich Postgres",
"immich-redis": "Immich Redis",
"indeedhub": "IndeeHub",
"indeedhub-api": "IndeedHub API",
"indeedhub-ffmpeg": "IndeedHub FFmpeg Worker",
"indeedhub-minio": "IndeedHub MinIO",
"indeedhub-postgres": "IndeedHub Postgres",
"indeedhub-redis": "IndeedHub Redis",
"indeedhub-relay": "IndeedHub Nostr Relay",
"jellyfin": "Jellyfin",
"lnd": "LND",
"lnd-ui": "LND UI",
"mempool": "Mempool Explorer",
"mempool-api": "Mempool API",
"netbird": "NetBird",
"netbird-dashboard": "NetBird Dashboard",
"netbird-server": "NetBird Server",
"nextcloud": "Nextcloud",
"nginx-proxy-manager": "Nginx Proxy Manager",
"nostr-rs-relay": "Nostr Relay (Rust)",
"ollama": "Ollama",
"phoenixd": "phoenixd",
"photoprism": "PhotoPrism",
"pine": "Pine",
"pine-openwakeword": "Pine Wake Word (openWakeWord)",
"pine-piper": "Pine Piper (TTS)",
"pine-whisper": "Pine Whisper (STT)",
"portainer": "Portainer",
"router": "Mesh Router",
"searxng": "SearXNG",
"strfry": "Strfry Nostr Relay",
"tailscale": "Tailscale",
"uptime-kuma": "Uptime Kuma",
"vaultwarden": "Vaultwarden",
}
export const GENERATED_NEW_TAB_APPS = new Set<string>([
"btcpay-server",
"gitea",
"grafana",
"homeassistant",
"immich",
"nextcloud",
"photoprism",
"pine",
"portainer",
"uptime-kuma",
"vaultwarden",
])