New: the Homelab Planning Bundle. Both planners together for $19.99 instead of $27.98Save $7.99GET THE BUNDLE

Homelab Addiction

Self-Hosted / Projects / Firefly III

Firefly III

Stable
firefly-iii/firefly-iii24.9k2.3k16h agoMoney, Budgeting & Management
DocsWebsiteSource

Specs verified September 9, 2026 · against v6.6.6

Overview

Self-hosted personal finance manager for budgets, transactions, rules, and financial reports.

Firefly III is a self-hosted personal finance manager for people who want to track income, expenses, budgets, bills, and financial goals on infrastructure they control.

Why people choose Firefly III

It replaces the basic dashboard and recurring-payment features of many cloud finance apps with a private system that supports detailed transactions, categories, tags, budgets, rules, recurring transactions, reports, and a REST API.

What is included

The official project covers transaction and account management, budgets, categories and tags, recurring transactions, rule-based transaction handling, reports, bill reminders, data import workflows, and an API. The separate Data Importer can be deployed when you need to bring data in from banks or files.

What to know before you deploy

Firefly III is a database-backed PHP application rather than a single stateless container. The official Docker guide documents Docker Compose with a database, persistent upload storage, an APP_KEY, and careful password setup. Backups, HTTPS, and correct proxy settings matter because the instance contains sensitive financial data.

Best fit

Choose Firefly III when you want privacy and detailed control over household or personal finances. A hosted finance service may be easier if you need bank connectivity that you do not want to maintain yourself, while Firefly III is a strong fit for operators comfortable owning imports, backups, and updates.

Quick deploy

Paste into docker-compose.yml and run docker compose up -d
docker-compose.yml
1services:
2 fireflyiii:
3 image: fireflyiii/core:latest
4 ports:
5 - "8080:8080"
6 volumes:
7 - firefly_iii_upload:/var/www/html/storage/upload
8 environment:
9 - APP_KEY=replace-with-a-random-32-character-key
10 - DB_CONNECTION=mysql
11 - DB_HOST=db
12 - DB_PORT=3306
13 - DB_DATABASE=firefly
14 - DB_USERNAME=firefly
15 - DB_PASSWORD=change-me
16 db:
17 image: mariadb:lts
18 environment:
19 - MYSQL_DATABASE=firefly
20 - MYSQL_USER=firefly
21 - MYSQL_PASSWORD=change-me
22volumes:
23 firefly_iii_upload:

Configuration

Environment variables

VariableWhat it doesExample
APP_KEYrequiredRandom application key required by Firefly III; official docs specify exactly 32 characters.replace-with-32-random-characters
DB_CONNECTIONrequiredDatabase driver used by Firefly III.mysql
DB_HOSTrequiredDatabase service hostname.db

Ports

  • 8080/tcp — Application port used by the official plain Docker example; place it behind your reverse proxy as appropriate.

Volumes to back up

  • /var/www/html/storage/upload — Persistent upload storage from the official Docker example.

Interface previews

Screenshots of the Firefly III interface.

Feature support

Feature support in Firefly III
FeatureSupport
Accounts and transaction managementThe official project describes account, income, expense, transfer, and transaction management.Supported
Budgets, categories, and tagsCore features include budgets plus categories and tags for organizing financial activity.Supported
Recurring transactions and billsThe project highlights recurring transactions and bill management for predictable income and expenses.Supported
Rule-based transaction handlingOfficial project materials list rules for automating transaction processing.Supported
Reports and financial overviewsFirefly III includes reports and dashboards for reviewing spending and cash flow.Supported
Data import workflowsThe project provides import tooling and a separate Data Importer for bringing financial data into the instance.Supported
REST JSON APIThe official repository describes a REST JSON API covering almost every part of Firefly III.Supported
Docker Compose deploymentOfficial installation guidance provides Docker Compose files and configuration for the application and database.Supported

Community signals

Stars
24.9k
Forks
2.3k
Open issues
156

Includes open pull requests

Last commit
16h ago
Latest release
v6.7.9

1d ago

Repo created
Jun 2014

Refreshed nightly from the GitHub API.

Questions

What is Firefly III used for?

Firefly III is used to track personal finances, including accounts, income, expenses, transfers, budgets, bills, recurring transactions, and reports.

Is Firefly III a self-hosted Mint or YNAB alternative?

It can fill a similar personal-finance role for people who prefer self-hosting, but it is not a drop-in replacement for every bank-sync or hosted-service workflow. You manage deployment, imports, updates, and backups yourself.

Does Firefly III need a database?

Yes. The official Docker documentation says a plain container needs an existing MySQL or PostgreSQL database, while the provided Compose setup includes a database service.

Can Firefly III run in Docker?

Yes. The official installation guide recommends Docker Compose as the easiest Docker path and also documents a plain Docker container when you already operate a database.

What hardware does Firefly III need?

The official Docker guidance focuses on the application, database, persistent storage, and configuration rather than a single universal RAM number. Size the database and PHP memory for your transaction history and reporting workload.

Is Firefly III free and open source?

Yes. The official repository lists Firefly III under the AGPL-3.0 license and describes it as self-hosted personal finance software.

What is the main Firefly III tradeoff?

You gain control over financial data and customization, but you also own secure exposure, database backups, data imports, updates, and troubleshooting proxy or authentication settings.

support // the lab

Found this write-up useful?

If it saved you time or a rebuild, you can support more practical homelab guides.

Support the lab