| 요약 | hledger 저널을 토픽의 첫 번째 게시물에서 실시간 대시보드로 렌더링합니다. | |
| 저장소 | gitea.kosmos.org/raucao/discourse-hledger | |
| 설치 가이드 | README |
기능
토픽의 첫 번째 게시물에 hledger 코드 블록으로 hledger 저널을 넣으면, 서버의 hledger 실행 파일이 요청 시점에 생성하는 5가지 보고서로 구성된 대시보드로 대체됩니다:
-
계좌(Accounts) — 모든 상위 계좌가 확장된 전체 잔고 트리. -
재무 상태표(Balance sheet) — 자산, 부채, 자본을 섹션별로 묶어 표시. -
손익계산서(P&L) — 수익과 비용. -
자본(Equity) — 상품별로 분류된 출자 자본 분포. -
저널(Journal) — 각 회계 처리가 포함된 거래 로그. -
보고서는 시작일/종료일 범위로 필터링할 수 있으며, 종료일은 포함됩니다.
-
@username형식으로 작성된 계좌 세그먼트(예:equity:@alice)는 일반적인 프로필 카드가 포함된 Discourse 멘션 링크로 변환됩니다. 기존에 존재하는 사용자만 링크됩니다. -
보고서는 요청 시점에 생성되며 게시물 수정 버전별로 캐시되므로, 저널을 수정하면 보고서가 새로고침됩니다.
예시 블록
```hledger
2024-01-01 Opening balances
assets:bank:checking 1000.00 EUR
equity:alice -600.00 EUR
equity:bob -400.00 EUR
```
스크린샷
요구 사항
- 서버에 설치된
hledger실행 파일 (hledger 1.32.3에서 테스트됨). - Discourse 2.7.0 이상.
표준 Docker 설치 환경에서는 플러그인과 hledger 패키지를 app.yml을 통해 설치하고 다시 빌드해야 합니다:
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://gitea.kosmos.org/raucao/discourse-hledger.git discourse-hledger
- exec:
cd: $home
cmd:
- apt-get update
- DEBIAN_FRONTEND=noninteractive apt-get install -y hledger
설정
Admin > Settings > Plugins에서 플러그인을 활성화합니다 (hledger enabled).- 토픽의 첫 번째 게시물에 hledger 저널을 추가합니다.
- 실행 파일이 기본
PATH에 없다면hledger path를 선택적으로 설정합니다.
설정 항목
| 이름 | 설명 |
|---|---|
hledger enabled |
플러그인 활성화. |
hledger path |
hledger 실행 파일 경로 (기본값 hledger). |
hledger max journal bytes |
허용되는 저널의 최대 크기 (바이트 단위, 기본값 262144). |
hledger max journal lines |
저널의 최대 라인 수 (기본값 5000). |
hledger timeout seconds |
각 hledger 호출에 대한 실제 시간 제한 (기본값 10). |
hledger max output bytes |
캡처된 hledger 출력의 상한선 (기본값 1048576). |
hledger memory limit mb |
hledger 프로세스의 메모리 상한선; 0이면 비활성화 (기본값 256). |
hledger global rate limit per minute |
모든 사용자를 통틀어 보고서 생성 횟수 상한선; 0이면 비활성화 (기본값 120). |
보안
저널은 신뢰할 수 없는 입력으로 간주됩니다. 이 플러그인은 hledger를 특권이 없는 서브프로세스로 실행하며, 정리된 환경, 사설 작업 디렉터리, 강제 타임아웃, CPU/파일 크기/메모리 제한 및 출력 상한선을 적용하고, include 지시문을 거부합니다. 보고서는 뷰어가 볼 수 있는 토픽에 대해서만 반환되며, 요청은 IP당(분당 30회) 및 전역적으로 속도 제한됩니다.
호환성 및 라이선스
- MIT 라이선스
- 피드백, 버그 보고서 및 번역은 이 토픽 또는 이메일, 소셜 미디어(ActivityPub), 채팅(XMPP)을 통해 raucao@kosmos.org로 환영합니다.


