Rayon Organisation

Firefly III

Gérez vos finances personnelles en détail.

Ajouter à mon serveurGénérer le docker-composeDocumentation officielle

À quoi ça sert ?

Firefly III suit tous vos comptes, dépenses et revenus, avec budgets, catégories, règles automatiques et rapports détaillés. Plus complet qu'Actual, pour ceux qui veulent analyser précisément où part leur argent.

Pour qui ?

Ceux qui veulent des statistiques détaillées sur leurs finances.

Après l'installation

  1. Ouvrez l’adresse du site et créez votre compte (le premier compte est administrateur).
  2. Pour importer vos relevés bancaires, voir le « Data Importer » dans la documentation.

Le docker-compose

Exemple derrière Traefik, avec une explication sur chaque ligne. Pour l'adapter à votre cas (Nginx Proxy Manager, port local…), utilisez le générateur.

# docker-compose.yml : Firefly III
# Ce fichier décrit les « conteneurs » à lancer : chaque conteneur est une petite
# boîte isolée qui contient un programme. Lancez-le avec : docker compose up -d
services:
  # Conteneur principal : l'application Firefly III
  app:
    # Le programme à télécharger (l'« image »), avec sa version
    image: fireflyiii/core:latest
    container_name: firefly
    # Redémarre tout seul après une panne ou un redémarrage du serveur
    restart: unless-stopped
    # Démarre ces conteneurs avant celui-ci
    depends_on:
      - db
    # Réglages de l'application. Les valeurs ${...} viennent du fichier .env
    environment:
      APP_KEY: "${APP_KEY}"
      APP_URL: https://finances.mondomaine.fr
      TRUSTED_PROXIES: "**"
      DB_CONNECTION: mysql
      DB_HOST: db
      DB_PORT: "3306"
      DB_DATABASE: firefly
      DB_USERNAME: firefly
      DB_PASSWORD: "${DB_PASSWORD}"
      TZ: Europe/Paris
    # Dossiers du serveur partagés avec le conteneur (dossier_serveur:dossier_conteneur).
    # Vos données sont stockées ici : ce sont ces dossiers qu'il faut sauvegarder.
    volumes:
      - ./upload:/var/www/html/storage/upload
    # Réseau partagé avec le reverse proxy pour qu'il puisse joindre l'application
    networks:
      - traefik
      - default
    # Indique à Traefik de publier l'application sur https://finances.mondomaine.fr avec un certificat HTTPS
    labels:
      - traefik.enable=true
      - traefik.http.routers.firefly.rule=Host(`finances.mondomaine.fr`)
      - 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

  # Conteneur annexe « db » (utilisé par l'application, pas accessible de l'extérieur)
  db:
    # Le programme à télécharger (l'« image »), avec sa version
    image: mariadb:11
    container_name: firefly-db
    # Redémarre tout seul après une panne ou un redémarrage du serveur
    restart: unless-stopped
    # Réglages de l'application. Les valeurs ${...} viennent du fichier .env
    environment:
      MARIADB_RANDOM_ROOT_PASSWORD: "1"
      MARIADB_DATABASE: firefly
      MARIADB_USER: firefly
      MARIADB_PASSWORD: "${DB_PASSWORD}"
    # Dossiers du serveur partagés avec le conteneur (dossier_serveur:dossier_conteneur).
    # Vos données sont stockées ici : ce sont ces dossiers qu'il faut sauvegarder.
    volumes:
      - ./db:/var/lib/mysql
# Le réseau du reverse proxy existe déjà : on s'y raccroche

networks:
  traefik:
    external: true