import { setupManifest } from '@start9labs/start-sdk' import { alertInstall, long, short } from './i18n' export const manifest = setupManifest({ id: 'recap-relay', title: 'Recap Relay', license: 'Proprietary', packageRepo: 'https://ten31.xyz', upstreamRepo: 'https://ten31.xyz', marketingUrl: 'https://ten31.xyz', donationUrl: null, docsUrls: [], description: { short, long }, volumes: ['main'], images: { main: { source: { dockerBuild: { workdir: '.', dockerfile: './Dockerfile', }, }, arch: ['x86_64', 'aarch64'], }, }, alerts: { install: alertInstall, update: null, uninstall: null, restore: null, start: null, stop: null, }, // Relay has no REQUIRED dependencies — Gemini is internet-fronted // and the optional Parakeet/Gemma backends are at user-configured // URLs (typically a separate machine on the operator's LAN). // // BTCPay Server is declared optional so the dashboard's "Connect // BTCPay" flow can auto-discover its URL via // sdk.serviceInterface.getAll() when both are installed on the // same Start9 box. When BTCPay is not installed, the relay still // runs fine — only the credit-purchase flow is disabled. dependencies: { btcpayserver: { description: { en_US: 'Required for relay credit top-ups via Lightning. The relay-to-BTCPay API calls use the internal Start9 docker hostname (btcpayserver.startos:23000), which is only wired up when BTCPay is declared as a required running dependency. Without this dependency the one-click BTCPay setup flow fails with "fetch failed".', }, optional: false, s9pk: null, }, }, })