Build SpacesOps StartOS package (v1.0.0:0)
Initial .s9pk for SpacesOps, targeting StartOS 0.4.0.x with SDK 1.5.1. - Single managed daemon from spacesops/spacesops:v1.0.0 (x86_64 + aarch64), keeping the image entrypoint (/app/docker-entrypoint.sh node server.js). Forces PLATFORM_HOST=0.0.0.0 / PLATFORM_PORT=7264 so the StartOS proxy can reach the app. Single `ui` interface on 7264. - Depends on the Spaces service (>=0.0.9:3) and auto-wires the spaced RPC creds: main.ts mounts the Spaces `main` volume read-only at /spaces-data, execs a read of its store.json inside the subcontainer, and injects SPACED_RPC_USER/ PASSWORD + SPACED_RPC_URL=http://spaces.startos:7225. Throws to retry until Spaces is installed and seeded. - Generates a Nostr operator keypair (nostr-tools, bundled by ncc) and a strong session secret in idempotent init tasks (.once() reads, allowWriteAfterConst merges). Actions: show-operator-credentials, import-operator-key, show-admin-credentials (surfaces the fixed admin/Whatever! login with a warning), configure-platform (optional relay/mode/CoinGecko/SUBSD). - Install alert warns to install Spaces first and about the fixed admin credential. Backs up the `main` volume. - Icon: icon.svg (source spacesops.svg). The `spaces` dependency uses assets/spaces-icon.png for its Marketplace metadata. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
export const DEFAULT_LANG = 'en_US'
|
||||
|
||||
const dict = {
|
||||
'Operator Nostr Relay': 0,
|
||||
'The Nostr relay SpacesOps publishes operator events to (OPERATOR_RELAY).': 1,
|
||||
'Platform Mode': 2,
|
||||
'Sets PLATFORM_MODE. Only changes the UI theme color; "test" does not change behavior.': 3,
|
||||
'CoinGecko API Key': 4,
|
||||
'Optional CoinGecko API key (COINGECKO_API_KEY) used for pricing features. Leave blank to disable pricing.': 5,
|
||||
'CoinGecko Token Coins': 6,
|
||||
'The CoinGecko coin id(s) to price against (COINGECKO_TOKEN_COINS).': 7,
|
||||
'SUBSD URL': 8,
|
||||
'Optional SUBSD service URL (SUBSD_URI_VALUE) for the subname-purchase flow. Leave blank to disable.': 9,
|
||||
'SUBSD RPC User': 10,
|
||||
'Optional SUBSD RPC username (SUBSD_RPC_USER).': 11,
|
||||
'SUBSD RPC Password': 12,
|
||||
'Optional SUBSD RPC password (SUBSD_RPC_PASSWORD).': 13,
|
||||
'Configure Platform': 14,
|
||||
'Set optional SpacesOps settings: Nostr relay, theme mode, CoinGecko pricing, and SUBSD backend. Saving restarts the service so the new settings take effect.': 15,
|
||||
Success: 16,
|
||||
'Platform configuration saved. The service is restarting to apply the new settings.': 17,
|
||||
'Operator Secret Key (hex)': 18,
|
||||
'A 64-character hex-encoded secp256k1 / Nostr secret key. The public key is derived automatically.': 19,
|
||||
'Must be exactly 64 hexadecimal characters.': 20,
|
||||
'Import Operator Key': 21,
|
||||
'Replace the operator keypair with one you provide (hex secret key).': 22,
|
||||
'This changes the operator identity SpacesOps signs events with. Events already published under the old key stay under it. The service restarts to apply the new key.': 23,
|
||||
Failure: 24,
|
||||
'The secret key must be exactly 64 hexadecimal characters.': 25,
|
||||
'Could not derive a public key from that secret: ${error}': 26,
|
||||
'Operator key imported. The service is restarting to apply the new identity.': 27,
|
||||
'Show Admin Credentials': 28,
|
||||
'Display the built-in admin username and password for the SpacesOps admin area.': 29,
|
||||
'Admin Credentials': 30,
|
||||
'WARNING: these are FIXED, well-known credentials baked into the image and cannot be changed without rebuilding it. The admin area can run SQL and manage tenants. Keep this service private (Tor-only) and never expose the admin routes to the public internet.': 31,
|
||||
Username: 32,
|
||||
Password: 33,
|
||||
'Show Operator Credentials': 34,
|
||||
'Display the Nostr operator keypair SpacesOps signs events with (npub, nsec, and hex public key).': 35,
|
||||
'Operator Credentials': 36,
|
||||
'The operator keypair has not been generated yet. Start the service once to generate it.': 37,
|
||||
'SpacesOps signs operator events on Nostr with this keypair. Keep the secret (nsec / hex) private.': 38,
|
||||
'Public Key (npub)': 39,
|
||||
'Public Key (hex)': 40,
|
||||
'Secret Key (nsec)': 41,
|
||||
'Secret Key (hex)': 42,
|
||||
'Web UI': 43,
|
||||
'SpacesOps web platform for space ownership confirmation and subspace-name purchases. The app provides its own login; the admin area uses a fixed built-in credential — see "Show Admin Credentials".': 44,
|
||||
'Starting SpacesOps!': 45,
|
||||
'Web Interface': 46,
|
||||
'The web interface is ready': 47,
|
||||
'The web interface is not ready': 48,
|
||||
} as const
|
||||
|
||||
/**
|
||||
* Plumbing. DO NOT EDIT.
|
||||
*/
|
||||
export type I18nKey = keyof typeof dict
|
||||
export type LangDict = Record<(typeof dict)[I18nKey], string>
|
||||
export default dict
|
||||
@@ -0,0 +1,3 @@
|
||||
import { LangDict } from './default'
|
||||
|
||||
export default {} satisfies Record<string, LangDict>
|
||||
Reference in New Issue
Block a user