Skip to content

jp-ayyappan/actual-budget

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Actual Budget - Self-Hosted

Personal finance management with native Plaid integration, running locally via Docker.

Features

  • 📊 Budget Management - Zero-based budgeting system
  • 🏦 Bank Sync - Native Plaid integration for automatic transaction imports
  • 📱 Modern UI - Fast, responsive interface
  • 🔒 Self-Hosted - Your data stays on your computer
  • 💾 End-to-End Encryption - Optional encrypted sync
  • 📊 Reports - Cash flow, net worth, spending trends
  • 🔄 Multi-Device Sync - Sync across devices (optional)

Quick Start

Prerequisites

  • Docker Desktop installed on your Mac
  • Docker Compose (included with Docker Desktop)

Installation

  1. Start Actual Budget:

    docker-compose up -d
  2. Access the application:

  3. Check status:

    docker-compose ps
    docker-compose logs -f actual-budget

First Time Setup

  1. Open http://localhost:5006
  2. Click "Start fresh" or "Import from..."
  3. Set a password for your budget
  4. Start adding accounts!

Bank Integration (Plaid)

Setting up Bank Sync:

  1. In Actual Budget, go to SettingsExperimental Features
  2. Enable SimpleFIN or GoCardless integration
  3. Or use the Plaid integration (requires SimpleFIN bridge)

Option 1: SimpleFIN (Recommended)

Option 2: Direct CSV Import

  • Download transactions from your bank
  • Import via FileImport Transactions

Option 3: Manual Plaid Integration

If you have a Plaid developer account:

  1. Use Actual Budget's API
  2. Build a custom bridge (community examples available)

Common Commands

# Start the container
docker-compose up -d

# Stop the container
docker-compose down

# View logs
docker-compose logs -f

# Update to latest version
docker-compose pull
docker-compose up -d

# Backup your data
docker run --rm -v actual-budget_actual-data:/data -v $(pwd):/backup alpine tar czf /backup/actual-backup-$(date +%Y%m%d).tar.gz /data

# Restore from backup
docker run --rm -v actual-budget_actual-data:/data -v $(pwd):/backup alpine tar xzf /backup/actual-backup-YYYYMMDD.tar.gz -C /

File Structure

actual-budget/
├── docker-compose.yml    # Docker configuration
├── README.md            # This file
└── backups/            # Create this for storing backups

Port Configuration

  • Default Port: 5006
  • To change the port, edit docker-compose.yml:
    ports:
      - "YOUR_PORT:5006"

Data Location

Your budget data is stored in a Docker volume named actual-budget_actual-data.

To see where it's physically stored:

docker volume inspect actual-budget_actual-data

Backups

Automated Backup Script

Create backup.sh:

#!/bin/bash
BACKUP_DIR="./backups"
mkdir -p "$BACKUP_DIR"
DATE=$(date +%Y%m%d_%H%M%S)
docker run --rm \
  -v actual-budget_actual-data:/data \
  -v $(pwd)/backups:/backup \
  alpine tar czf /backup/actual-backup-$DATE.tar.gz /data
echo "Backup created: actual-backup-$DATE.tar.gz"

Make it executable:

chmod +x backup.sh

Troubleshooting

Container won't start

# Check logs
docker-compose logs actual-budget

# Remove and recreate
docker-compose down
docker-compose up -d
  • Ensure Docker Desktop is running
  • Check if port 5006 is in use: lsof -i :5006
  • Try accessing via: http://127.0.0.1:5006

Reset everything

docker-compose down
docker volume rm actual-budget_actual-data
docker-compose up -d

Upgrading

To get the latest version:

docker-compose pull
docker-compose up -d

Mobile Access

To access from your phone on the same network:

  1. Find your Mac's IP address: ifconfig | grep inet
  2. Access from phone: http://YOUR_MAC_IP:5006

Resources

Next Steps

  1. ✅ Start Actual Budget with docker-compose up -d
  2. ✅ Create your first budget at http://localhost:5006
  3. ✅ Add your accounts
  4. ✅ Set up bank sync with SimpleFIN or CSV imports
  5. ✅ Create budget categories
  6. ✅ Start tracking your finances!

Comparison with Firefly III

Feature Actual Budget Firefly III
Bank Sync ✅ Native (SimpleFIN) ⚠️ Via Data Importer
Setup Difficulty ⭐ Easy ⭐⭐⭐ Complex
UI Modern, Fast Feature-rich
Budgeting Method Zero-based Flexible
Mobile App Web-based Web-based
Plaid Support ✅ Yes ⚠️ Indirect

About

Self-hosted personal finance management with Actual Budget - Docker setup with SimpleFIN/Plaid integration support

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors