Application de gestion de budget "Offline-First" hébergée via PocketBase, conçue pour Docker et Home Assistant.
- Multi-Comptes: Gestion de plusieurs comptes bancaires.
- Budget Prévisionnel: Vue "Mois Glissant" basée sur votre jour de paie (ex: du 20 au 19).
- Récurrences Intelligentes: Projection automatique des frais fixes sur 1 an.
- Inbox Processor: Importation automatique depuis des notifications via Home Assistant.
- 100% Local: Vos données restent chez vous (PocketBase).
# Installation des dépendances
flutter pub get
# Lancer en mode debug (Chrome)
flutter run -d chrome-
Compiler l'application (sur votre PC) :
./release.ps1 -Version "1.0.1" -Message "Nouvelle version"
-
Sur votre Synology :
- Installez Container Manager (ou Docker).
- Créez un dossier
budget-appvia File Station. - Copiez-y tous les fichiers du projet (notamment
Dockerfile,docker-compose.yml,run.shet le dossierpb_public). - Architecture : Le
Dockerfileest par défaut enlinux_amd64(Intel/AMD). Si vous avez un Synology ARM (ex: DS220j), modifiez la ligneARG PB_ARCH=linux_arm64dans le Dockerfile.
-
Lancer via Container Manager :
-
Allez dans Projet > Créer.
-
Nom:
budget-app. -
Chemin: Sélectionnez votre dossier
budget-app. -
Source: "Utiliser docker-compose.yml existant".
-
Suivant > Suivant > Terminé.
-
Suivant > Suivant > Terminé.
-
L'application sera accessible sur http://IP_NAS:8097 (si vous avez utilisé le port 8097).
Interface Admin PocketBase : http://IP_NAS:8097/_/
- Crash Loop / Redémarrage en boucle :
- Vérifiez que vous avez copié le dossier
pb_publiccomplet. - Le problème vient souvent des retours à la ligne Windows (CRLF) dans
run.sh. Le Dockerfile utilisedos2unixpour régler ça automatiquement, assurez-vous de bien reconstruire l'image. - Vérifiez l'architecture (AMD64 vs ARM64) dans le Dockerfile.
- Vérifiez que vous avez copié le dossier
Pour installer en tant qu'Add-on Home Assistant :
- Assurez-vous que le projet est sur un dépôt GitHub accessible.
- Dans Home Assistant > Modules complémentaires > Boutique > Ajouter un dépôt (URL de votre Git).
- Installez "Budget Assistant".
- Le fichier
config.yamlà la racine définit la version. Le scriptrelease.ps1met à jour cette version automatiquement.
local_dev_setup.ps1: Initialisation rapide pour le dev local.release.ps1: Workflow complet de release (Build Web -> Update Version -> Git Commit -> Git Tag).
- Frontend: Flutter Web (Clean Architecture, Riverpod, GoRouter).
- Backend: PocketBase (Binaire Go inclus dans l'image Docker).
- Base de données: SQLite (géré par PocketBase).