selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

Firefly III logo

Self-host Firefly III

v6.7.9

Personal money tracker with budgets on your own server

ReleaseOpen SourceAGPL-3.0
Updatedlast month
LanguagePHP
Setup difficultyModerate
Stars
25 224
Port
8080 (Firefly III web UI and API inside the container; the example compose file maps it to host port 80)
Docker
fireflyiii/core
Install with Docker

What is Firefly III?

Firefly III is an open-source manager for your personal finances, aimed at people who want to track income and expenses without putting their financial records in a cloud service. It keeps a double-entry ledger of accounts, transactions, budgets, categories and tags, and lets you automate bookkeeping with recurring transactions and a user-written rule engine. Other capabilities include piggy banks for savings goals, liability tracking, income and expense reports with charts, any currency you like, two-factor authentication, an almost-complete JSON REST API and webhooks for transaction events. Data usually enters through the companion Data Importer, which reads CSV files or bank APIs. Registration is closed after the first user, but multi-user mode can be re-enabled, with each user running a completely separate administration. You install it with Docker Compose (Firefly III plus a MariaDB or PostgreSQL container and an optional cron container), with a single docker run against an existing database, via a Kubernetes chart, or on a classic LAMP/LEMP/WAMP server running PHP 8.5. It is deliberately not a business accounting, stock/portfolio or prediction tool, has no desktop or mobile app, and it will not contact external servers unless you tell it to.

Firefly III alternatives

All self-hosted alternatives to Mint → All self-hosted alternatives to YNAB →

Should you self-host Firefly III?

Firefly III scores 83/100 on selfhost.directory (how scoring works) and ranks #1 of 63 in Personal Finance. It has 25 224 GitHub stars, +377 in the last 30 days.

It shipped 19 stable releases in the past year. The latest, develop-20261112.2, came out on 12 November 2026. New versions land roughly every 2 days.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is AGPL-3.0-licensed and written mostly in PHP.

Its closest alternative on selfhost.directory is Budget Board (56/100, 897 stars). Firefly III scores higher overall. See Firefly III vs Budget Board side by side.

Features

  • Bank and CSV data importHandled by the companion Firefly III Data Importer, not by Firefly III itself.
  • Budget management
  • Charts and dashboards
  • Double-Entry BookkeepingDocs note it is personal-finance oriented, not textbook accounting.
  • Financial Reports
  • Liability tracking
  • Multi-currency Support
  • Multi-user supportAdministrations cannot be shared between users yet.
  • Recurring Transactions
  • REST JSON API
  • Rule Engine
  • Savings goals (piggy banks)
  • Two-factor authentication
  • Webhooks

Firefly III README

How to install Firefly III

Install Firefly III with Docker

Environment variables
APP_KEY, DB_HOST, DB_PORT, DB_CONNECTION, DB_DATABASE, DB_USERNAME, DB_PASSWORD
docker volume create firefly_iii_upload
docker run -d \
-v firefly_iii_upload:/var/www/html/storage/upload \
-p 80:8080 \
-e APP_KEY=CHANGEME_32_CHARS \
-e DB_HOST=CHANGEME \
-e DB_PORT=3306 \
-e DB_CONNECTION=mysql \
-e DB_DATABASE=CHANGEME \
-e DB_USERNAME=CHANGEME \
-e DB_PASSWORD=CHANGEME \
fireflyiii/core:latest

Needs an existing MySQL or PostgreSQL database; APP_KEY must be a random string of exactly 32 characters.

How to configure Firefly III

  • APP_ENVYou can leave this on "local". If you change it to production most console commands will ask for extra confirmation. Never set it to "testing".
  • APP_DEBUGfalseSet to true if you want to see debug information in error screens.
  • SITE_OWNERThis should be your email address. If you use Docker or similar, you can set this variable from a file by using SITE_OWNER_FILE The variable is used in some errors shown to users who aren't admin.
  • APP_KEYThe encryption key for your sessions. Keep this very secure. Change it to a string of exactly 32 chars or use something like `php artisan key:generate` to generate it. If you use Docker or similar, you can set this variable from a file by using APP_KEY_FILE Try to avoid special characters like #, < and > in your app key. This string does not need full entropy When in doubt, follow the link below a
  • DEFAULT_LANGUAGEen_USFirefly III will launch using this language (for new users and unauthenticated visitors) For a list of available languages: https://github.com/firefly-iii/firefly-iii/blob/main/config/firefly.php#L123 If text is still in English, remember that not everything may have been translated.

Firefly III releases & version history

@ Every self-hosted release, weekly

One Monday email with the week's stable releases across the directory.

FAQ

Firefly III should be a business!

The developer has no interest in turning it into a hosted business: it lacks insider-threat controls, real user management and a payment module, and self-hosting is the point.

Will Firefly III support PSD2?

No. Registering each installation with a national financial authority and obtaining PSD2 certificates is impractical, and every bank exposes a different API anyway.

When will you release version (the next version)?

Release dates are not announced; the public roadmap, with tickets tagged as fixed, is the best indication of what is coming.

Why does Firefly III not support accounting feature X?

Its concepts come from the developer's own notion of good personal-finance practice rather than formal accountancy, and those core concepts will not change.

Will you add AI to Firefly III?

No. The developer considers LLM output too unreliable for finances and does not want to send your data to the cloud, though you can build something yourself on the API and webhooks.

Why is Firefly III not based on "zero-sum budgeting"?

It never adopted the assign-every-coin-to-a-budget model: you set a monthly spend amount and keep income separate from budgeting.

How does it compare to YNAB, Mint, GNUCash, Excel?

Firefly III is self-hosted and aimed at tech-savvy users, so you install and run it yourself. Bank data import is not as turnkey, and its budgeting style differs from cloud tools like YNAB or Mint.

Can I share one administration with multiple users?

No. Each administration belongs to one user, so partners who want to see the same books must share the same login.

Is it multi-user?

Yes, but for security the registration form only stays open for the very first user, and administrations are not shared between users.

More in Personal Finance

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…