6.8 KiB
🌐 Community Marketplace Integration
The Neode UI now includes a Community Marketplace tab that connects to the real Start9 app ecosystem!
Features
📑 Two-Tab Interface
Local Apps Tab:
- Your custom local apps (k484, atob, amin)
- Sideload packages from URLs
- Quick install for development apps
Community Marketplace Tab:
- Real Start9 packages from the community registry
- Search functionality
- Bitcoin Core, Lightning Network, BTCPay, Nextcloud, and more!
- GitHub repository links
- Author information
🔍 Search & Filter
Search across:
- App names
- Descriptions
- Package IDs
- Author names
🎨 Beautiful UI
- Glass-morphism design (matching Neode aesthetic)
- Responsive grid layout
- Loading states
- Error handling with retry
- Install progress indicators
How It Works
1. Fetches Real Data
Connects to Start9's community registry:
https://registry.start9.com/api/v1/packages
2. Smart Multi-Level Fallback System
If the Start9 registry is unavailable, the system automatically tries multiple sources:
Level 1: Start9 Registry API (primary)
https://registry.start9.com/api/v1/packages
Level 2: GitHub API (dynamic)
https://api.github.com/users/Start9Labs/repos
- Fetches all
-startosrepositories from Start9Labs - Dynamically builds app list from actual packages
- Shows real-time ecosystem
Level 3: Curated App List (ultimate fallback) Shows 20+ popular Start9 ecosystem apps including:
Bitcoin & Lightning:
- Bitcoin Core, Bitcoin Knots
- Core Lightning (CLN), LND
- BTCPay Server
- Ride The Lightning, ThunderHub
- Electrs, Mempool Explorer
- Specter Desktop
Communication & Social:
- Synapse (Matrix)
- Nostr Relay
- CUPS Messenger
Productivity & Storage:
- Nextcloud
- Vaultwarden (password manager)
- File Browser
Media:
- Jellyfin (media server)
- PhotoPrism (AI photos)
- Immich (photo backup)
Smart Home:
- Home Assistant
You'll see a blue info banner: "📚 Community Apps: Showing X Start9 ecosystem applications."
3. Installation Flow
When you click "Install" on a community app:
- Calls
package.installRPC method with the.s9pkURL - Backend downloads and extracts the package
- Polls for installation completion
- Redirects to Apps page when done
Usage
Access the Marketplace
- Navigate to Dashboard > Marketplace
- Click "Community Marketplace" tab
- Browse or search for apps
- Click "Install" on any app with a manifest URL
Search for Apps
Type in the search bar:
- "bitcoin" - finds Bitcoin Core
- "lightning" - finds Lightning Network
- "payment" - finds BTCPay Server
- etc.
Install Community Apps
Apps with green "Install" buttons:
- ✅ Have downloadable
.s9pkpackages - ✅ Can be installed directly
Apps with "Not Available" buttons:
- ⚠️ Don't have packages yet
- 🔗 Can view GitHub repo for more info
Technical Details
API Integration
// Fetches community packages
const response = await fetch('https://registry.start9.com/api/v1/packages')
const data = await response.json()
// Transforms to our format
communityApps.value = Object.entries(data).map(([id, pkg]) => ({
id,
title: pkg.title || id,
version: latestVersion,
description: pkg.description,
icon: pkg.icon,
author: pkg.author,
manifestUrl: pkg.manifest,
repoUrl: pkg.repository
}))
Installation
// Installs community app
await rpcClient.call({
method: 'package.install',
params: {
id: app.id,
url: app.manifestUrl, // .s9pk URL from registry
version: app.version
}
})
App Card Features
Each community app card shows:
- Icon - App logo (with fallback to Neode logo)
- Title - App name
- Version - Latest available version
- Author - Package maintainer
- Description - Truncated to 3 lines
- Install Button - If manifest available
- GitHub Link - Repository access
States
Loading
🔄 Loading Start9 Community Marketplace...
Error
❌ Failed to load marketplace
[Error message]
[Retry Button]
Empty Search
No apps found matching "[query]"
Backend Requirements
The mock backend needs to support:
- package.install - Install from
.s9pkURL - Docker - Extract and run containers
- Networking - Download from registry URLs
Future Enhancements
- Categories - Filter by Bitcoin, Storage, Communication, etc.
- Ratings - Show community ratings
- Dependencies - Show required apps
- Updates - Notify when app updates available
- Reviews - User reviews and comments
- Screenshots - App previews
- Detailed Views - Full app pages with more info
Development
Test the Feature
-
Start dev server:
npm start -
Navigate to Marketplace
-
Switch to "Community Marketplace" tab
-
Should see apps load (or fallback list)
Mock Data (Development Fallback)
If registry is unavailable, shows:
- Bitcoin Core v27.0.0
- Core Lightning v24.02.2
- BTCPay Server v1.13.1
- Nextcloud v29.0.0
Adding More Mock Apps
Edit loadCommunityMarketplace() function in Marketplace.vue:
communityApps.value = [
// ... existing apps ...
{
id: 'fedimint',
title: 'Fedimint',
version: '0.3.0',
description: 'Federated Chaumian e-cash',
icon: '/assets/img/fedimint.png',
author: 'Fedimint Developers',
manifestUrl: 'https://example.com/fedimint.s9pk',
repoUrl: 'https://github.com/fedimint/fedimint'
}
]
Troubleshooting
Registry Not Loading
Problem: Community tab shows error
Solutions:
- Check internet connection
- Verify registry URL is accessible
- Check browser console for CORS errors
- Fallback mock data will still show
Apps Won't Install
Problem: Install button doesn't work
Check:
- App has
manifestUrl(not null) - Backend is running
- Docker is available (for real installs)
- Check backend logs for errors
Search Not Working
Problem: Search doesn't filter apps
Check:
- Type in search box
- Should filter in real-time
- Search is case-insensitive
- Searches title, description, ID, author
Benefits
✅ Real Apps - Access actual Start9 packages
✅ Easy Discovery - Browse full ecosystem
✅ One-Click Install - Direct installation from registry
✅ Stay Updated - See latest versions
✅ Community Driven - Access community-maintained apps
✅ Transparent - GitHub links for every app
Security Note
Apps from the community marketplace are:
- Open source (GitHub repos linked)
- Community maintained
- Same packages used by StartOS
- Verified by signature (in production)
Always review an app's repository before installing!
🎉 You can now browse and install real Start9 community apps directly from Neode!