Limitless Budget
← Back to Documentation

Configuration

Configure your Limitless Budget instance to match your needs.

Environment Variables

All configuration is done through environment variables in your `.env` file.

Required Variables

NEXTAUTH_SECRET

A secure random string used for session encryption. Generate with: openssl rand -base64 32

NEXTAUTH_URL

The full URL where your instance is accessible (e.g., http://192.168.1.100:3416 or https://budget.example.com)

Optional Variables

HOST_PORT

Port to expose on the host (default: 3416)

DATA_PATH

Path where database files are stored (default: ./data)

NODE_ENV

Environment mode: production or development (default: production)

INSTANCE_TYPE

Type 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 port

Remember 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/data

Make sure the directory exists and is writable:

mkdir -p /mnt/storage/limitless-budget/data chmod 755 /mnt/storage/limitless-budget/data

Admin 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:

  1. Edit your `.env` file
  2. Restart the container: docker-compose restart
  3. Or rebuild if needed: docker-compose up -d --build