Skip to content

New app: CashPilot (enhanced) - #971

Open
GeiserX wants to merge 2 commits into
linuxserver:masterfrom
GeiserX:cashpilot
Open

New app: CashPilot (enhanced)#971
GeiserX wants to merge 2 commits into
linuxserver:masterfrom
GeiserX:cashpilot

Conversation

@GeiserX

@GeiserX GeiserX commented Aug 7, 2026

Copy link
Copy Markdown

Adds CashPilot as an enhanced app.

CashPilot is a self-hosted passive income orchestrator (GPL-3.0): it deploys, manages and monitors bandwidth-sharing, DePIN, storage and GPU compute containers from one dashboard, tracking earnings across 49 services.

The tile

Two stats from a single call to GET /api/earnings/summary, authenticated with a Bearer token:

  • Earnings — total, in USD
  • Running — number of active services

One detail worth mentioning

CashPilot treats "not measured" and "measured zero" as different states, so livestats() maps both of its unknown cases to an em dash rather than a number:

  • has_readings is false on a fresh install, and on one whose collection has stopped — a $0.00 there would state a measurement nobody took
  • active_services is null when the count could not be taken — 0 would read as "nothing is running" while containers are in fact running

Verified against a live instance before submitting.

Note on process

The wiki asks for a request to be raised on apps.heimdall.site first. I've come with the finished enhanced app instead — happy to raise the request as well if you'd prefer it tracked that way, or to change anything here.

Icon is SVG, 256×256, square with no excess whitespace; tile_background is dark to match it.

Self-hosted passive income orchestrator. GPL-3.0.

Enhanced tile shows total earnings and the number of running services, read
from GET /api/earnings/summary with a Bearer token.

CashPilot reports 'not measured' and 'measured zero' as different states, so
livestats() maps both of its unknown cases to an em dash rather than a figure:
has_readings is false on a fresh install, and active_services is null when the
count could not be taken.
The first submission used a square icon with its own dark background plate.
Their image guidance asks for transparent backgrounds, and a plate fights the
tile colour Heimdall paints behind it.

This is the same brand mark with no plate, and the disc now fills the frame
edge to edge rather than sitting in 32px of padding.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

2 participants