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)