Docs / Self-Hosted Applications / How to Self-Host Firefly III Personal Finance

How to Self-Host Firefly III Personal Finance

By Admin · Mar 1, 2026 · Updated Apr 25, 2026 · 28 views · 1 min read

What Is Firefly III?

Firefly III is a self-hosted personal finance manager. It tracks your expenses, income, budgets, and savings goals — giving you complete control over your financial data.

Requirements

  • A Breeze with at least 1 GB RAM
  • Docker and Docker Compose

Docker Compose Setup

mkdir -p /opt/firefly && cd /opt/firefly
cat > docker-compose.yml <<'EOF'
services:
  firefly:
    image: fireflyiii/core:latest
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      - APP_KEY=SomeRandomStringOf32CharsExactly
      - DB_HOST=db
      - DB_PORT=3306
      - DB_CONNECTION=mysql
      - DB_DATABASE=firefly
      - DB_USERNAME=firefly
      - DB_PASSWORD=firefly_password
      - APP_URL=https://finance.yourdomain.com
      - TRUSTED_PROXIES=**
    volumes:
      - firefly-upload:/var/www/html/storage/upload
    depends_on:
      - db

  db:
    image: mariadb:11
    restart: unless-stopped
    environment:
      MYSQL_DATABASE: firefly
      MYSQL_USER: firefly
      MYSQL_PASSWORD: firefly_password
      MYSQL_ROOT_PASSWORD: root_password
    volumes:
      - firefly-db:/var/lib/mysql

volumes:
  firefly-upload:
  firefly-db:
EOF

docker compose up -d

Features

  • Transaction tracking (expenses, income, transfers)
  • Budget management with spending limits
  • Bill tracking and reminders
  • Savings goals (piggy banks)
  • Multi-currency support
  • Recurring transactions
  • Reports and charts
  • CSV and bank statement import
  • API for mobile apps and automation

Was this article helpful?