Aisle Organisation

Firefly III

Manage your personal finances in detail.

Add to my serverdocker-compose generator (French)Compare alternatives (French)Official documentation

What is it for?

Firefly III tracks all your accounts, spending and income, with budgets, categories, automatic rules and detailed reports. More complete than Actual, for people who want to analyse exactly where their money goes.

Who is it for?

People who want detailed statistics about their finances.

After installing

  1. Open the site address and create your account (the first account is administrator).
  2. To import bank statements, see the "Data Importer" in the documentation.

The docker-compose

Example behind Traefik. To adapt it (Nginx Proxy Manager, local port…) with a line-by-line explanation, use the generator (in French).

# docker-compose.yml : Firefly III
services:
  app:
    image: fireflyiii/core:latest
    container_name: firefly
    restart: unless-stopped
    depends_on:
      - db
    environment:
      APP_KEY: "${APP_KEY}"
      APP_URL: https://finances.mydomain.com
      TRUSTED_PROXIES: "**"
      DB_CONNECTION: mysql
      DB_HOST: db
      DB_PORT: "3306"
      DB_DATABASE: firefly
      DB_USERNAME: firefly
      DB_PASSWORD: "${DB_PASSWORD}"
      TZ: Europe/Paris
    volumes:
      - ./upload:/var/www/html/storage/upload
    networks:
      - traefik
      - default
    labels:
      - traefik.enable=true
      - traefik.http.routers.firefly.rule=Host(`finances.mydomain.com`)
      - traefik.http.routers.firefly.entrypoints=websecure
      - traefik.http.routers.firefly.tls.certresolver=letsencrypt
      - traefik.http.services.firefly.loadbalancer.server.port=8080
      - traefik.docker.network=traefik

  db:
    image: mariadb:11
    container_name: firefly-db
    restart: unless-stopped
    environment:
      MARIADB_RANDOM_ROOT_PASSWORD: "1"
      MARIADB_DATABASE: firefly
      MARIADB_USER: firefly
      MARIADB_PASSWORD: "${DB_PASSWORD}"
    volumes:
      - ./db:/var/lib/mysql

networks:
  traefik:
    external: true