Files
wiki/Catalogue-Self-Hosted/apps/app-monetr.md
T
2026-06-09 18:40:21 +02:00

6.6 KiB


title: Monetr created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, budgeting, go, golang, finance, suivi, budget] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=budgeting, https://github.com/monetr/monetr, https://monetr.app/]

Monetr 🪙

Application de suivi de finances personnelles écrite en Go — performante, légère, binaire unique. Approche pragmatique de l'envelope budgeting avec une UX moderne et un backend solide.

Métadonnée Valeur
Site web https://monetr.app/
GitHub https://github.com/monetr/monetr
License AGPL-3.0
Langage Go (backend), TypeScript/React (frontend)
Étoiles 46
Dernière MAJ 2026-04-30
Catégorie cat-budgeting

Description

Monetr est une application de suivi de finances personnelles relativement jeune mais techniquement solide, écrite en Go pour le backend (avec React/TypeScript pour le frontend). Le projet se positionne sur l'envelope budgeting (méthode enveloppe) avec une approche moderne, multi-utilisateurs, et un focus sur la performance (Go = binaire léger, démarrage rapide, faible consommation RAM).

Les fonctionnalités principales : comptes multiples (chèque, épargne, cartes, crédit, prêt), transactions avec catégorisation, enveloppes par catégorie avec allocation mensuelle, soldes reportés d'un mois à l'autre, règles d'auto-catégorisation, revenus récurrents (salaires, freelances), dépenses récurrentes (abonnements, factures), objectifs d'épargne (sinking funds) avec progression, tableau de bord avec soldes par compte/enveloppe, graphiques (cash flow, répartition), import CSV depuis les banques, API REST documentée, multi-utilisateurs natif (un serveur peut héberger plusieurs budgets familiaux).

L'architecture est classique et efficace : Go backend (probablement avec chi/gin + sqlx/sqlc), PostgreSQL comme base, React/TypeScript frontend. L'avantage Go : binaire unique autoportant (~20 Mo), démarrage en <1s, consommation mémoire faible (~50-100 Mo pour un usage normal), idéal pour un Raspberry Pi ou un petit VPS. L'inconvénient : projet jeune (~46), moins de retours utilisateurs que Firefly ou Actual — à surveiller.

Monetr est particulièrement adapté aux familles ou colocations grâce au multi-utilisateurs natif, et aux utilisateurs qui veulent un binaire Go léger plutôt qu'une stack JS/Node complète.

Installation

Via Docker (recommandé)

# docker-compose.yml
services:
  monetr:
    image: ghcr.io/monetr/monetr:latest
    container_name: monetr
    restart: unless-stopped
    depends_on:
      db:
        condition: service_healthy
    ports:
      - "8080:8080"
    environment:
      - MONETR_DB_HOST=db
      - MONETR_DB_PORT=5432
      - MONETR_DB_NAME=monetr
      - MONETR_DB_USER=monetr
      - MONETR_DB_PASSWORD=***      - MONETR_LISTEN=0.0.0.0:8080
      - MONETR_PUBLIC_URL=https://budget.example.com
      - MONETR_SECURE_COOKIES=true
    healthcheck:
      test: ["CMD", "wget", "--spider", "-q", "http://localhost:8080/health"]
      interval: 30s
      timeout: 10s
      retries: 3

  db:
    image: postgres:16-alpine
    container_name: monetr-db
    restart: unless-stopped
    environment:
      - POSTGRES_DB=monetr
      - POSTGRES_USER=monetr
      - POSTGRES_PASSWORD=***    volumes:
      - monetr-db:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U monetr -d monetr"]
      interval: 10s
      timeout: 5s
      retries: 10

volumes:
  monetr-db:

⚠️ Vérifier le tag exact sur le GHCR et la nomenclature des variables d'environnement (elles peuvent avoir changé).

Installation manuelle (Go)

  1. Pré-requis : Go 1.22+, Node.js 20+ (frontend build), PostgreSQL 14+.
  2. git clone https://github.com/monetr/monetr.git && cd monetr
  3. Build backend : go build -o monetr ./cmd/monetr
  4. Build frontend : cd web && npm install && npm run build && cd ..
  5. Configurer config.yaml ou variables d'environnement (DB, secret, URL).
  6. Migrations : ./monetr migrate up (selon la version).
  7. ./monetr serve (production).
  8. Reverse proxy Nginx/Caddy en front.

Configuration

  • Premier lancement : créer le compte owner via l'UI d'inscription.
  • MONETR_SECURE_COOKIES=true : obligatoire en HTTPS.
  • MONETR_PUBLIC_URL : URL externe utilisée pour les liens/OAuth.
  • Comptes : créer un compte par produit bancaire.
  • Enveloppes : allocation mensuelle, le solde non utilisé roule.
  • Récurrences : configurer salaires, abonnements.
  • HTTPS : obligatoire via reverse proxy.
  • Backups : pg_dump quotidien + copie du volume (uploads éventuels).

Alternatives

Open Source

Propriétaires

  • YNAB — référence du zero-based (~14$/mois)
  • Monarch Money — UX premium (~99$/an)
  • Rocket Money — focus souscription
  • PocketGuard — mobile-first US

Sécurité

  • HTTPS obligatoire via reverse proxy.
  • MONETR_DB_PASSWORD : mot de passe fort, généré aléatoirement, user PostgreSQL non-superutilisateur.
  • Cookies sécurisés : MONETR_SECURE_COOKIES=true en production HTTPS.
  • JWT/Sessions : tokens stockés côté serveur, expiration régulière.
  • 2FA : à confirmer selon la roadmap, sinon Authelia/Authentik en front.
  • Backups 3-2-1 : pg_dump + volumes, tester la restauration.
  • Updates Go : Go est rétrocompatible, suivre la branche stable.
  • CSP et headers : via reverse proxy (Caddy/Traefik).
  • Logs : logs structurés Go (slog, zap), monitorer via Grafana Loki ou équivalent.

Ressources

Pages Liées