Skip to content

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:

Repository Structure

Create a GitHub repository with the following structure:

wallos-deploy/
├── Dockerfile
└── .dockerignore

Dockerfile

Create a Dockerfile in your repository:

FROM bellamy/wallos:latest
# Wallos runs on port 8282 by default
EXPOSE 8282
# The base image handles the entrypoint

Environment Variables

Wallos supports the following environment variables:

VariableRequiredDefaultDescription
TZNoUTCTimezone for the application

Deployment on Klutch.sh

  1. Push your Dockerfile to your GitHub repository.
  2. Log in to Klutch.sh and create a new project.
  3. Create a new app within your project and connect your GitHub repository containing the Dockerfile.
  4. Configure the deployment settings: - Select **HTTP** as the traffic type - Set the internal port to **8282**
  5. Add environment variables: - `TZ`: Your timezone (e.g., `America/New_York`)
  6. Attach a persistent volume: - Mount path: `/var/www/html/db` - Recommended size: 1 GB - Purpose: SQLite database and subscription data
  7. Click **Deploy** and wait for the build to complete.
  8. Access your Wallos instance at the provided URL and create your admin account.

Post-Deployment Configuration

After deployment, access your Wallos instance to:

  1. Create your administrator account
  2. Set your primary currency
  3. Configure notification preferences
  4. 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.

Additional Resources