ScriptsApr 10, 2026·3 min read

Firefly III — Self-Hosted Personal Finance Manager

Firefly III is an open-source personal finance manager for tracking expenses, budgets, and bank accounts. Self-hosted with full privacy, multi-currency, and powerful reporting.

TL;DR
Firefly III is a self-hosted finance manager for tracking expenses, budgets, and accounts with full privacy.
§01

What it is

Firefly III is an open-source personal finance manager for tracking expenses, budgets, and bank accounts. It runs self-hosted with full privacy, supports multiple currencies, and provides powerful reporting. You manage transactions, set budgets, and track spending categories through a web interface.

Firefly III targets anyone who wants full control over their financial data without relying on cloud services like Mint or YNAB. It supports manual transaction entry, bank import via CSV/OFX, and automated imports through the data importer companion tool.

§02

How it saves time or tokens

Firefly III replaces spreadsheets and cloud finance apps with a structured, self-hosted solution. The budgeting system automatically tracks spending against budgets and shows remaining amounts. Recurring transaction rules handle regular bills without manual entry. Multi-currency support handles travel expenses and international accounts automatically. The reporting dashboard visualizes spending trends without manual chart creation.

§03

How to use

  1. Deploy with Docker:
docker run -d --name firefly \
  -p 8080:8080 \
  -e APP_KEY=SomeRandomStringOf32Characters!! \
  -e DB_CONNECTION=sqlite \
  -v firefly-data:/var/www/html/storage \
  fireflyiii/core:latest
  1. Open http://localhost:8080, register your account, and start adding transactions.
  1. Set up budgets, categories, and recurring rules.
  1. Import bank statements via CSV or connect the data importer.
§04

Example

# docker-compose.yml for Firefly III with PostgreSQL
services:
  firefly:
    image: fireflyiii/core:latest
    ports:
      - '8080:8080'
    environment:
      APP_KEY: change-me-32-characters-long!!!!!
      DB_CONNECTION: pgsql
      DB_HOST: postgres
      DB_DATABASE: firefly
      DB_USERNAME: firefly
      DB_PASSWORD: secret
    depends_on:
      - postgres
  postgres:
    image: postgres:15
    environment:
      POSTGRES_DB: firefly
      POSTGRES_USER: firefly
      POSTGRES_PASSWORD: secret
    volumes:
      - firefly-db:/var/lib/postgresql/data
volumes:
  firefly-db:
§05

Related on TokRepo

This tool integrates with standard development workflows and requires minimal configuration to get started. It is available as open-source software with documentation and community support through the official repository. The project follows semantic versioning for stable releases.

For teams evaluating this tool, the key advantage is reducing manual work in repetitive tasks. The automation provided by the built-in features means less custom code to maintain and fewer integration points to manage. This translates directly to lower maintenance costs and faster iteration cycles.

§06

Common pitfalls

  • The APP_KEY must be exactly 32 characters and should be generated securely; do not reuse the example key in production.
  • SQLite works for single-user setups but does not handle concurrent access well; use PostgreSQL or MySQL for reliability.
  • Bank import requires the separate Firefly III Data Importer tool; it is not built into the main application.

Frequently Asked Questions

Does Firefly III connect to my bank automatically?+

Firefly III does not connect to banks directly. The companion Data Importer tool supports Spectre and Nordigen (GoCardless) APIs for automated bank imports. You can also import CSV/OFX files exported from your bank.

Does Firefly III support multiple currencies?+

Yes. Firefly III supports any currency and handles exchange rates for transactions in foreign currencies. You set a default currency and can track accounts in different currencies simultaneously.

Is Firefly III free?+

Yes. Firefly III is open-source under the AGPL-3.0 license. There are no subscription fees. You host it yourself and own all your financial data.

Can multiple people use one Firefly III instance?+

Firefly III is designed for single-user or household use. Multiple accounts can be created, but the system does not have multi-tenant isolation. Each user sees all accounts and transactions.

Does Firefly III have a mobile app?+

There is no official mobile app, but the web interface is responsive and works on mobile browsers. Community-built mobile apps exist for iOS and Android that connect to your Firefly III instance via its API.

Citations (3)

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets