diff --git a/image-recipe/build-auto-installer-iso.sh b/image-recipe/build-auto-installer-iso.sh index 1a519427..88129940 100755 --- a/image-recipe/build-auto-installer-iso.sh +++ b/image-recipe/build-auto-installer-iso.sh @@ -1296,6 +1296,15 @@ cat > /mnt/target/etc/hosts < /mnt/target/home/archipelago/.config/containers/registries.conf <<'REGCONF' +[[registry]] +location = "80.71.235.15:3000" +insecure = true +REGCONF +chown -R 1000:1000 /mnt/target/home/archipelago/.config + # Copy Archipelago binaries and files if [ -d "$BOOT_MEDIA/archipelago/bin" ]; then cp -r "$BOOT_MEDIA/archipelago/bin/"* /mnt/target/usr/local/bin/ 2>/dev/null || true diff --git a/neode-ui/src/views/marketplace/marketplaceData.ts b/neode-ui/src/views/marketplace/marketplaceData.ts index d8841a0d..0afd1cde 100644 --- a/neode-ui/src/views/marketplace/marketplaceData.ts +++ b/neode-ui/src/views/marketplace/marketplaceData.ts @@ -32,6 +32,9 @@ export interface InstallProgress { attempt: number } +/** Archipelago app registry — all app images are mirrored here */ +const REGISTRY = '80.71.235.15:3000/archipelago' + /** Marketplace app ID -> backend package keys (for "Already Installed" when first-boot/deploy created them) */ export const INSTALLED_ALIASES: Record = { mempool: ['mempool-web', 'mempool-api', 'archy-mempool-web', 'archy-mempool-db'], @@ -131,7 +134,7 @@ export function getCuratedAppList(): MarketplaceApp[] { description: 'Run a full Bitcoin node. Validate and relay blocks and transactions on the Bitcoin network.', icon: '/assets/img/app-icons/bitcoin-knots.webp', author: 'Bitcoin Knots', - dockerImage: 'docker.io/bitcoinknots/bitcoin:v28.1', + dockerImage: `${REGISTRY}/bitcoin-knots:latest`, manifestUrl: undefined, repoUrl: 'https://github.com/bitcoinknots/bitcoin' }, @@ -142,7 +145,7 @@ export function getCuratedAppList(): MarketplaceApp[] { description: 'Self-hosted Bitcoin payment processor. Accept Bitcoin payments without intermediaries or fees.', icon: '/assets/img/app-icons/btcpay-server.png', author: 'BTCPay Server Foundation', - dockerImage: 'docker.io/btcpayserver/btcpayserver:1.13.5', + dockerImage: `${REGISTRY}/btcpayserver:1.13.5`, manifestUrl: undefined, repoUrl: 'https://github.com/btcpayserver/btcpayserver' }, @@ -153,7 +156,7 @@ export function getCuratedAppList(): MarketplaceApp[] { description: 'Lightning Network Daemon. Fast and cheap Bitcoin payments through the Lightning Network.', icon: '/assets/img/app-icons/lnd.svg', author: 'Lightning Labs', - dockerImage: 'docker.io/lightninglabs/lnd:v0.17.4-beta', + dockerImage: `${REGISTRY}/lnd:v0.18.4-beta`, manifestUrl: undefined, repoUrl: 'https://github.com/lightningnetwork/lnd' }, @@ -175,7 +178,7 @@ export function getCuratedAppList(): MarketplaceApp[] { description: 'Self-hosted Bitcoin blockchain and mempool visualizer with beautiful explorer interface.', icon: '/assets/img/app-icons/mempool.webp', author: 'Mempool', - dockerImage: 'docker.io/mempool/frontend:v2.5.0', + dockerImage: `${REGISTRY}/mempool-frontend:v2.5.0`, manifestUrl: undefined, repoUrl: 'https://github.com/mempool/mempool' }, @@ -186,7 +189,7 @@ export function getCuratedAppList(): MarketplaceApp[] { description: 'Open-source home automation platform. Control and automate your smart home devices privately.', icon: '/assets/img/app-icons/homeassistant.png', author: 'Home Assistant', - dockerImage: 'docker.io/homeassistant/home-assistant:2024.1', + dockerImage: `${REGISTRY}/home-assistant:2024.1`, manifestUrl: undefined, repoUrl: 'https://github.com/home-assistant/core' }, @@ -197,7 +200,7 @@ export function getCuratedAppList(): MarketplaceApp[] { description: 'Analytics and monitoring platform. Create dashboards and visualize data from multiple sources.', icon: '/assets/img/app-icons/grafana.png', author: 'Grafana Labs', - dockerImage: 'docker.io/grafana/grafana:10.2.0', + dockerImage: `${REGISTRY}/grafana:10.2.0`, manifestUrl: undefined, repoUrl: 'https://github.com/grafana/grafana' }, @@ -208,7 +211,7 @@ export function getCuratedAppList(): MarketplaceApp[] { description: 'Privacy-respecting metasearch engine. Search without tracking or ads.', icon: '/assets/img/app-icons/searxng.png', author: 'SearXNG', - dockerImage: 'docker.io/searxng/searxng:2024.11.17-e2554de75', + dockerImage: `${REGISTRY}/searxng:latest`, manifestUrl: undefined, repoUrl: 'https://github.com/searxng/searxng' }, @@ -219,7 +222,7 @@ export function getCuratedAppList(): MarketplaceApp[] { description: 'Run large language models locally. Download and run AI models like Llama, Mistral on your own hardware.', icon: '/assets/img/app-icons/ollama.png', author: 'Ollama', - dockerImage: 'docker.io/ollama/ollama:0.5.4', + dockerImage: `${REGISTRY}/ollama:latest`, manifestUrl: undefined, repoUrl: 'https://github.com/ollama/ollama' }, @@ -230,7 +233,7 @@ export function getCuratedAppList(): MarketplaceApp[] { description: 'Office suite for document collaboration. Edit docs, spreadsheets, and presentations.', icon: '/assets/img/app-icons/onlyoffice.webp', author: 'Ascensio System SIA', - dockerImage: 'docker.io/onlyoffice/documentserver:7.5.1', + dockerImage: `${REGISTRY}/onlyoffice:latest`, manifestUrl: undefined, repoUrl: 'https://github.com/ONLYOFFICE/DocumentServer' }, @@ -252,7 +255,7 @@ export function getCuratedAppList(): MarketplaceApp[] { description: 'Self-hosted cloud storage and collaboration platform. Your own private cloud.', icon: '/assets/img/app-icons/nextcloud.webp', author: 'Nextcloud', - dockerImage: 'docker.io/library/nextcloud:28', + dockerImage: `${REGISTRY}/nextcloud:28`, manifestUrl: undefined, repoUrl: 'https://github.com/nextcloud/server' }, @@ -263,7 +266,7 @@ export function getCuratedAppList(): MarketplaceApp[] { description: 'Self-hosted password manager (Bitwarden-compatible). Secure vault for passwords and secrets.', icon: '/assets/img/app-icons/vaultwarden.webp', author: 'Vaultwarden', - dockerImage: 'docker.io/vaultwarden/server:1.30.0-alpine', + dockerImage: `${REGISTRY}/vaultwarden:1.30.0-alpine`, manifestUrl: undefined, repoUrl: 'https://github.com/dani-garcia/vaultwarden' }, @@ -274,7 +277,7 @@ export function getCuratedAppList(): MarketplaceApp[] { description: 'Free media server system. Stream your movies, music, and photos to any device.', icon: '/assets/img/app-icons/jellyfin.webp', author: 'Jellyfin', - dockerImage: 'docker.io/jellyfin/jellyfin:10.8.13', + dockerImage: `${REGISTRY}/jellyfin:10.8.13`, manifestUrl: undefined, repoUrl: 'https://github.com/jellyfin/jellyfin' }, @@ -285,7 +288,7 @@ export function getCuratedAppList(): MarketplaceApp[] { description: 'AI-powered photo management. Organize and browse photos with facial recognition.', icon: '/assets/img/app-icons/photoprism.svg', author: 'PhotoPrism', - dockerImage: 'docker.io/photoprism/photoprism:240915', + dockerImage: `${REGISTRY}/photoprism:240915`, manifestUrl: undefined, repoUrl: 'https://github.com/photoprism/photoprism' }, @@ -296,7 +299,7 @@ export function getCuratedAppList(): MarketplaceApp[] { description: 'High-performance self-hosted photo and video backup. Mobile-first with ML features.', icon: '/assets/img/app-icons/immich.png', author: 'Immich', - dockerImage: 'ghcr.io/immich-app/immich-server:release', + dockerImage: `${REGISTRY}/immich:release`, manifestUrl: undefined, repoUrl: 'https://github.com/immich-app/immich' }, @@ -307,7 +310,7 @@ export function getCuratedAppList(): MarketplaceApp[] { description: 'Web-based file manager. Browse, upload, and manage files through a web interface.', icon: '/assets/img/app-icons/file-browser.webp', author: 'File Browser', - dockerImage: 'docker.io/filebrowser/filebrowser:v2.27.0', + dockerImage: `${REGISTRY}/filebrowser:v2.27.0`, manifestUrl: undefined, repoUrl: 'https://github.com/filebrowser/filebrowser' }, @@ -318,7 +321,7 @@ export function getCuratedAppList(): MarketplaceApp[] { description: 'Easy proxy management with SSL. Beautiful web interface for managing reverse proxies.', icon: '/assets/img/app-icons/nginx.svg', author: 'Nginx Proxy Manager', - dockerImage: 'docker.io/jc21/nginx-proxy-manager:2.12.1', + dockerImage: `${REGISTRY}/nginx-proxy-manager:latest`, manifestUrl: undefined, repoUrl: 'https://github.com/NginxProxyManager/nginx-proxy-manager' }, @@ -329,7 +332,7 @@ export function getCuratedAppList(): MarketplaceApp[] { description: 'Container management UI. Manage Docker containers through a beautiful web interface.', icon: '/assets/img/app-icons/portainer.webp', author: 'Portainer', - dockerImage: 'docker.io/portainer/portainer-ce:2.19.4', + dockerImage: `${REGISTRY}/portainer:latest`, manifestUrl: undefined, repoUrl: 'https://github.com/portainer/portainer' }, @@ -340,7 +343,7 @@ export function getCuratedAppList(): MarketplaceApp[] { description: 'Self-hosted monitoring tool. Monitor uptime for HTTP(s), TCP, DNS, and more.', icon: '/assets/img/app-icons/uptime-kuma.webp', author: 'Uptime Kuma', - dockerImage: 'docker.io/louislam/uptime-kuma:1', + dockerImage: `${REGISTRY}/uptime-kuma:1`, manifestUrl: undefined, repoUrl: 'https://github.com/louislam/uptime-kuma' }, @@ -351,7 +354,7 @@ export function getCuratedAppList(): MarketplaceApp[] { description: 'Zero-config VPN for secure remote access. Connect all your devices with WireGuard mesh network.', icon: '/assets/img/app-icons/tailscale.webp', author: 'Tailscale', - dockerImage: 'docker.io/tailscale/tailscale:stable', + dockerImage: `${REGISTRY}/tailscale:stable`, manifestUrl: undefined, repoUrl: 'https://github.com/tailscale/tailscale' }, @@ -362,7 +365,7 @@ export function getCuratedAppList(): MarketplaceApp[] { description: 'Federated Bitcoin mint with built-in Guardian UI. Private, scalable Bitcoin through federated guardians.', icon: '/assets/img/app-icons/fedimint.png', author: 'Fedimint', - dockerImage: 'docker.io/fedimint/fedimintd:v0.10.0', + dockerImage: `${REGISTRY}/fedimintd:v0.10.0`, manifestUrl: undefined, repoUrl: 'https://github.com/fedimint/fedimint' }, @@ -384,7 +387,7 @@ export function getCuratedAppList(): MarketplaceApp[] { description: 'Store and sync your personal data across devices using decentralized web node protocols. Own your data with DID-based access control.', icon: '/assets/img/app-icons/dwn.svg', author: 'TBD', - dockerImage: 'ghcr.io/tbd54566975/dwn-server:main', + dockerImage: `${REGISTRY}/dwn-server:main`, manifestUrl: undefined, repoUrl: 'https://github.com/TBD54566975/dwn-server' }, @@ -409,7 +412,7 @@ export function getCuratedAppList(): MarketplaceApp[] { description: 'Run your own Nostr relay. Store your events locally, relay for friends, and publish over Tor. A sovereign relay for your sovereign node.', icon: '/assets/img/app-icons/nostr-rs-relay.svg', author: 'scsiblade', - dockerImage: 'docker.io/scsiblade/nostr-rs-relay:0.9.0', + dockerImage: `${REGISTRY}/nostr-rs-relay:0.9.0`, manifestUrl: undefined, repoUrl: 'https://sr.ht/~gheartsfield/nostr-rs-relay/' },