Recherche sur le site Web

Gestion financière auto-hébergée : Configuration de Firefly III avec Docker


Les applications de budgétisation auto-hébergées offrent un contrôle total de vos données financières tout en proposant des outils puissants pour gérer vos finances personnelles. Firefly III est l'une des meilleures options open source disponibles, avec un suivi des dépenses complet, des capacités de budgétisation et des rapports perspicaces. Ce tutoriel vous guidera dans la configuration de Firefly III en utilisant Docker sur des systèmes Debian ou Ubuntu.

Dans ce tutoriel, vous allez apprendre :

  • Comment installer Docker et Docker Compose sur Debian/Ubuntu
  • Comment configurer et déployer Firefly III en utilisant Docker Compose
  • Comment sécuriser correctement votre installation de Firefly III
  • Comment accéder et commencer à utiliser votre gestionnaire de finances auto-hébergé

Exigences logicielles et conventions de ligne de commande Linux

Configurer Firefly III avec Docker sur Debian/Ubuntu

QU'EST-CE QUE FIREFLY III?
Firefly III est un gestionnaire de finances personnelles gratuit et open-source qui vous aide à suivre vos dépenses, gérer vos budgets et obtenir des informations sur vos habitudes de consommation. En l'hébergeant vous-même à l'aide de Docker, vous gardez le contrôle total sur vos données financières sensibles.

Firefly III peut être déployé rapidement en utilisant Docker Compose, qui gère la configuration à la fois de l'application et de sa base de données requise. Cette approche est recommandée pour sa simplicité et sa facilité d'entretien, vous permettant de démarrer avec un effort minimal.

Instructions étape par étape

  1. Installez Docker et Docker Compose: Tout d'abord, nous devons nous assurer que Docker est correctement installé sur votre système.

    sudo apt update
    sudo apt install docker.io docker-compose python3-setuptools -y

    Cette commande installe Docker Engine, Docker Compose et le paquet setuptools de Python qui inclut le module distutils nécessaire à Docker Compose. Après l'installation, vérifiez que Docker fonctionne correctement :

    sudo systemctl status docker

    Ajoutez votre utilisateur au groupe Docker pour exécuter des commandes Docker sans sudo :

    sudo usermod -aG docker $USER

    Déconnectez-vous et reconnectez-vous pour que les changements de groupe prennent effet, ou exécutez cette commande pour les appliquer à votre session actuelle :

    newgrp docker
  2. Créez un répertoire pour Firefly III: Créez un répertoire dédié pour stocker vos fichiers de configuration Firefly III.

    mkdir ~/firefly-iii
    cd ~/firefly-iii
  3. Utiliser un répertoire dédié aide à garder vos configurations Docker organisées et plus faciles à gérer.

  4. Téléchargez le fichier Docker Compose: Obtenez la configuration officielle de Docker Compose pour Firefly III.

    curl -O https://raw.githubusercontent.com/firefly-iii/docker/main/docker-compose.yml
  5. Ce fichier définit les services nécessaires pour Firefly III, y compris l'application elle-même et une base de données MariaDB.

  6. Téléchargez les fichiers de configuration de l'environnement : Vous aurez besoin de deux fichiers de configuration distincts.

    curl -O https://raw.githubusercontent.com/firefly-iii/firefly-iii/main/.env.example
    curl -O https://raw.githubusercontent.com/firefly-iii/docker/main/database.env

    Maintenant, renommez ces fichiers pour correspondre à ce que Docker Compose attend :

    mv .env.example .env
    mv database.env .db.env
  7. Configurer votre installation : Modifiez les fichiers d'environnement pour définir des options de configuration importantes.

    nano .env

    Changez la APP_KEY en une chaîne aléatoire de 32 caractères. Ensuite, définissez DB_PASSWORD à un mot de passe sécurisé de votre choix. Vous pouvez générer une clé aléatoire avec :

    head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32 ; echo

    Maintenant, modifiez le fichier d'environnement de la base de données :

    nano .db.env
  8. Définissez MYSQL_PASSWORD à la même valeur que celle que vous avez utilisée pour DB_PASSWORD dans le fichier précédent. Cela garantit que la base de données et l'application peuvent communiquer correctement.

  9. Démarrer les conteneurs Firefly III : Lancez l'application à l'aide de Docker Compose.

    docker-compose up -d
  10. L'option -d exécute les conteneurs en mode détaché (en arrière-plan). Docker téléchargera les images nécessaires et démarrera les conteneurs. Cela peut prendre quelques minutes en fonction de votre connexion Internet. Vous pouvez maintenant exécuter cette commande sans sudo car nous avons ajouté votre utilisateur au groupe docker.

  11. Surveillez le processus d'installation : Vous pouvez vérifier la progression et surveiller les erreurs.

    docker-compose logs -f
  12. Le drapeau -f suit la sortie des journaux. Vous verrez le processus de démarrage de la base de données et de Firefly III. Appuyez sur Ctrl+C lorsque vous souhaitez arrêter le suivi des journaux.

  13. Accédez à votre installation de Firefly III: Une fois les conteneurs en cours d'exécution, accédez à l'application via votre navigateur web.

    http://localhost

    Si vous accédez au serveur à distance, remplacez localhost par l'adresse IP de votre serveur. Vous serez guidé à travers le processus de configuration initiale pour créer votre compte administrateur.

Conclusion

Vous avez réussi à configurer Firefly III en utilisant Docker sur votre système Debian/Ubuntu. Ce gestionnaire de finances auto-hébergé vous donne maintenant un contrôle total sur vos données financières tout en fournissant des outils puissants pour suivre les dépenses, gérer les budgets et acquérir des connaissances sur vos habitudes de consommation. Pour profiter au maximum de votre nouvelle installation, prenez le temps d'explorer les différentes fonctionnalités, y compris la configuration des comptes, la création de budgets et les transactions récurrentes. Des sauvegardes régulières de vos volumes Docker sont recommandées pour garantir la sécurité de vos données financières.

Dépannage

Problèmes d'installation courants

Erreur de module Python : Si vous rencontrez l'erreur ModuleNotFoundError: No module named 'distutils', cela signifie que votre système manque de paquets Python nécessaires pour Docker Compose. Vous pouvez le corriger en installant Python setuptools :

sudo apt install python3-setuptools -y

Pour Ubuntu 22.04+ ou Debian 11+, vous devrez peut-être également installer python3-distutils-extra. Après l'installation, essayez à nouveau les commandes docker-compose.

Syntax de commande Docker : Les nouvelles installations de Docker peuvent utiliser docker compose (avec un espace) tandis que les versions plus anciennes utilisent docker-compose (avec un trait d'union). Essayez les deux formats si l'un ne fonctionne pas sur votre système.

Erreurs de permission refusée : Si vous rencontrez des problèmes de permission lors de l'exécution des commandes Docker, assurez-vous de vous être déconnecté et reconnecté après avoir ajouté votre utilisateur au groupe docker. Sinon, vous pouvez utiliser sudo avec les commandes docker comme solution de contournement :

sudo docker-compose up -d

Erreurs de conflit de port

Si vous rencontrez une erreur comme listen tcp4 0.0.0.0:80: bind: address already in use, cela signifie que le port 80 est déjà utilisé par une autre application sur votre système. Vous avez deux options pour résoudre ce problème :

Option 1 : Arrêtez le service conflit

Vous pouvez identifier et arrêter le service utilisant le port 80 :

sudo lsof -i :80
sudo systemctl stop apache2    # If Apache is using the port
sudo systemctl stop nginx      # If Nginx is using the port

Option 2 : Utilisez un port différent pour Firefly III (Recommandé)

Modifiez votre fichier docker-compose.yml pour utiliser un port différent :

nano docker-compose.yml

Trouvez la section des ports pour le service d'application et changez-le de 80:8080 à un autre port, comme 8000:8080 :

  app:
    # ...
    ports:
      - "8000:8080"  # Changed from 80:8080

Sauvegardez le fichier et redémarrez les conteneurs :

docker-compose up -d

Vous pouvez maintenant accéder à Firefly III à http://localhost:8000 ou http://votre-ip-de-serveur:8000.

Utiliser PostgreSQL au lieu de MariaDB

Si vous utilisez du matériel ARM (comme un Raspberry Pi), ou si vous préférez simplement PostgreSQL, vous pouvez passer de MariaDB en modifiant vos fichiers de configuration :

Dans le fichier .env, changez :

DB_CONNECTION=pgsql
DB_HOST=db
DB_PORT=5432

Dans le fichier .db.env, renommez toutes les variables MYSQL_* en POSTGRES_* et supprimez MYSQL_RANDOM_ROOT_PASSWORD.

Modifiez également votre fichier docker-compose.yml pour utiliser PostgreSQL au lieu de MariaDB et mettez à jour le chemin du volume à /var/lib/postgresql/data.

Questions Fréquemment Posées (FAQ)

  1. Comment mettre à jour Firefly III lorsqu'une nouvelle version est publiée ?

    Pour mettre à jour Firefly III, naviguez vers votre répertoire Firefly III et exécutez : docker-compose pull pour télécharger la dernière image, suivi de docker-compose up -d pour redémarrer les conteneurs avec la version mise à jour. Vos données seront préservées puisqu'elles sont stockées dans des volumes Docker.

  2. Comment puis-je sauvegarder mes données Firefly III ?

    La meilleure façon de sauvegarder votre installation de Firefly III est de sauvegarder les volumes Docker où vos données sont stockées. Utilisez docker volume ls pour identifier les volumes, puis docker volume inspect pour trouver leur emplacement. Vous pouvez également utiliser la fonction d'exportation intégrée de Firefly III pour exporter vos dossiers financiers au format CSV.

  3. Est-ce que Firefly III est sécurisé pour gérer mes données financières ?

    Firefly III est conçu en tenant compte de la sécurité, mais la sécurité globale dépend de la configuration de votre serveur. Pour une sécurité maximale : utilisez HTTPS (avec un proxy inversé comme Nginx), gardez votre serveur à jour, utilisez des mots de passe forts et envisagez de restreindre l'accès à votre serveur avec un pare-feu. Comme il est auto-hébergé, vos données financières ne quittent jamais votre propre infrastructure.

  4. Comment puis-je importer des données financières existantes dans Firefly III ?

    Firefly III offre plusieurs options d'importation. La plus simple consiste à utiliser l'outil d'importation de données, qui est un conteneur séparé pouvant importer des fichiers CSV provenant de banques et d'institutions financières. Pour le configurer, suivez la documentation sur le site officiel de Firefly III. Vous pouvez également importer manuellement des transactions via l'interface Web ou utiliser l'API pour une intégration plus avancée.

  5. Puis-je accéder à Firefly III depuis mes appareils mobiles ?

    Oui, Firefly III a une interface web réactive qui fonctionne bien sur les appareils mobiles. Il existe également des applications mobiles tierces comme "Firefly III Mobile" pour Android qui se connectent à votre instance auto-hébergée. Pour activer l'accès mobile, vous devrez rendre votre installation de Firefly III accessible sur Internet de manière sécurisée, de préférence en utilisant un proxy inverse avec HTTPS.

Articles connexes: