Deploying Wallos
Introduction
Wallos is a self-hosted subscription tracker and personal finance manager designed to help you keep track of all your recurring payments in one place. With subscription services becoming increasingly common, Wallos provides a clean, intuitive interface to monitor your monthly and annual expenses, set reminders for upcoming renewals, and analyze your spending patterns.
Built with PHP and SQLite, Wallos is lightweight and easy to deploy. The application stores all data locally, giving you complete control over your financial information without relying on third-party services.
Key features of Wallos include:
- Subscription Tracking: Add and manage all your recurring subscriptions with payment dates, amounts, and billing cycles
- Multi-Currency Support: Track subscriptions in different currencies with automatic conversion
- Category Organization: Organize subscriptions by category for better expense analysis
- Payment Reminders: Get notified before subscription renewals to avoid unexpected charges
- Statistics Dashboard: Visualize your spending patterns with charts and summaries
- Logo Fetching: Automatically fetch subscription service logos for visual identification
- Multi-User Support: Create accounts for family members or household tracking
- Data Export: Export your subscription data for backup or analysis
- Mobile-Friendly: Responsive design works on all devices
This guide walks you through deploying Wallos on Klutch.sh using Docker with persistent storage for your subscription data.
Prerequisites
Before deploying Wallos on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your Wallos configuration
- Basic familiarity with Docker concepts
Repository Structure
Create a GitHub repository with the following structure:
wallos-deploy/├── Dockerfile└── .dockerignoreDockerfile
Create a Dockerfile in your repository:
FROM bellamy/wallos:latest
# Wallos runs on port 8282 by defaultEXPOSE 8282
# The base image handles the entrypointEnvironment Variables
Wallos supports the following environment variables:
| Variable | Required | Default | Description |
|---|---|---|---|
TZ | No | UTC | Timezone for the application |
Deployment on Klutch.sh
- Push your Dockerfile to your GitHub repository.
- Log in to Klutch.sh and create a new project.
- Create a new app within your project and connect your GitHub repository containing the Dockerfile.
- Configure the deployment settings: - Select **HTTP** as the traffic type - Set the internal port to **8282**
- Add environment variables: - `TZ`: Your timezone (e.g., `America/New_York`)
- Attach a persistent volume: - Mount path: `/var/www/html/db` - Recommended size: 1 GB - Purpose: SQLite database and subscription data
- Click **Deploy** and wait for the build to complete.
- Access your Wallos instance at the provided URL and create your admin account.
Post-Deployment Configuration
After deployment, access your Wallos instance to:
- Create your administrator account
- Set your primary currency
- Configure notification preferences
- Add your first subscriptions
Troubleshooting
Data Not Persisting
Ensure the persistent volume is mounted at /var/www/html/db. This directory contains the SQLite database with all your subscription data.
Logo Fetching Not Working
Wallos fetches logos from external services. Ensure your deployment has outbound internet access.