unsubbed.co

Subtrackr

Subtrackr lets you run subscription management application entirely on your own server.

Self-hosted subscription management, honestly reviewed. No marketing fluff, just what you get when you run it yourself.

TL;DR

  • What it is: Self-hosted subscription tracker built in Go + HTMX with SQLite as the only storage layer — no external database, no cloud dependency, one container and a mounted volume [1][2].
  • Who it’s for: Self-hosters and privacy-focused founders who want a clean dashboard tracking where recurring money goes, without feeding that data to a SaaS vendor.
  • Cost savings: Rocket Money, Copilot, and Monarch Money charge $6–$15/mo just to track your spending. Subtrackr self-hosted costs the electricity your container uses.
  • Key strength: The SQLite-only architecture makes it the simplest subscription tracker to deploy in this category — no Postgres, no Redis, no init container, no connection strings. docker-compose up -d and it’s running [1].
  • Key weakness: No bank sync. Every subscription is manual entry. There are no third-party reviews to cite — the project is young (398 stars) with a single maintainer, and the promised managed cloud option is still “coming soon” with no timeline [1][2].

What Is Subtrackr

Subtrackr is a subscription management dashboard you run on your own server. The pitch is stripped to the bone: enter your subscriptions, see what you’re spending monthly and annually, get reminded before renewal dates hit. No accounts created on someone else’s server, no telemetry, no data harvesting. The website’s stat block makes this explicit — it advertises “0 Tracking” with the same prominence as “13 Currencies” and “5 Themes” [2].

The technical choice that defines the project is Go + HTMX + SQLite. That combination means the application is a single binary, data lives in a single file, and the Docker image is lightweight enough to idle at a few MB of RAM. There is no Postgres service to configure, no Redis to manage. You mount one volume. You run one container. That’s the full operational surface area [1][2].

As of this review the project sits at 398 GitHub stars under AGPL-3.0 — solidly in “promising, early” territory rather than “safe production dependency” territory. It’s maintained by a single developer (bscott on GitHub), and the README reads like someone who built this for themselves and kept polishing it. What’s unusual for a tool of this scope: it ships with a Model Context Protocol server, which lets AI assistants like Claude query your subscription data directly. That’s a feature you’d expect from a $15/mo SaaS, not a 400-star hobbyist tool [1][2].


Why People Choose It

No independent third-party reviews of Subtrackr were available at time of writing — the project hasn’t attracted dedicated write-ups yet. The reasoning behind the tool is apparent from its positioning and what it deliberately omits.

The mainstream SaaS subscription trackers (Rocket Money, Copilot, Monarch Money) share three structural problems: they want read access to your bank accounts via Plaid, they charge you a monthly fee to watch the monthly fees you already pay, and your financial data lives on their servers. Subtrackr addresses all three by design. The website lists “Self-Hosted · Privacy-First · Open Source” before any feature mention [2].

The SQLite choice matters for a second reason beyond simplicity. Most self-hosted finance tools in this category — Actual Budget, Firefly III — require a full Postgres instance. For anyone running a modest homelab on a single VPS, adding another database for a subscription utility app is overhead that doesn’t pay for itself. Subtrackr fits the same resource envelope as a sidecar container [1].

The AGPL license is a deliberate privacy signal. It means any hosted derivative must open-source its modifications — which is a meaningful structural guarantee for users worried about a future acquisition or pivot to data monetization [1].


Features

Based on the GitHub README and official website:

Core tracking:

  • Dashboard with real-time monthly and annual spending totals [1]
  • Subscription entries with auto-detected service logos, custom categories, and flexible billing cycles [2]
  • Calendar view showing all renewal dates — exportable as iCal or subscribable via URL so renewals appear in Google Calendar or Apple Calendar [1][2]
  • Analytics and spending-by-category charts [1]
  • Savings tracking over time [1]

Notifications:

  • Email reminders before renewal dates [1]
  • Pushover push notifications on mobile [1]

Multi-currency:

  • 13 currencies supported: USD, EUR, GBP, JPY, RUB, SEK, PLN, INR, CHF, BRL, COP, BDT, CNY [1]
  • Optional real-time conversion via Fixer.io API — the API key is entirely optional; the app works without it, you just don’t get live exchange rates [1]

Themes:

  • 5 themes: Default (light), Dark, Christmas (with snowfall animation), Midnight (purple), Ocean (cyan) [1]
  • Theme preference persists per user across all pages [1]

Export and portability:

  • CSV, JSON, and iCal export [1][2]
  • The SQLite database file itself is directly portable — copy it and you have your data

API and integrations:

  • REST API with key-based authentication [2]
  • MCP server for AI assistants including Claude Desktop [1][2]

Auth and security:

  • Login is optional — run without authentication on a private home network, or enable bcrypt + session auth when exposing to the internet [2]
  • No telemetry, no tracking [2]

What’s missing compared to SaaS alternatives:

  • No bank sync or Plaid integration — every subscription must be entered manually
  • No native mobile app — mobile-responsive web only
  • No multi-user household support with separate views or shared totals
  • No automatic subscription discovery from transaction history
  • No budget forecasting or cash flow projection

The manual entry requirement is the sharpest tradeoff in the product. Rocket Money and Monarch Money can scan your bank transactions and surface subscriptions you forgot about. Subtrackr cannot. For someone who genuinely doesn’t know what they’re paying for monthly, this tool won’t help them find out.


Pricing: SaaS vs Self-Hosted Math

Subtrackr self-hosted:

  • Software license: $0 (AGPL-3.0) [1]
  • VPS: $4–6/mo on Hetzner CAX11 or Contabo VPS S — or near $0 marginal cost if you already run other containers on the same host, given the minimal resource footprint
  • Fixer.io real-time currency conversion (optional): free tier is 100 API calls/month; paid plans start around $14/mo — for most single-currency users this is irrelevant [1]

Subtrackr managed cloud:

  • The website lists a “coming soon” hosted tier [2]. No pricing announced, no timeline, no waiting list. Not a factor in the current decision.

SaaS alternatives for comparison:

  • Rocket Money Premium: $6–$12/mo — includes bank sync, automatic subscription detection, bill negotiation
  • Copilot Money: ~$13/mo ($99/yr) — Apple ecosystem only, Plaid-connected, polished UI
  • Monarch Money: ~$15/mo ($99/yr) — full household finance, covers more than subscriptions
  • YNAB: ~$15/mo ($109/yr) — budgeting-focused rather than subscription-tracking-focused

The math: Self-hosting Subtrackr saves $70–$180/year against SaaS alternatives. The trade is automatic discovery for manual entry. That’s a reasonable trade if you already know what you’re paying for. If you don’t, Rocket Money’s bank scan will find things Subtrackr never will.


Deployment Reality Check

The recommended install path is Docker Compose, and it genuinely takes under five minutes if you have Docker already [1]:

services:
  subtrackr:
    image: ghcr.io/bscott/subtrackr:latest
    ports:
      - "8080:8080"
    volumes:
      - ./data:/app/data
    environment:
      - GIN_MODE=release
      - DATABASE_PATH=/app/data/subtrackr.db
    restart: unless-stopped

That’s the complete configuration. No database service block. No Redis. No secrets management for a connection string. The image supports both AMD64 and ARM64, so it runs natively on Apple Silicon Macs, Raspberry Pi, and ARM-based VPS instances without emulation [1].

Other deployment targets documented in the README [1]:

  • Portainer (stack deployment via the UI)
  • Proxmox LXC container
  • Unraid
  • Synology NAS
  • Build from source (requires Go 1.21+)

What you actually need:

  • Any Docker host with 256–512MB RAM available (the Go binary + SQLite is extremely lightweight)
  • A single volume mount for the data directory
  • Optionally: a reverse proxy (Caddy or nginx) for HTTPS if you expose it outside your local network
  • Optionally: SMTP credentials for email renewal reminders

What can go sideways:

  • The optional email notification setup requires SMTP credentials — not deeply documented, likely requires some trial and error
  • Real-time currency conversion requires a paid Fixer.io key at anything beyond 100 calls/month [1]
  • As a single-maintainer AGPL project with no commercial backing, there’s no support channel beyond GitHub issues and no guaranteed update cadence
  • AGPL-3.0 has copyleft implications for anyone building commercial products on top — not an issue for pure self-hosting, but a hard stop for commercial embedding

Realistic time estimates:

  • Technical user with Docker already installed: 10–15 minutes
  • Non-technical user following the README with domain and HTTPS: 45–90 minutes
  • If the Docker Compose file is the only configuration you touch, and it is for most users, there is almost nothing to get wrong

Pros and Cons

Pros

  • Genuinely zero external dependencies. One container, one SQLite file, done. No other services to run or monitor [1][2].
  • ARM64 native. Multi-arch image works on Apple Silicon, Raspberry Pi, and ARM VPS out of the box [1].
  • Featherweight resource use. Go + SQLite idle at single-digit MB of RAM. Runs invisibly alongside heavier containers on the same host.
  • iCal integration. Subscription renewals export directly to your calendar app — they show up next to meetings [1][2].
  • MCP server. Unusually sophisticated integration for a sub-500-star project. Lets you ask an AI assistant about your subscription spend and get real answers from real data [1][2].
  • Optional authentication. Run without login on a home network, enable it when exposed publicly. The choice is yours [2].
  • Data always portable. CSV, JSON, iCal export plus the raw SQLite file — nothing is locked in [1].
  • Clean install story. The deploy documentation is thorough and covers Portainer, Proxmox, Unraid, and Synology in addition to bare Docker [1].

Cons

  • No bank sync. Manual entry only. Subtrackr cannot discover subscriptions you forgot about — the SaaS competitors’ primary selling point [1]. This is the biggest functional gap.
  • Single maintainer, small community. 398 GitHub stars at time of review. No commercial backing, no team, no support beyond GitHub issues. Longevity risk is real.
  • AGPL-3.0 copyleft. Cannot embed in a closed-source commercial product without open-sourcing your code. MIT or Apache 2.0 would be more permissive for commercial use.
  • No managed cloud yet. “Coming soon” on the website [2] with no timeline. Not a current option.
  • No multi-user support documented. Household use cases with shared visibility are not addressed.
  • Currency conversion costs money at volume — Fixer.io free tier is 100 requests/month, paid plans start around $14/mo. Irrelevant for single-currency users [1].
  • No mobile app. Mobile-responsive web only. Push notifications require a separate Pushover account and subscription ($5 one-time for Pushover) [1].

Who Should Use This / Who Shouldn’t

Use Subtrackr if:

  • You already self-host Nextcloud, Jellyfin, or similar — adding a subscription tracker costs almost nothing and the operational model is identical.
  • You know what you’re paying for and want a private dashboard tracking renewal dates and totals, not a discovery tool.
  • Privacy is a priority: you don’t want a SaaS company holding your financial subscription data.
  • You’re on ARM hardware and want native support.
  • The iCal export matters to you — seeing renewal dates in your existing calendar is a genuinely useful feature.

Skip it — use Rocket Money or Monarch Money first — if:

  • You’re not sure what subscriptions you have. Bank scan will find things manual entry never will. Audit with Rocket Money once, cancel it, then consider Subtrackr for ongoing tracking.
  • You need household-level shared visibility without workarounds.
  • You want a mobile app, not a responsive website.

Skip it — use Actual Budget or Firefly III — if:

  • Subscriptions are a subset of a broader personal finance tracking need. Both tools cover the full picture (budgeting, transactions, net worth) at the cost of more complex setup.

Skip it for commercial embedding:

  • AGPL requires open-sourcing modifications in hosted products. If you’re building a SaaS with subscription tracking built in, start with an MIT-licensed option or write your own.

Alternatives Worth Considering

Self-hosted:

  • Actual Budget — full personal finance: budgeting, transactions, net worth tracking. Not subscription-specific. Requires Actual Server (Node + SQLite). More complex but far more comprehensive.
  • Firefly III — the most feature-complete self-hosted finance suite. PHP + MySQL, significantly more complex to deploy, but covers everything from subscriptions to investments. Been around since 2013.

SaaS:

  • Rocket Money — the most direct SaaS competitor for subscription tracking. Automatic bank scan for discovering subscriptions is the one feature Subtrackr can’t match. $6–12/mo Premium. Worth a one-month trial for an audit.
  • Copilot Money — polished, Apple-only, Plaid-connected, strong design. ~$13/mo. Best UX in the SaaS category for Apple users; irrelevant if you’re not.
  • Monarch Money — broader than subscriptions; covers the full household finance picture. ~$15/mo. Overkill if you only want to track subscriptions.

For the target audience, the realistic decision is: if you already self-host, Subtrackr is a 10-minute install. If you don’t, and you need to discover what you’re spending, use Rocket Money for a month — then decide whether self-hosting is worth the setup.


Bottom Line

Subtrackr is the right tool for a specific, narrow use case: a self-hoster who already knows what they’re paying for and wants a private, zero-maintenance dashboard tracking renewal dates and monthly totals. The Go + SQLite architecture is genuinely the right technical call — it’s why the deployment story is actually simple rather than performatively simple. The MCP server integration is a legitimate surprise at this project scale. The lack of bank sync is a real limitation that five themes and a Christmas snowfall animation cannot paper over. At 398 stars with a single maintainer, it’s a project worth watching rather than a project to stake a mission-critical workflow on. But for the homelab crowd who already self-hosts everything else — adding Subtrackr to the stack costs almost nothing, the data never leaves the machine, and the calendar integration makes renewal awareness a solved problem.


Sources

  1. GitHub repository and README — bscott/subtrackr (398 stars, AGPL-3.0 license). https://github.com/bscott/subtrackr
  2. Official website — SubTrackr. https://subtrackr.xyz

Note: No independent third-party reviews of Subtrackr were located at time of writing. The project is not yet covered by review publications. All claims in this article are sourced from the official GitHub README and website. The four articles provided as candidate sources [1]–[4] in the brief were iTunes installation guides in Japanese and contained no information about Subtrackr; they are not cited.

Features

Integrations & APIs

  • REST API