Hledger-Plugin – Klartext-Buchhaltungstagebücher in Themen rendern

:information_source: Zusammenfassung Rendert hledger-Journale als Live-Dashboard im ersten Beitrag eines Themas.
:hammer_and_wrench: Repository gitea.kosmos.org/raucao/discourse-hledger
:open_book: Installationsanleitung README

Funktionen

Füge ein hledger-Journal in einen umrandeten hledger-Codeblock im ersten Beitrag eines Themas ein, und es wird durch ein Dashboard mit fünf Berichten ersetzt, die auf Abruf vom hledger-Executabler des Servers generiert werden:

  • :clipboard: Konten — der vollständige Kontenspiegel, wobei alle übergeordneten Konten aufgeklappt sind.

  • :balance_scale: Bilanz — Aktiva, Passiva und Eigenkapital, in Abschnitte zusammengefasst.

  • :chart_increasing: GuV — Erträge und Aufwendungen.

  • :busts_in_silhouette: Eigenkapital — eine Verteilung des eingezahlten Kapitals nach Währung.

  • :receipt: Journal — ein Transaktionsprotokoll mit jedem Buchungssatz.

  • Berichte können nach einem Zeitraum von Von/Bis gefiltert werden; das Enddatum ist inklusive.

  • Kontensegmente, die als @username geschrieben werden (zum Beispiel equity:@alice), werden zu
    Discourse-Erwähnungslinks mit der üblichen Profilkarte; nur vorhandene Benutzer
    werden verlinkt.

  • Berichte werden auf Abruf generiert und pro Beitragsrevision zwischengespeichert, sodass das Bearbeiten des
    Journals sie aktualisiert.

Beispielblock

```hledger
2024-01-01 Opening balances
    assets:bank:checking       1000.00 EUR
    equity:alice               -600.00 EUR
    equity:bob                 -400.00 EUR
```

Screenshots

Anforderungen

  • Das hledger-Executabler auf dem Server (getestet mit hledger 1.32.3).
  • Discourse 2.7.0 oder neuer.

Bei der Standard-Docker-Installation installierst du das Plugin und das hledger-Paket über deine app.yml und baust neu:

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://gitea.kosmos.org/raucao/discourse-hledger.git
    - exec:
        cd: $home
        cmd:
          - apt-get update
          - DEBIAN_FRONTEND=noninteractive apt-get install -y hledger

Konfiguration

  1. Aktiviere das Plugin unter Admin > Einstellungen > Plugins (hledger enabled).
  2. Füge ein hledger-Journal zum ersten Beitrag eines Themas hinzu.
  3. Setze optional hledger path, falls das Executabler nicht im Standard-PATH liegt.

Einstellungen

Name Beschreibung
hledger enabled Aktiviert das Plugin.
hledger path Pfad zum hledger-Executabler (Standard: hledger).
hledger max journal bytes Maximale Größe eines akzeptierten Journals in Bytes (Standard: 262144).
hledger max journal lines Maximale Anzahl von Zeilen in einem Journal (Standard: 5000).
hledger timeout seconds Zeitlimit (Wall-Clock) für jeden hledger-Aufruf (Standard: 10).
hledger max output bytes Obergrenze für den erfassten hledger-Ausgabe (Standard: 1048576).
hledger memory limit mb Speichergrenze für den hledger-Prozess; 0 deaktiviert sie (Standard: 256).
hledger global rate limit per minute Obergrenze für die Berichtsgenerierung über alle Benutzer hinweg; 0 deaktiviert sie (Standard: 120).

Sicherheit

Journale sind nicht vertrauenswürdige Eingaben. Das Plugin führt hledger als unprivilegierten Unterprozess mit einer bereinigten Umgebung, einem privaten Arbeitsverzeichnis, einem harten Timeout, CPU-/Dateigrößen-/Speichergrenzen und einer Ausgabe-Obergrenze aus und lehnt include-Direktiven ab. Berichte werden nur für Themen zurückgegeben, die der Betrachter sehen kann, und Anfragen werden pro IP (30/min) und global drosselt.

Kompatibilität und Lizenz

  • MIT-Lizenz
  • Feedback, Fehlermeldungen und Übersetzungen sind in diesem Thema oder per E-Mail, Social Media (ActivityPub/Nostr) oder Chat (XMPP) an raucao@kosmos.org willkommen.
7 „Gefällt mir“