Wallos: Self-Hosted Subscription Tracker to Stop Paying for Things You've Forgotten
Subscription creep is real. Netflix, Spotify, Adobe Creative Cloud, a VPN, two or three SaaS tools, a cloud backup service — the average household now pays for 4-5 subscriptions they've forgotten about. The easiest way to stop this is to track them in one place.
Photo by Wai Yan Moe on Unsplash
Wallos is a lightweight, self-hosted subscription and personal finance tracker focused specifically on recurring payments. It gives you a complete list of your subscriptions, sends email reminders before renewals, and calculates your total monthly and yearly spend. No cloud account needed — runs entirely in Docker on your own server.
![]()
What Wallos Tracks
For each subscription, you record:
- Name and logo (Wallos fetches logos automatically from Favicon Kit)
- Cost and billing cycle (monthly, quarterly, annually, or custom)
- Payment method (credit card, PayPal, bank transfer)
- Category (Entertainment, Software, Utilities, etc. — fully customizable)
- Next billing date
- Notes and URL
From this data, Wallos generates:
- Monthly and yearly total spend
- Spend breakdown by category and payment method
- Calendar view showing upcoming renewals
- Overdue payment highlighting (billing date passed, payment not marked)
- Email notifications N days before renewals
Why Self-Host Instead of Using Apps Like Rocket Money
Commercial subscription trackers (Rocket Money, Truebill) connect directly to your bank accounts and credit cards to detect subscriptions automatically. This is convenient but involves sharing financial credentials with a third party.
Wallos takes the manual entry approach: you add subscriptions yourself. More work upfront, but:
- No bank credentials stored anywhere
- No API connections to financial accounts
- Works with any payment method (international accounts, cash, crypto)
- Your financial data stays on your server
For most people, manually adding 10-20 subscriptions takes 20 minutes and only needs updating when you sign up for something new.
Installation
Wallos requires Docker. The docker-compose.yml is straightforward:
services:
wallos:
image: bellamy/wallos:latest
container_name: wallos
ports:
- "8282:80/tcp"
environment:
TZ: America/New_York
volumes:
- ./data:/var/www/html/db # SQLite database
- ./logos:/var/www/html/images/uploads/logos # subscription logos
restart: unless-stopped
docker compose up -d
Access at http://your-server:8282. On first load, you'll be prompted to create an admin account.
Like what you're reading? Subscribe to Self-Hosted Weekly — free weekly guides in your inbox.
Multi-Currency Support
Wallos supports any currency and handles multi-currency subscriptions with automatic conversion. You set a base currency (e.g., USD), and subscriptions in other currencies are converted using daily exchange rates from the Open Exchange Rates API (free tier available).
Configuration:
- Settings → Currency → Set base currency
- Settings → Currency → Add API key for exchange rates (or use manual rates)
- Each subscription can specify its own currency
This makes Wallos genuinely useful if you have subscriptions across multiple countries — a European SaaS billed in EUR, a UK streaming service in GBP, a US cloud backup in USD — all converted to your base currency for accurate totals.
Email Notifications
To get renewal reminders by email:
- Settings → Notifications → Enable Email
- Configure SMTP settings (Gmail, Fastmail, your own mail server)
- Set default notification lead time (e.g., 3 days before renewal)
Per-subscription notification settings can override the default. You can also disable notifications entirely for subscriptions you manage through the vendor's own reminders.
Example Gmail SMTP settings:
SMTP Host: smtp.gmail.com
SMTP Port: 587
SMTP Username: [email protected]
SMTP Password: [App Password — not your Gmail password]
From Address: [email protected]
For Gmail, you need to generate an App Password (Google Account → Security → 2-Step Verification → App passwords) rather than using your main password.
The Subscription Audit: A Practical Workflow
The most valuable thing you can do with Wallos is a one-time subscription audit:
- Pull your last 3 months of credit card and bank statements
- Look for any recurring charge — monthly, quarterly, or annual
- Add each one to Wallos — include the actual amount and billing date
- Review the total — your real monthly subscription spend is often surprising
Common subscription categories to check:
- Streaming (Netflix, Hulu, Disney+, HBO Max, Apple TV+, Peacock)
- Music (Spotify, Apple Music, Tidal)
- Cloud storage (iCloud, Google One, Dropbox, OneDrive)
- Security (VPN, password manager, identity protection)
- Productivity (Adobe, Microsoft 365, Notion, Grammarly)
- News and magazines
- Gym and fitness apps
- Meal kit services
- Software licenses (annual renewals you forget about)
Once in Wallos, you get a clear view of what's costing you and can make informed decisions about what to cancel.
Wallos vs. Alternatives
Rocket Money / Truebill — Automatic detection via bank connection. Easier setup, more comprehensive detection. Privacy tradeoff: shares financial credentials.
Sub Club (iOS) — Beautiful mobile app for subscription tracking. iPhone-only, subscription-based ($0.99/month), cloud sync.
Subtrack — Simple iOS app. Limited compared to Wallos for power users.
Cuttly / custom spreadsheet — Spreadsheet-based tracking. No notifications, manual total calculations.
Wallos wins when you want: complete privacy, multi-currency support, email notifications without a cloud service, and a web UI accessible from any device on your network.
Reverse Proxy and HTTPS
For access via a domain name with HTTPS:
# Caddyfile
subs.yourdomain.com {
reverse_proxy wallos:80
}
Wallos doesn't handle HTTPS itself — run it behind Caddy, Nginx Proxy Manager, or Traefik.
Resource Requirements
Wallos is extremely lightweight. The Docker container uses:
- ~50MB RAM at idle
- Negligible CPU
- Minimal storage (SQLite database grows slowly — 1,000 subscriptions with logos is under 100MB)
It runs comfortably on a Raspberry Pi alongside dozens of other containers.
Conclusion
Wallos solves a real problem: subscription creep drains money from budgets silently. A self-hosted tracker that sends you an email three days before a $99/year renewal is more than worth the setup time.
The manual entry model means it's only as accurate as what you add — but that initial audit is valuable in itself. Most people who do a thorough subscription audit discover at least one or two services they're no longer using and can cancel immediately, paying for the setup in the first month.
