Favicon of Firefly III

Firefly III

Manage your money with a double-entry system. Import data from any source, automate entries with rules, and visualize spending with detailed reports.

Gain a clear understanding of your financial situation with this free, open-source personal finance manager. It is designed to be self-hosted, giving you complete control over your sensitive financial data. The core of the system is a double-entry bookkeeping engine, which allows you to accurately enter and manage all your transactions, with full support for multiple currencies.

Getting your data into the system is straightforward thanks to a dedicated import tool. You can also create powerful automations with an advanced rule engine. Use it to automatically categorize transactions or clean up messy data from your bank's CSV files.

Organize your finances exactly how you want:

  • Budgets: Set spending limits, even across different currencies.
  • Categories: Group similar expenses to see where your money goes.
  • Tags: Add flexible labels for more granular tracking.

Dive deep into your spending habits with informative reports that visualize your income and expenses by week, month, or year. For developers and power users, a comprehensive JSON REST API is available to integrate with other applications.

Directory Structure

firefly-iii
firefly_db
firefly_upload
.env
docker-compose.yml

docker-compose.yml

services:
  app:
    image: fireflyiii/core:latest
    container_name: firefly_iii_core
    restart: always
    volumes:
      - ./firefly_upload:/var/www/html/storage/upload
    ports:
      - 8080:8080
    environment:
      - DB_CONNECTION=mysql
      - DB_HOST=db
      - DB_PORT=3306
      - DB_DATABASE=firefly
      - DB_USERNAME=${DB_USERNAME}
      - DB_PASSWORD=${DB_PASSWORD}
      - APP_KEY=${APP_KEY}
      - TZ=UTC
    depends_on:
      - db

  db:
    image: mariadb:lts
    container_name: firefly_iii_db
    restart: always
    environment:
      - MYSQL_RANDOM_ROOT_PASSWORD=yes
      - MYSQL_USER=${DB_USERNAME}
      - MYSQL_PASSWORD=${DB_PASSWORD}
      - MYSQL_DATABASE=firefly
    volumes:
      - ./firefly_db:/var/lib/mysql

.env

# Firefly III Application Key (Must be exactly 32 characters)
APP_KEY=SomeRandomStringOf32CharsExactly

# Database Credentials
DB_USERNAME=firefly
DB_PASSWORD=your_super_secret_password
Categories:

Share:

Ad
Favicon

 

  
 

Similar to Firefly III

Favicon

 

  
  
Favicon

 

  
  
Favicon