记账方式 - Beancount + Fava
关于 beancount 本身的使用网上有很多文章,建议通读下官方的 Beancount Language Syntax ,其本身语法不算复杂,官方一张 Syntax Cheat Sheet 图基本可以罗列常用语法
Fava 是 beancount 的 ui 界面工具,提供了很多报表,甚至编辑功能
记账流程及自动化
我的 beancount 文件放在 github 私用仓库里进行版本化管理及存储,fava 通过 docker 运行,通过带有认证功能的 proxy 访问。自动部署流程如下:
- 本地编写 beancount 文件,提交后推送到 github
- github 调用 webhook,服务器拉取最新内容。
fava reload设置2019-01-01 custom "fava-option" "auto-reload" "true"
webhook 使用的是 adnanh/webhook - 如果 fava 容器需要更新(更新 beancount 及 fava 版本),push 一个 release tag
- 阿里云容器镜像服务构建出最新镜像,调用 webhook
- webhook 自动部署新镜像