Home - grumnuts/dosh GitHub Wiki

Dosh

Dosh is a self-hosted, zero-based envelope budgeting app. It runs as a single Docker container with a SQLite database and supports multiple users, weekly (Sunday–Saturday) budget periods, and a full transaction management workflow.

Pages

Page Description
Installation Docker setup, environment variables, docker-compose example
Getting Started First run, setup wizard, adding accounts and budget categories
Budget Budget periods, categories, groups, covers, and balance logic
Transactions Adding transactions, splits, transfers, and covers
Accounts Account types, starting balances, reconciliation
CSV Import Column mapping, duplicate detection, rules on import
Rules Engine Conditions, actions, AND/OR logic, running rules
Reports Cashflow, Spending, Overspend, Income by Category, Payees, Goals, Net Worth, Portfolio Breakdown, Investment Portfolio
Settings User management, system settings (week start day, dynamic calculations), audit log
API Reference All REST API endpoints
Contributing Dev setup, code standards, git workflow

Quick Start

# docker-compose.yml
services:
  dosh:
    image: grumnuts/dosh:latest
    ports:
      - "3000:3000"
    volumes:
      - dosh_data:/data
    environment:
      SECRET_KEY: your-secret-key-here
      TZ: Australia/Sydney

volumes:
  dosh_data:
docker compose up -d

Then open http://localhost:3000 — the setup wizard will guide you through creating your first user and accounts.

Tech Stack

  • Backend: Fastify + TypeScript + SQLite
  • Frontend: React + Vite + TailwindCSS + TanStack Query
  • Deployment: Single Docker container (amd64 + arm64)