apps.header.allAppsCount
DumbBudget
apps.detail.types.app from ZappyZap's Repository
apps.detail.sections.overview
A simple, secure personal budgeting app with PIN protection. Track your income and expenses with a clean, modern interface.
Readme
View on GitHubDumbBudget
A simple, secure personal budgeting app with PIN protection. Track your income and expenses with a clean, modern interface.
Features
- ๐ PIN-protected access
- ๐ฐ Track income and expenses
- ๐ Real-time balance calculations
- ๐ท๏ธ Categorize transactions
- ๐ Date range filtering
- ๐ Sort by date or amount
- ๐ฑ Responsive design
- ๐ Light/Dark theme
- ๐ค Export to CSV
- ๐ Filter transactions by type
- ๐ฑ Multi-currency support
- ๐ PWA Support
Supported Currencies
DumbBudget supports the following currencies:
- USD (US Dollar) ๐บ๐ธ
- EUR (Euro) ๐ช๐บ
- GBP (British Pound) ๐ฌ๐ง
- JPY (Japanese Yen) ๐ฏ๐ต
- AUD (Australian Dollar) ๐ฆ๐บ
- CAD (Canadian Dollar) ๐จ๐ฆ
- CHF (Swiss Franc) ๐จ๐ญ
- CNY (Chinese Yuan) ๐จ๐ณ
- HKD (Hong Kong Dollar) ๐ญ๐ฐ
- NZD (New Zealand Dollar) ๐ณ๐ฟ
- MXN (Mexican Peso) ๐ฒ๐ฝ
- RUB (Russian Ruble) ๐ท๐บ
- SGD (Singapore Dollar) ๐ธ๐ฌ
- KRW (South Korean Won) ๐ฐ๐ท
- INR (Indian Rupee) ๐ฎ๐ณ
- BRL (Brazilian Real) ๐ง๐ท
- ZAR (South African Rand) ๐ฟ๐ฆ
- TRY (Turkish Lira) ๐น๐ท
- PLN (Polish Zลoty) ๐ต๐ฑ
- SEK (Swedish Krona) ๐ธ๐ช
- NOK (Norwegian Krone) ๐ณ๐ด
- DKK (Danish Krone) ๐ฉ๐ฐ
- IDR (Indonesia Rupiah) ๐ฎ๐ฉ
- PKR (Pakistani Rupee) ๐ต๐ฐ
Set your preferred currency using the CURRENCY environment variable (defaults to USD if not set).
Using Docker
docker run -d \
-p 3000:3000 \
-v /path/to/your/data:/app/data \
-e DUMBBUDGET_PIN=12345 \
-e CURRENCY=USD \
-e BASE_URL=http://localhost:3000 \
-e SITE_TITLE='My Account' \
dumbwareio/dumbbudget:latest
services:
dumbbudget:
image: dumbwareio/dumbbudget:latest
container_name: dumbbudget
restart: unless-stopped
ports:
- ${DUMBBUDGET_PORT:-3000}:3000
volumes:
- ${DUMBBUDGET_DATA_PATH:-./data}:/app/data
environment:
- DUMBBUDGET_PIN=${DUMBBUDGET_PIN:-} # PIN to access the site
- BASE_URL=${DUMBBUDGET_BASE_URL:-http://localhost:3000} # URL to access the site
- CURRENCY=${DUMBBUDGET_CURRENCY:-USD} # Supported Currency Code: https://github.com/DumbWareio/DumbBudget?tab=readme-ov-file#supported-currencies
- SITE_TITLE=${DUMBBUDGET_SITE_TITLE:-DumbBudget} # Name to show on site
- INSTANCE_NAME=${DUMBBUDGET_INSTANCE_NAME:-} # Name of instance/account
# (OPTIONAL)
# Restrict origins - ex: https://subdomain.domain.tld,https://auth.proxy.tld,http://internalip:port' (default is '*')
# - ALLOWED_ORIGINS=${DUMBBUDGET_ALLOWED_ORIGINS:-http://localhost:3000}
# healthcheck:
# test: wget --spider -q http://127.0.0.1:3000
# start_period: 20s
# interval: 20s
# timeout: 5s
# retries: 3
Note: Replace
/path/to/your/datawith the actual path where you want to store your transaction data on the host machine.
Environment Variables
| Variable | Description | Required | Default | Example |
|---|---|---|---|---|
DUMBBUDGET_PIN |
PIN code for accessing the application | Yes | - | 12345 |
PORT |
Port number for the server | No | 3000 |
8080 |
CURRENCY |
Currency code for transactions | No | USD |
EUR |
BASE_URL |
Base URL for the application | No | http://localhost:PORT |
https://budget.example.com |
SITE_TITLE |
Allows you to name each instance should you have multiple. | No | - | My Account |
Development Setup
- Clone the repository:
git clone https://github.com/DumbWareio/DumbBudget.git
cd DumbBudget
- Install dependencies:
npm install
- Create a
.envfile:
DUMBBUDGET_PIN=12345
PORT=3000
NODE_ENV=development
BASE_URL=http://localhost:3000
CURRENCY=USD
SITE_TITLE='DumbBudget'
INSTANCE_NAME='My Account'
ALLOWED_ORIGINS=* # Restrict origins - ex: https://subdomain.domain.tld,https://auth.proxy.tld,http://internalip:port' (default is '*')
- Start the development server:
npm run dev
- Open http://localhost:3000 in your browser
Building from Source
# Build the Docker image
docker build -t dumbwareio/dumbbudget:latest .
# Create a directory for persistent data
mkdir -p ~/dumbbudget-data
# Run the container
docker run -d \
-p 3000:3000 \
-v ~/dumbbudget-data:/app/data \
-e DUMBBUDGET_PIN=12345 \
-e BASE_URL=http://localhost:3000 \
-e SITE_TITLE='My Account' \
dumbwareio/dumbbudget:latest
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Security
DumbBudget includes several security features:
- PIN protection for access
- Rate limiting on PIN attempts
- Temporary lockout after failed attempts
- No sensitive data stored in browser storage
- Secure session handling
Support
- Report bugs by opening an issue
- Request features through issues
- Join our community discussions
Support the Project
Made with โค๏ธ by DumbWare.io
apps.marketingCta.appInstallTitle
apps.marketingCta.appInstallDescription
apps.installHelp.stepOpen apps.installHelp.stepSearchApp apps.installHelp.stepReview apps.installHelp.stepInstall
apps.detail.sections.categories
apps.downloadStats.title
363,260
apps.downloadStats.metrics.totalDownloads
26,540
apps.downloadStats.metrics.thisMonth
25,707
apps.downloadStats.metrics.avgPerMonth
apps.downloadStats.chart.totalOverTime
apps.downloadStats.chart.loading
apps.detail.sections.related
apps.detail.related.exploreCategories
apps.detail.related.exploreAllapps.detail.sections.links
apps.detail.sections.details
apps.detail.details.repository
dumbwareio/dumbbudget:latestapps.detail.details.registry
apps.detail.details.lastUpdated2025-11-03
apps.detail.details.firstSeen2025-02-07
apps.detail.sections.runtime
- apps.detail.details.webui
http://[IP]:[PORT:3000]- apps.detail.details.network
bridge- apps.detail.details.shell
sh- apps.detail.details.privileged
- false
apps.detail.sections.configuration
WebUIPorttcp
The port on which the application will run.
- apps.detail.config.target
- 3000
- apps.detail.config.default
- 3000
- apps.detail.config.value
- 3000
DataPathrw
Data Dir
- apps.detail.config.target
- /app/data
- apps.detail.config.value
- /mnt/user/appdata/dumbbudget
PINVariable
PIN protection
- apps.detail.config.target
- DUMBBUDGET_PIN
- apps.detail.config.value
- 12345
CURRENCYVariable
Currency code for transactions
- apps.detail.config.default
- USD
- apps.detail.config.value
- USD