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

6.4 KiB


title: Sure created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, budgeting, finance, elixir, phoenix, liveview, moderne] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=budgeting, https://github.com/suretec/sure, https://www.sure.am/]

Sure 🐢

Plateforme de finance personnelle moderne écrite en Elixir + Phoenix LiveView, conçue pour être rapide, temps réel, et extensible. Concurrente directe d'Actual Budget et Firefly III avec une approche "developer-first".

Métadonnée Valeur
Site web https://www.sure.am/
GitHub https://github.com/suretec/sure
License AGPL-3.0
Langage Elixir (Phoenix LiveView)
Étoiles 137
Dernière MAJ 2026-04-22
Catégorie cat-budgeting

Description

Sure (à l'origine "Sure Finance" puis renommé) est une application web de gestion de finances personnelles qui se veut moderne, performante et ouverte. Construite sur la stack Elixir/Phoenix (le langage créé par José Valim, ex-core Rails), elle bénéficie de la concurrence massive d'Erlang/OTP et de la réactivité temps réel de Phoenix LiveView (pas de SPA à recharger — le serveur pousse les mises à jour via WebSocket).

Les fonctionnalités principales incluent : comptes multiples (chèque, épargne, cartes, crédit, crypto, prêts), transactions récurrentes et ponctuelles, catégories et tags, budgets par catégorie avec suivi mensuel, objectifs d'épargne avec progression, règles de catégorisation automatique, import CSV/OFX, rapports (revenus/dépenses, cash flow, balance), multi-devises avec taux de change, partage de budgets entre utilisateurs (couples, familles), API JSON complète (compatible avec une éventuelle migration depuis/vers Actual ou Firefly).

La stack Elixir est un choix intéressant : Sure consomme peu de RAM par utilisateur (BEAM VM est optimisée pour des millions de processus légers), démarre en quelques secondes, et bénéficie du tooling solide de Phoenix (LiveView, Ecto pour la DB, Channel pour le temps réel). L'inconvénient : moins de dev/ops familiers avec Elixir que PHP/Python/JS, et les images Docker nécessitent souvent 200-400 Mo de base.

Sure se positionne comme une alternative moderne à Firefly III, avec un focus sur l'UX temps réel et l'extensibilité (architecture en services). Le projet est moins mature que ses concurrents directs (Actual, Firefly) mais techniquement très prometteur.

Installation

Via Docker (recommandé)

# docker-compose.yml
services:
  sure:
    image: ghcr.io/suretec/sure:latest
    container_name: sure
    restart: unless-stopped
    depends_on:
      db:
        condition: service_healthy
    ports:
      - "4000:4000"
    environment:
      - SECRET_KEY_BASE=Change...et
      - DATABASE_URL=postgresql://sure:Change...@db:5432/sure
      - HOST=0.0.0.0
      - PORT=4000
      - PHX_HOST=https://budget.example.com
    volumes:
      - sure-data:/app/data

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

volumes:
  sure-db:
  sure-data:

⚠️ Vérifier l'image exacte sur le GHCR (le tag latest peut évoluer).

Installation manuelle (Elixir)

  1. Pré-requis : Elixir 1.15+, OTP 26+, Node.js 18+ (assets), PostgreSQL 14+, build-essential.
  2. git clone https://github.com/suretec/sure.git && cd sure
  3. mix deps.get
  4. cd assets && npm install && cd ..
  5. Configurer config/runtime.exs ou variables d'environnement (DATABASE_URL, SECRET_KEY_BASE).
  6. mix ecto.setup (migrations + seed).
  7. mix phx.server (dev) ou MIX_ENV=prod mix release (build release autoportant).
  8. Reverse proxy Nginx/Caddy/Traefik en front.

Configuration

  • Premier lancement : créer le compte owner via l'UI d'inscription.
  • Devise principale : configurée à l'init, modifiable ensuite.
  • Comptes : créer un compte par produit bancaire, saisir solde initial.
  • Catégories : créer l'arborescence libre.
  • Budgets : par mois, par catégorie, avec suivi.
  • Import : CSV ou OFX depuis l'UI.
  • Règles : moteur d'auto-catégorisation (trigger + action).
  • HTTPS obligatoire : via reverse proxy.
  • Backups : pg_dump quotidien + copie du volume Sure (fichiers téléversés).

Alternatives

Open Source

  • app-actual-budget — local-first, plus mature
  • app-firefly-iii — référence, stack LAMP
  • app-monetr — Go, plus jeune
  • Maybe (Ruby on Rails) — projet jumeau, fork d'Origin/Maybe
  • Origin / Perfin — projets abandonnés/similaires

Propriétaires

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

Sécurité

  • HTTPS obligatoire via reverse proxy.
  • SECRET_KEY_BASE : token critique pour les sessions — générer avec mix phx.gen.secret (64+ caractères).
  • PostgreSQL : créer un user dédié (non-superutilisateur), mot de passe fort, limiter l'écoute au réseau Docker interne.
  • 2FA : à venir selon la roadmap (suivre le GitHub).
  • Updates Elixir/Phoenix : suivre la branche stable, les releases OTP sont rétrocompatibles.
  • Backups 3-2-1 : pg_dump + volume Sure, tester régulièrement la restauration.
  • Surveiller le runtime : logs LiveView, métriques BEAM (:observer, Prometheus + Elixir metrics).
  • CSP et headers : via reverse proxy (Caddy/Traefik middleware).

Ressources

Pages Liées