Environment Variables
All configuration is done through environment variables in your `.env` file.
Required Variables
NEXTAUTH_SECRETA secure random string used for session encryption. Generate with: openssl rand -base64 32
NEXTAUTH_URLThe full URL where your instance is accessible (e.g., http://192.168.1.100:3416 or https://budget.example.com)
Optional Variables
HOST_PORTPort to expose on the host (default: 3416)
DATA_PATHPath where database files are stored (default: ./data)
NODE_ENVEnvironment mode: production or development (default: production)
INSTANCE_TYPEType of instance (default: Self-hosted)
Database Configuration
Limitless Budget uses SQLite databases by default. Two databases are created:
dev.db- Main application database (user data, budgets, transactions)master.db- Master database (user accounts, authentication)
Both databases are stored in the DATA_PATH directory.
Port Configuration
The application runs on port 3000 inside the container. To change the external port:
# In .env file HOST_PORT=8080 # Change to your desired portRemember to update NEXTAUTH_URL to match your port.
Data Persistence
Database files are stored in a Docker volume. To change the location:
# In .env file DATA_PATH=/mnt/storage/limitless-budget/dataMake sure the directory exists and is writable:
mkdir -p /mnt/storage/limitless-budget/data chmod 755 /mnt/storage/limitless-budget/dataAdmin Access
The first user to register automatically becomes a Super Admin with full access to:
- User management (view, edit, delete users)
- Grant or revoke admin roles
- Instance settings (registration, landing page)
- Budget management across all users
Note: Super Admin status cannot be revoked or deleted, ensuring there's always at least one admin account.
Instance Settings
Instance-wide settings are managed through the Admin settings page (requires admin access):
- Allow Registration - Enable or disable new user registration
- Show Landing Page - Show or hide the landing page at "/"
These settings take effect immediately without requiring a restart.
Application Settings
Most application settings are configured through the web interface after logging in:
- Budget settings (currency, date format)
- User preferences
- Themes and customization
- Dashboard layout
Applying Changes
After changing environment variables:
- Edit your `.env` file
- Restart the container:
docker-compose restart - Or rebuild if needed:
docker-compose up -d --build
