8,820
stars
+6
465
forks
17
watchers
709
prs
536
issues
230
releases
61
discussions
README
Wallos: Open-Source Personal Subscription Tracker
Table of Contents
- Introduction
- Features
- Demo
- Getting Started
- Prerequisites
- Baremetal
- Docker
- Installation
- Baremetal
- Updating
- Docker
- Docker-Compose
- Usage
- Screenshots
- OIDC
- AI Recommendations
- API Documentation
- Contributing
- Contributors
- Translations
- License
- Links
Introduction
Wallos is a powerful, open-source, and self-hostable web application designed to empower you in managing your finances with ease. Say goodbye to complicated spreadsheets and expensive financial software – Wallos simplifies the process of tracking expenses and helps you gain better control over your financial life.
Features
- Subscription Management: Keep track of your recurring subscriptions and payments, ensuring you never miss a due date.
- Category Management: Organize your expenses into customizable categories, enabling you to gain insights into your spending habits.
- Multi-Currency support: Wallos supports multiple currencies, allowing you to manage your finances in the currency of your choice.
- Currency Conversion: Integrates with the Fixer API so you can get exchange rates and see all your subscriptions on your main currency.
- Data Privacy: As a self-hosted application, Wallos ensures that your financial data remains private and secure on your own server.
- Customization: Tailor Wallos to your needs with customizable categories, currencies, themes and other display options.
- Sorting Options: Allowing you to view your subscriptions from different perspectives.
- Logo Search: Wallos can search the web for the logo of your subscriptions if you don't have them available for upload.
- Mobile view: Wallos on the go.
- Statistics: Another perspective into your spendings.
- Notifications: Wallos supports multiple notification methods (email, discord, pushover, telegram, gotify and webhooks). Get notified about your upcoming payments.
- Multi Language support.
- OIDC with OAuth
- AI Recommendations with ChatGPT, Gemini, OpenRouter, a local Ollama or any OpenAI-compatible API
Demo
If you want to try Wallos, a demo is available at https://demo.wallosapp.com.
The database is reset every 2 hours.
To access the demo use the following credentials:
python
Username: demo
Password: demo
Getting Started
See instructions to run Wallos below.
Prerequisites
Baremetal
- NGINX or APACHE websever running
- PHP 8.3 with the following modules enabled:
- curl
- dom
- gd
- intl
- openssl
- sqlite3
- zip
- mbstring
- fpm
Docker
- Docker
Installation
Baremetal
1. Download or clone this repo and move the files into your web root - usually /var/www/html
2. Rename /db/wallos.empty.db to /db/wallos.db
3. Open the app in your browser — migrations run automatically on the registration page
4. ATop issues
#958[Bug] Pushover notifications not working13 comments · 2025-11-30#1142Home dashboard preview tile not converting subscription currency as per settings8 comments · 2026-07-27#921Install error - 500 code8 comments · 2025-09-15#986[Feature] Add subscription enddate/renewal date5 comments · 2026-01-27#932Unsubscribe Renewal notification5 comments · 2025-10-11#864Navigation Bar Not Visible in Edge Browser but Appears When Printing to PDF5 comments · 2025-06-30#1036Paperless NGX Support4 comments · 2026-04-09#865Shared subscriptions4 comments · 2025-06-30
Discussions
#1292Notification system in German is hard to understand1 comments · 2026-10-29#1254Last cancellation date, cancellation done checkbox and visual overview0 comments · 2026-10-04#1243When new version v6?1 comments · 2026-09-24#1223Multiple Categories per subscription?1 comments · 2026-09-17#1170request to bring Wallos to the truenas app catalog0 comments · 2026-08-18#1152SMTP Settings0 comments · 2026-08-07#1136Feature Request: Bulk CSV Import1 comments · 2026-07-22#1089Import functionality and admin with OIDC user?1 comments · 2026-06-21
Latest release
v5.11.1 v5.11.1 2026-11-075.11.1 (2026-11-07) Bug Fixes escape folder names on output and let the Telegram test use the instance bot (259b12e)