Cuprate, the Rust Monero node, is now packaged and published — closing this as delivered.
What shipped:
apps/cuprate/manifest.yml + icon — merged via PR #141 (698e915d), including two hardening fixes from review: the unauthenticated unrestricted RPC is no longer published (loopback-only inside the container, health check moved to the restricted RPC), and the Penpot host-port collision is avoided (restricted RPC on host 18090 -> container 18089).
Image source.archipelago-foundation.org/lfg2025/cuprate:0.1.0-preview-18-g618ff14 verified present in the mirror registry.
Signed app catalog 7c9559aa includes cuprate (manifest embedded, store entry curated: money / optional). Verified cryptographically (ceremony verify against the release root) and confirmed live at the node-facing URL: nodes fetch it on next hourly catalog refresh (or startup) and the app becomes installable with an Update/install path.
Unrelated but on the same line: the declarative-uninstall abort fix (c188d9de, also from PR #141) with its regression test.
Note: upstream has no stable release yet — this pins 0.1.0-preview-18-g618ff14 (18 commits past the cuprated-0.1.0-preview tag, built from the upstream Dockerfile). The manifest carries an upstream: block so scripts/check-upstream-releases.py will flag when a tagged release lands, and the pin should move to it then.
Node-side acceptance (install/stop/start/reinstall/uninstall through the store) happens with the next deployment pass, as agreed.
Cuprate, the Rust Monero node, is now packaged and published — closing this as delivered.
**What shipped:**
- `apps/cuprate/manifest.yml` + icon — merged via PR #141 (`698e915d`), including two hardening fixes from review: the unauthenticated unrestricted RPC is no longer published (loopback-only inside the container, health check moved to the restricted RPC), and the Penpot host-port collision is avoided (restricted RPC on host 18090 -> container 18089).
- Image `source.archipelago-foundation.org/lfg2025/cuprate:0.1.0-preview-18-g618ff14` verified present in the mirror registry.
- Signed app catalog `7c9559aa` includes cuprate (manifest embedded, store entry curated: money / optional). Verified cryptographically (`ceremony verify` against the release root) and confirmed live at the node-facing URL: nodes fetch it on next hourly catalog refresh (or startup) and the app becomes installable with an Update/install path.
- Unrelated but on the same line: the declarative-uninstall abort fix (`c188d9de`, also from PR #141) with its regression test.
Note: upstream has no stable release yet — this pins `0.1.0-preview-18-g618ff14` (18 commits past the `cuprated-0.1.0-preview` tag, built from the upstream Dockerfile). The manifest carries an `upstream:` block so `scripts/check-upstream-releases.py` will flag when a tagged release lands, and the pin should move to it then.
Node-side acceptance (install/stop/start/reinstall/uninstall through the store) happens with the next deployment pass, as agreed.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
Need a monero node
Proposed Solution
Build a monero node app
Alternatives Considered
No response
Area
App Management
Cuprate, the Rust Monero node, is now packaged and published — closing this as delivered.
What shipped:
apps/cuprate/manifest.yml+ icon — merged via PR #141 (698e915d), including two hardening fixes from review: the unauthenticated unrestricted RPC is no longer published (loopback-only inside the container, health check moved to the restricted RPC), and the Penpot host-port collision is avoided (restricted RPC on host 18090 -> container 18089).source.archipelago-foundation.org/lfg2025/cuprate:0.1.0-preview-18-g618ff14verified present in the mirror registry.7c9559aaincludes cuprate (manifest embedded, store entry curated: money / optional). Verified cryptographically (ceremony verifyagainst the release root) and confirmed live at the node-facing URL: nodes fetch it on next hourly catalog refresh (or startup) and the app becomes installable with an Update/install path.c188d9de, also from PR #141) with its regression test.Note: upstream has no stable release yet — this pins
0.1.0-preview-18-g618ff14(18 commits past thecuprated-0.1.0-previewtag, built from the upstream Dockerfile). The manifest carries anupstream:block soscripts/check-upstream-releases.pywill flag when a tagged release lands, and the pin should move to it then.Node-side acceptance (install/stop/start/reinstall/uninstall through the store) happens with the next deployment pass, as agreed.