SubTrackr is a self-hosted subscription tracker that puts you in control. No cloud dependency, no tracking, no data harvesting. Just a clean, powerful tool running on your server.
Built for self-hosters who want a clean, powerful subscription tracker without the bloat of SaaS alternatives.
Real-time stats showing monthly and annual spending at a glance. See active subscriptions, total costs, and spending trends.
Track all your subscriptions in one place with auto-detected logos, custom categories, and flexible billing cycles.
Visual calendar showing all renewal dates. Export to iCal or subscribe via URL to see renewals in your favorite calendar app.
Visualize spending by category, track savings over time, and understand exactly where your money is going.
Email and Pushover push notifications for renewal reminders. Never get caught off guard by an unexpected charge.
13 currencies supported with optional real-time conversion via Fixer.io. USD, EUR, GBP, JPY, INR, and more.
Multi-platform Docker image for AMD64 and ARM64. Deploy in seconds with Docker Compose. SQLite means zero external dependencies.
Fully self-hosted with zero tracking. Your subscription data never leaves your server. Optional login with bcrypt + session auth.
Full REST API with key-based auth for integrations. Plus a Model Context Protocol server for AI assistants like Claude.
5 handcrafted themes that persist across sessions. Switch anytime from Settings.
Optimized for every screen size with a hamburger menu navigation on mobile devices.
Export your subscriptions as CSV, JSON, or iCal. Your data is always portable and accessible.
No external database, no complex config. Just Docker and go.
docker-compose.yml: version: '3.8'
services:
subtrackr:
image: ghcr.io/bscott/subtrackr:latest
container_name: subtrackr
ports:
- "8080:8080"
volumes:
- ./data:/app/data
environment:
- GIN_MODE=release
- DATABASE_PATH=/app/data/subtrackr.db
restart: unless-stopped docker-compose up -d http://localhost:8080 and start tracking. docker run -d \
--name subtrackr \
-p 8080:8080 \
-v $(pwd)/data:/app/data \
-e GIN_MODE=release \
ghcr.io/bscott/subtrackr:latest http://localhost:8080. That's it. git clone https://github.com/bscott/subtrackr.git
cd subtrackr
go mod download
go run cmd/server/main.go http://localhost:8080. Also runs on:
We're building a managed SubTrackr instance for folks who want the same privacy-respecting experience without maintaining their own server. Simple pricing, zero hassle.
A portion of every subscription goes directly to sponsoring maintainers of other self-hosted open source tools. Using SubTrackr means supporting the ecosystem that makes self-hosting great.