====== Kresus ======
===== Kesako ? =====
> Kresus est un gestionnaire de finances personnelles gratuit et libre qui tourne sur votre serveur.
Voilà en quelques mots de quoi il s'agit, pour plus d'informations, visitez le site officiel: https://kresus.org/
On y trouve plein de fonctionnalités et des tutoriels.
Alors pourquoi ajouter ce tutoriel s'il en existe déjà d'autres ? Et bien, car:
- mon cas d'utilisation n'est pas celui prévu à la base (je ne récupère aucune donnée automatiquement de ma banque et le compte que j'administre dans l'outil est un compte commun avec potentiellement 4 à 8 accès différents).
- je propose quelques astuces et retours d'expérience pour remercier les contributeurs de ce projet et lui souhaiter longue vie.
===== Tester localement avec le minimum =====
Pour tester localement l'application avec le minimum syndical (application et base données), je me suis servi de ce petit script et docker compose sous mon laptop en Debian 12.
# création du répertoire de travail
mkdir -p ~/workspace/sandbox/kresus
# on y va
cd ~/workspace/sandbox/kresus
# création du fichier compose.yaml
cat << EOF > compose.yaml
services:
db:
image: "postgres:16.11"
restart: unless-stopped
env_file:
- path: ./.env
required: true
volumes:
- postgres_data:/var/lib/postgresql/data/
kresus:
image: "bnjbvr/kresus:0.23.5"
restart: unless-stopped
ports:
- 9876:9876
depends_on:
- db
env_file:
- path: ./.env
required: true
volumes:
postgres_data:
EOF
Alors quelques commentaires sur mes choix (différences avec le [[https://framagit.org/kresusapp/kresus/-/blob/main/support/docker-compose/docker-compose.yml?ref_type=heads|compose officiel de la documentation]]):
- Je n'ai pas repris l'utilisation d'apprise pour les notifications. Je n'en ai pas besoin.
- J'ai supprimé la partie proxy via traefik car je possède déjà une stack équivalente
- Je n'ai un volume persistent que pour la base de données et pas pour kresus car je n'importe rien via woob.
- Je passe toutes les variables d'environmment via un fichier d'env obligatoire comme ci-dessous.
cat << EOF > .env
POSTGRES_USER=kresus
POSTGRES_PASSWORD=OeSoh9Dob6phahWa
POSTGRES_DB=kresus
LOCAL_USER_ID=1000
KRESUS_DB_TYPE=postgres
KRESUS_DB_HOST=db
KRESUS_DB_PORT=5432
KRESUS_DB_USERNAME=kresus
KRESUS_DB_PASSWORD=OeSoh9Dob6phahWa
KRESUS_APPRISE_API_BASE_URL=http://apprise:8000
KRESUS_EMAIL_TRANSPORT=smtp
KRESUS_EMAIL_FROM=kresus@domain.com
KRESUS_EMAIL_HOST=localhost
KRESUS_EMAIL_PORT=25
KRESUS_EMAIL_USER=kresus
KRESUS_EMAIL_PASSWORD=kresus
EOF
Ensuite on peut lancer la stack et tester l'application localement
sudo docker compose up -d
firefox http://localhost:9876
===== Mon retour d'expérience =====
- Ça fait le boulot et ça me permet d'héberger mes données où je le souhaite et du coup :-) :-)
- Ça a l'air d'être bien ergonomique sur téléphones intelligents et c'est très apprécié.
- Mes principales attentes fonctionnelles étaient de pouvoir:
- catégoriser les entrées/sorties d'argent
- visualiser le solde du compte dans le temps
- rechercher des dépenses comme je le souhaite avec des différents critères de sélection (dates, libellés, catégories...)
- Et de ce point de vue tout est là donc c'est pourquoi j'ai mis cette application en production. 8-)
- Les points à améliorer que je suggère:
- Pouvoir créer des comptes comme on le souhaite. Par défaut l'application crée 3 comptes on ne peut que les supprimer ou les renommer. Assez bizarre 8-o
- Pouvoir gérer un budget par an plutôt que par mois.
- Faire des vues personnalisées en mode lecture seule.
- Dernière et non des moindres: lorsqu'on définit une opération récurrente, alors proposer de les pré-créer pour l'année en cours pour que cela impacte le solde prévisionnel.
Merci en tout cas aux développeurs pour la belle initiative.