Self-Hosted / Projects / Firefly III

Firefly III
StableSpecs 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 rundocker compose up -d1services:2 fireflyiii:3 image: fireflyiii/core:latest4 ports:5 - "8080:8080"6 volumes:7 - firefly_iii_upload:/var/www/html/storage/upload8 environment:9 - APP_KEY=replace-with-a-random-32-character-key10 - DB_CONNECTION=mysql11 - DB_HOST=db12 - DB_PORT=330613 - DB_DATABASE=firefly14 - DB_USERNAME=firefly15 - DB_PASSWORD=change-me16 db:17 image: mariadb:lts18 environment:19 - MYSQL_DATABASE=firefly20 - MYSQL_USER=firefly21 - MYSQL_PASSWORD=change-me22volumes:23 firefly_iii_upload:
Configuration
Environment variables
| Variable | What it does | Example |
|---|---|---|
APP_KEYrequired | Random application key required by Firefly III; official docs specify exactly 32 characters. | replace-with-32-random-characters |
DB_CONNECTIONrequired | Database driver used by Firefly III. | mysql |
DB_HOSTrequired | Database 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 |
|---|---|
| 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
- Last commit
- 16h ago
- Latest release
- v6.7.9
- Repo created
- Jun 2014
Includes open pull requests
1d ago
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.