Initial vault setup
This commit is contained in:
@@ -0,0 +1,165 @@
|
||||
---
|
||||
title: ezBookkeeping
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, accounting, budget, personnel, multi-devises, go, finance]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Accounting, https://github.com/mayswind/ezbookkeeping, https://ezbookkeeping.mayswind.net/]
|
||||
---
|
||||
|
||||
# ezBookkeeping 📒
|
||||
|
||||
> Application web de comptabilité personnelle et familiale, légère et rapide, écrite en Go — multi-devises, multi-comptes, mobile-friendly, conçue pour le suivi quotidien.
|
||||
|
||||
| Métadonnée | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | https://ezbookkeeping.mayswind.net/ |
|
||||
| **GitHub** | https://github.com/mayswind/ezBookkeeping |
|
||||
| **License** | AGPL-3.0 |
|
||||
| **Langage principal** | Go (backend) + Vue 3 (frontend) |
|
||||
| **Étoiles GitHub** | ⭐559 |
|
||||
| **Dernière MAJ** | 2026-05-19 |
|
||||
| **Catégorie** | [[cat-accounting]] |
|
||||
|
||||
## Description
|
||||
|
||||
ezBookkeeping est une **application de comptabilité personnelle** écrite principalement en **Go** (backend) avec un frontend **Vue 3 / TypeScript**. C'est un projet mature et léger développé par MaysWind — un développeur chinois reconnu pour ses contributions open source (notamment Aria2, l'outil de téléchargement). L'objectif est de fournir un **logiciel de budget personnel rapide, simple, et multi-devises**, sans la complexité d'un Firefly III ou d'un GnuCash.
|
||||
|
||||
Les fonctionnalités de base couvrent l'essentiel du **suivi budgétaire personnel** : **comptes multiples** (courant, épargne, carte de crédit, espèces, crypto, etc.) avec soldes calculés en temps réel, **catégorisation des transactions** (revenus, dépenses, virements), **sous-catégories hiérarchiques**, **étiquettes** (tags) pour des analyses transversales, **transactions récurrentes** (loyer, salaires, abonnements), **règles de catégorisation automatique** (regex, plage de dates), **tableaux de bord** avec graphiques, et **export CSV / Excel**.
|
||||
|
||||
Le **support multi-devises** est particulièrement soigné pour un outil personnel : on peut avoir des comptes en EUR, USD, JPY, CNY, etc., et l'app convertit automatiquement dans la devise d'affichage via des **taux de change configurables** (saisie manuelle ou import depuis la BCE, la Banque du Canada, etc.). C'est un excellent choix pour les **expatriés, freelances multi-devises, ou familles** qui veulent suivre leur argent sans passer par un outil pro.
|
||||
|
||||
L'interface est **responsive et mobile-friendly** (PWA installable), ce qui la rend plus accessible au quotidien qu'un Firefly III. Le binaire Go unique consomme très peu de RAM (~30 Mo), ce qui permet de la faire tourner sur un Raspberry Pi ou un NAS.
|
||||
|
||||
## Installation
|
||||
|
||||
### Via Docker (recommandé)
|
||||
|
||||
```yaml
|
||||
# docker-compose.yml
|
||||
services:
|
||||
ezbookkeeping:
|
||||
image: mayswind/ezbookkeeping:latest
|
||||
container_name: ezbookkeeping
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
ports:
|
||||
- "8080:8080"
|
||||
environment:
|
||||
- EZBOOKKEEPING_SERVER_LISTEN_HOST=0.0.0.0
|
||||
- EZBOOKKEEPING_SERVER_LISTEN_PORT=8080
|
||||
- EZBOOKKEEPING_DATABASE_TYPE=sqlite3 # ou mysql/postgres
|
||||
- EZBOOKKEEPING_DATABASE_SQLITE3_PATH=/data/ezbookkeeping.db
|
||||
- EZBOOKKEEPING_LOG_LEVEL=info
|
||||
- EZBOOKKEEPING_ENABLE_REGISTER=true # désactiver après création du 1er compte
|
||||
volumes:
|
||||
- ezbookkeeping-data:/data
|
||||
- ezbookkeeping-backups:/backups
|
||||
|
||||
# Optionnel : MySQL pour de meilleures performances en multi-utilisateurs
|
||||
# db:
|
||||
# image: mysql:8.0
|
||||
# container_name: ezbookkeeping-db
|
||||
# restart: unless-stopped
|
||||
# environment:
|
||||
# - MYSQL_DATABASE=ezbookkeeping
|
||||
# - MYSQL_USER=ezbookkeeping
|
||||
# - MYSQL_PASSWORD=Change...ql
|
||||
# - MYSQL_RANDOM_ROOT_PASSWORD=Change...ot
|
||||
# volumes:
|
||||
# - ezbookkeeping-db:/var/lib/mysql
|
||||
# healthcheck:
|
||||
# test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
|
||||
# interval: 10s
|
||||
# timeout: 5s
|
||||
# retries: 10
|
||||
|
||||
volumes:
|
||||
ezbookkeeping-data:
|
||||
ezbookkeeping-backups:
|
||||
# ezbookkeeping-db:
|
||||
```
|
||||
|
||||
### Installation manuelle (binaire unique)
|
||||
|
||||
1. Télécharger le binaire depuis la page des releases : https://github.com/mayswind/ezbookkeeping/releases (Linux/amd64, ARM64 pour RPi, macOS, Windows).
|
||||
2. `chmod +x ezbookkeeping` puis créer `/etc/ezbookkeeping/config.ini`.
|
||||
3. Lancer en tant que service systemd :
|
||||
|
||||
```ini
|
||||
# /etc/systemd/system/ezbookkeeping.service
|
||||
[Unit]
|
||||
Description=ezBookkeeping personal accounting
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=ezbookkeeping
|
||||
ExecStart=/usr/local/bin/ezbookkeeping --config /etc/ezbookkeeping/config.ini
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
4. `systemctl enable --now ezbookkeeping`, puis ouvrir `http://localhost:8080`.
|
||||
|
||||
## Configuration
|
||||
|
||||
- **Premier lancement** : créer le compte utilisateur (le premier est admin), puis **désactiver `EZBOOKKEEPING_ENABLE_REGISTER`** dans l'environnement pour bloquer les inscriptions sauvages.
|
||||
- **Devise principale** : choisir la devise d'affichage et la devise de chaque compte (multi-devises par compte).
|
||||
- **Taux de change** : saisie manuelle ou import via API (par défaut les taux ne sont pas auto-fetchés — option à activer si on le souhaite).
|
||||
- **Catégories** : créer son arborescence (revenus / dépenses / virements), icônes colorées, sous-catégories.
|
||||
- **Comptes** : solde initial, devise, type (épargne, courant, crédit, cash, crypto, investissement, autre), archivage.
|
||||
- **Règles automatiques** : créer des règles basées sur des regex sur le libellé (ex : tout paiement `AMAZON.*` → catégorie `Achats / En ligne`).
|
||||
- **Sauvegardes** : ezBookkeeping a un mécanisme intégré d'export/import en SQLite — sauvegarder régulièrement le volume `ezbookkeeping-data` (ou automatiser avec BorgBackup).
|
||||
- **Mobile** : ajouter aux favoris du téléphone en mode PWA, l'app fonctionne hors-ligne.
|
||||
|
||||
## Alternatives
|
||||
|
||||
### Open source
|
||||
- [[app-firefly-iii]] — référence de la gestion budget open source, plus puissant mais plus complexe et plus gourmand.
|
||||
- [[app-actual-budget]] — budget envelope-based, sync bancaire, très moderne (Electron).
|
||||
- [[app-akaunting]] — comptabilité entrepreneur, pas vraiment personnel.
|
||||
- [[app-rotki]] — spécialisé crypto, pas budget généraliste.
|
||||
- **GnuCash** — comptabilité double-partie desktop, courbe d'apprentissage raide.
|
||||
- **Skrooge** — KDE, gestion budget personnel avec import OFX.
|
||||
- **ihatemoney** — partage de dépenses entre amis, plus limité.
|
||||
|
||||
### Propriétaires
|
||||
- **Mint** / **Credit Karma** (US) — fermés/migrés, freemium cloud.
|
||||
- **YNAB (You Need a Budget)** — référence budget envelope, abonnement.
|
||||
- **Mint Mobile** — idem.
|
||||
- **Bankin'** — français, agrégateur bancaire avec budget, freemium.
|
||||
- **Linxo** — français, agrégateur + budget, freemium.
|
||||
|
||||
## Sécurité
|
||||
|
||||
- **HTTPS obligatoire** : exposer l'app via un reverse proxy (Traefik, Caddy) avec Let's Encrypt — l'app gère des soldes et transactions financières.
|
||||
- **Désactiver les inscriptions** : positionner `EZBOOKKEEPING_ENABLE_REGISTER=false` après création du compte admin.
|
||||
- **2FA** : TOTP supporté — l'activer pour le compte admin.
|
||||
- **Sauvegardes chiffrées** : le volume `ezbookkeeping-data` contient toute la base SQLite — sauvegarder en double (BorgBackup / Restic chiffré) sur un support externe.
|
||||
- **Permissions fichiers** : si installé en bare-metal, isoler l'utilisateur système `ezbookkeeping` (pas de shell, dossier dédié).
|
||||
- **Mises à jour** : suivre les releases — le projet a un cycle de release régulier avec correctifs de sécurité.
|
||||
- **Journalisation** : ne pas logguer en mode `debug` en production (volumes de logs, fuite potentielle).
|
||||
|
||||
## Ressources
|
||||
- Site officiel / démo : https://ezbookkeeping.mayswind.net/
|
||||
- Documentation : https://github.com/mayswind/ezbookkeeping/wiki
|
||||
- Dépôt GitHub : https://github.com/mayswind/ezbookkeeping
|
||||
- Releases : https://github.com/mayswind/ezbookkeeping/releases
|
||||
- Captures / changelog : https://github.com/mayswind/ezbookkeeping/blob/master/CHANGELOG.md
|
||||
- selfh.st : https://selfh.st/apps/?tag=Accounting
|
||||
|
||||
## Pages Liées
|
||||
- [[cat-accounting]] (catégorie parente)
|
||||
- [[app-firefly-iii]] — gestion budget plus riche
|
||||
- [[app-actual-budget]] — budget envelope moderne
|
||||
- [[app-rotki]] — suivi crypto
|
||||
- [[recettes-docker-compose]] — templates de déploiement
|
||||
- [[securisation-home-lab]] — bonnes pratiques HTTPS / sauvegardes
|
||||
Reference in New Issue
Block a user