All apps ยท 0 apps
DumbBudget
Docker app from ZappyZap's Repository
Overview
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
Install DumbBudget on Unraid in a few clicks.
Find DumbBudget in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Categories
Download Statistics
Total Downloads Over Time
Related apps
Explore more like this
Explore allLinks
Details
dumbwareio/dumbbudget:latestRuntime arguments
- Web UI
http://[IP]:[PORT:3000]- Network
bridge- Shell
sh- Privileged
- false
Template configuration
The port on which the application will run.
- Target
- 3000
- Default
- 3000
- Value
- 3000
Data Dir
- Target
- /app/data
- Value
- /mnt/user/appdata/dumbbudget
PIN protection
- Target
- DUMBBUDGET_PIN
- Value
- 12345
Currency code for transactions
- Default
- USD
- Value
- USD