Skip to content

Deploying OpenBudgeteer

Introduction

OpenBudgeteer is an open-source budgeting application inspired by You Need A Budget (YNAB). Built with .NET and Blazor, it provides a self-hosted solution for personal finance management using the envelope budgeting methodology, where every dollar is assigned a job before you spend it.

The application helps users track income, categorize expenses, and allocate money to budget categories. With support for multiple accounts and transaction imports, OpenBudgeteer offers a powerful alternative to subscription-based budgeting services.

Key features of OpenBudgeteer include:

  • Envelope Budgeting: Assign every dollar to a budget category
  • Multiple Accounts: Track checking, savings, credit cards, and cash
  • Transaction Import: Import bank statements via CSV or OFX
  • Automatic Categorization: Rules-based transaction categorization
  • Budget Tracking: Visual progress indicators for each category
  • Recurring Transactions: Schedule repeating income and expenses
  • Reports: Monthly and yearly spending analysis
  • Data Export: Export data for backup or analysis
  • Mobile Responsive: Works on desktop and mobile browsers
  • Multi-Currency: Support for different currencies

This guide walks through deploying OpenBudgeteer on Klutch.sh using Docker.

Why Deploy OpenBudgeteer on Klutch.sh

Deploying OpenBudgeteer on Klutch.sh provides private financial management:

Data Privacy: Keep your financial data on infrastructure you control rather than third-party services.

No Subscriptions: Avoid monthly fees from commercial budgeting apps.

Accessible Anywhere: Access your budget from any device with a web browser.

Persistent Storage: Store your financial history with persistent volumes.

HTTPS by Default: Secure access to sensitive financial data with automatic SSL certificates.

Prerequisites

Before deploying OpenBudgeteer on Klutch.sh, ensure you have:

Deploying OpenBudgeteer on Klutch.sh

    Create Your Dockerfile

    Create a Dockerfile in your repository:

    FROM axelander/openbudgeteer:latest
    # Configure environment
    ENV CONNECTION_PROVIDER=sqlite
    ENV CONNECTION_DATABASE=/data/openbudgeteer.db
    # Create data directory
    RUN mkdir -p /data
    EXPOSE 80
    CMD ["dotnet", "OpenBudgeteer.dll"]

    Push to GitHub

    Commit and push your Dockerfile to your GitHub repository.

    Create a New Project on Klutch.sh

    Navigate to the Klutch.sh dashboard and create a new project.

    Create and Configure the App

    Create a new app and connect it to your GitHub repository.

    Configure HTTP Traffic

    Set the traffic type to HTTP with an internal port of 80.

    Set Environment Variables

    Configure your deployment:

    VariableDescription
    CONNECTION_PROVIDERDatabase type (sqlite, mysql, postgresql)
    CONNECTION_DATABASEDatabase connection string or file path
    APPSETTINGS_CULTURELocale for currency formatting (e.g., en-US)

    Attach Persistent Volumes

    Add persistent storage:

    Mount PathRecommended SizePurpose
    /data1 GBSQLite database and data files

    Deploy Your Application

    Click Deploy to build and launch your OpenBudgeteer instance.

    Start Budgeting

    Access your deployment and create your first accounts and budget categories.

Additional Resources