群晖Docker,走起! 篇二十五:群晖商用级开源记账工具 Firefly III 深度介绍

2024-04-24 11:16:27 13点赞 160收藏 15评论

记账软件相信大家对它都不陌生,有很多小伙伴在问我有没有好用的免费记账软件,或者能不能在群晖上搭建一个开源的记账软件。

大家都知道老宁是个程序员,前几年也想搞个记账软件,刚好对记账软件有一点点研究。对于一个优秀的记账软件,有一个功能老宁觉得是必不可少的,那就是:定时(周期)记账功能。

什么叫定时记账呢?打个比方,每个月都会在固定时间扣的贷款,每天的固定支出,每年的会员订阅费用等等。

有了定时记账的功能,才能简化我们周期性的重复工作,才是一个完整的记账软件。

在软件开发上来说,如果一个记账软件有定时记账功能,那么对人员、程序的要求会高很多。

今天介绍的这款开源记账软件 Firefly III,除了定时记账的功能,还有更加高级的功能,一起来看看。(ps:文章很长,可以收藏了慢慢看)

群晖商用级开源记账工具 Firefly III 深度介绍

功能展示

快捷指令记账

快捷指令,选择记账类型

群晖商用级开源记账工具 Firefly III 深度介绍

来源账户,可以在 Firefly III 中设置多种账户。

群晖商用级开源记账工具 Firefly III 深度介绍

记账金额。

群晖商用级开源记账工具 Firefly III 深度介绍

存钱罐

可以在 Firefly III 的存钱罐界面添加存钱计划,看看还有多久能买一张摩托车?

群晖商用级开源记账工具 Firefly III 深度介绍

定期交易

设定一些规则和定期交易,让你记账更加的便捷。比如房贷,停车费,话费,免去定时重复操作的烦恼。

群晖商用级开源记账工具 Firefly III 深度介绍

报表

每个账户到底支出了多少钱?你月光了么?通过报表功能可以一目了然。

群晖商用级开源记账工具 Firefly III 深度介绍

项目地址

https://github.com/firefly-iii/firefly-iii

项目特性

  • 完全自托管和隔离的,除非明确告知,否则永远不会联系外部服务器

  • 创建定期交易来管理资金

  • 基于规则的事务处理

  • 复式记账系统

  • 两步验证

安装部署

下面介绍两种部署的方法,通过Docker Compose和群晖部署,老宁会着重介绍如何通过群晖来手动部署。

Docker Compose

version: '3.3' services: app: image: fireflyiii/core:latest hostname: app container_name: firefly_iii_core restart: always volumes: - firefly_iii_upload:/var/www/html/storage/upload env_file: .env networks: - firefly_iii ports: - 80:8080 depends_on: - db db: image: mariadb:lts hostname: db container_name: firefly_iii_db restart: always env_file: .db.env networks: - firefly_iii volumes: - firefly_iii_db:/var/lib/mysql cron: # # To make this work, set STATIC_CRON_TOKEN in your .env file or as an environment variable and replace REPLACEME below # The STATIC_CRON_TOKEN must be *exactly* 32 characters long # image: alpine restart: always container_name: firefly_iii_cron command: sh -c "echo "0 3 * * * wget -qO- http://app:8080/api/v1/cron/REPLACEME" | crontab - && crond -f -L /dev/stdout" networks: - firefly_iii volumes: firefly_iii_upload: firefly_iii_db: networks: firefly_iii: driver: bridge

环境变量可以在 https://github.com/firefly-iii/firefly-iii/blob/main/.env.example 获取,下载后需要根据自身情况进行修改。

群晖部署

如果要通过群晖进行手动部署,可以把整个过程分为三个部分:数据库、firefly iii主程序和定时任务。

因为过程比较繁杂,我会尽可能把操作步骤写详细,如果使用群晖手动部署成功,相信你对Docker相关知识的认知有一个巨大提升。

数据库

首先我们要创建一个数据库用来保存 Firefly III 的数据。关于数据库的管理,可以查看老宁写过的文章。

通过群晖 phpAdmin 套件,登录到数据库管理界面,在账户菜单下新增账户。

群晖商用级开源记账工具 Firefly III 深度介绍

输入用户名和密码,并勾选左下角创建同名数据库选项,最后记得点击最下面的执行。这样在创建好账户的同时,也会创建一个新的数据库。

群晖商用级开源记账工具 Firefly III 深度介绍

当然也可以直接创建一个数据库,用root用户直接来访问也是可以的。

群晖商用级开源记账工具 Firefly III 深度介绍

Firefly III

接着就是在群晖的 Container Manager 上搭建 Firefly III 主程序了。

打开 Container Manager 套件,在注册表中搜索firefly,下载fireflyiii/core镜像。

群晖商用级开源记账工具 Firefly III 深度介绍

在等待下载的过程中,在 File Station 套件中创建 fireflyiii文件夹,并创建一个名为firefly_iii_upload的子文件夹。

群晖商用级开源记账工具 Firefly III 深度介绍

添加端口映射为8085,设置存储空间文件夹为前面创建的文件,容器路径为/var/www/html/storage/upload

群晖商用级开源记账工具 Firefly III 深度介绍

接着增加环境变量如下:

  • APP_KEY:必须为32位

  • DB_HOST:数据库的地址(群晖的IP)

  • DB_PORT:端口(数据库端口)

  • DB_CONNECTION:数据库类型

  • DB_DATABASE:数据库名称(前面创建的)

  • DB_USERNAME:用户名(前面设置的)

  • DB_PASSWORD:密码(前面设置的)

群晖商用级开源记账工具 Firefly III 深度介绍

如果后续在配置反代的时候出现问题,可以在环境变量中加入APP_URLTRUSTED_PROXIES两个环境变量解决,对应的值为最终访问的https地址和*号。

群晖商用级开源记账工具 Firefly III 深度介绍

其他配置保持默认,启动容器后,要多等一会儿,在日志中看到如下输出则代表安装成功。

群晖商用级开源记账工具 Firefly III 深度介绍

定时任务

前面两步配置完成后,其实我们就可以使用 Firefly III 的记账功能了。

接下来需要配置定时任务。

如果你对定时记账没有要求可以跳过该步骤直接使用。如果你是第一次安装,请注册登录账号后,再进行定时任务的配置。

打开 Firefly III 菜单的个人档案,获取命令行令牌。

群晖商用级开源记账工具 Firefly III 深度介绍

把令牌复制下来。

群晖商用级开源记账工具 Firefly III 深度介绍

打开群晖的控制面板,在任务计划中新增一个计划任务->用户定义的脚本,时间选择每天3点执行。

群晖商用级开源记账工具 Firefly III 深度介绍

在任务设置中,增加自定义脚本,内容为curl http://192.168.2.99:8085/api/v1/cron/xxxx,最后的xxxx替换为前面的令牌,IP为群晖的IP,端口为 Firefly III 容器映射的本地端口。

群晖商用级开源记账工具 Firefly III 深度介绍

可以勾选通过电子邮件发送运行详情,这样脚本执行的日志会被发送到邮箱里。

群晖商用级开源记账工具 Firefly III 深度介绍

如果配置正确,当我们手动执行了一次创建的任务后,定期交易页面的横幅会消失。

群晖商用级开源记账工具 Firefly III 深度介绍

Firefly III 使用方法

在浏览器输入【http://群晖IP:8085】打开 Firefly III 网页后台,第一次进入必须注册一个新的账户(只能注册一次,所以这里的截图用的是登录界面)。

群晖商用级开源记账工具 Firefly III 深度介绍

注册成功后,需要先指定一个账户和余额,再把语言设置为中文。

群晖商用级开源记账工具 Firefly III 深度介绍

账户

我们可以在账户里创建资产账户、支出账户、收入账户、债务账户几种账户。

群晖商用级开源记账工具 Firefly III 深度介绍

资产账户

资产账户代表了你拥有的、可以用于支付的资金来源。

群晖商用级开源记账工具 Firefly III 深度介绍

我们在创建资产账户的时候,除了必须要设置的账户名称,和支出、收入账户最大的区别就是可以设置一个初始余额,就是是账户的资金。

群晖商用级开源记账工具 Firefly III 深度介绍

支出账户

支出账户用于记录你向其支付款项的目的地或实体。比如我设置的楼下小超市,支出账户是没办法设置余额的,它是用来统计资金流向的。

群晖商用级开源记账工具 Firefly III 深度介绍

收入账户

收入账户则与支出账户相反,它用于记录向你支付款项的来源。

群晖商用级开源记账工具 Firefly III 深度介绍

债务账户

债务账户用于跟踪你所欠的款项,比如贷款和信用卡债务。

群晖商用级开源记账工具 Firefly III 深度介绍

在 Firefly III 中创建好各类账户后,后面要进行记账就方便很多,也便于后期统计、追踪资金的流向。

创建交易

我们可以在交易下选择支出来创建一个新的支出。

群晖商用级开源记账工具 Firefly III 深度介绍

比如买了包烟,来源账户可以选择资产账户里的账户,而目标账户可以选择支出账户里的楼下小超市。这样就能方便我们统计在某个地方具体花了多少钱。

群晖商用级开源记账工具 Firefly III 深度介绍

定期交易

最后来看看如何创建定期交易。

群晖商用级开源记账工具 Firefly III 深度介绍

如果在创建定期交易页面有这样一行字,那就代表没有配置好定时任务,可以回到前面群晖部署查看如何配置,否则创建的定期交易不会执行。

群晖商用级开源记账工具 Firefly III 深度介绍

在定期交易中,可以选择重复类型,也就是执行交易任务的周期。

群晖商用级开源记账工具 Firefly III 深度介绍

当定期交易执行后,可以在交易中看到已经执行的定期交易。

群晖商用级开源记账工具 Firefly III 深度介绍

客户端

而想要使用客户端,则必须要创建个人访问令牌。有了个人访问令牌,输入到客户端中,才能链接到 Firefly III 后台。

群晖商用级开源记账工具 Firefly III 深度介绍

安卓

iOS

在iOS上没有单独的app,只能通过快捷指令来完成。在 Add Transaction 里面设置好服务器的链接和令牌token进行链接,Add Transaction 会依赖其他三个快捷指令。

群晖商用级开源记账工具 Firefly III 深度介绍

由于篇幅的限制,就不再介绍客户端的使用方法了,那么复杂的 Firefly III 后台服务都被你搭建起来了,还搞不定一个小小客户端?

我是老宁

一个热爱技术的程序员和极客,群晖NAS深度玩家!

专注NAS相关技术分享,原创!干货!

觉得老宁的文章对你有帮助,记得点赞、收藏、加关注

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2829元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

2190.84元起

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

4079元起

Synology 群晖 DS1821+ 8盘位NAS (V1500B、4GB)

Synology 群晖 DS1821+ 8盘位NAS (V1500B、4GB)

8899元起

Synology 群晖 DS223j 双盘位 NAS网络存储服务器 私有云 智能相册 文件自动同步

Synology 群晖 DS223j 双盘位 NAS网络存储服务器 私有云 智能相册 文件自动同步

1529元起

Synology 群晖 DS923+ NAS网络存储服务器 标准无硬盘

Synology 群晖 DS923+ NAS网络存储服务器 标准无硬盘

4899元起

Synology 群晖 DS1821+ 8盘位 NAS(V1500B、4GB)

Synology 群晖 DS1821+ 8盘位 NAS(V1500B、4GB)

7196元起

群晖(Synology)DS124单盘位NAS网络存储服务器私有云智能相册文件自动同步

群晖(Synology)DS124单盘位NAS网络存储服务器私有云智能相册文件自动同步

1399元起

Synology 群晖 DS720+ 双盘位NAS(J4125、2GB)

Synology 群晖 DS720+ 双盘位NAS(J4125、2GB)

4099元起

synology群晖nas云存储ds920+中小型企业办公网络存储群辉家庭个人私有云盘四盘位NAS备份硬盘服务器ds918+(DS920+希捷企业级16T*4)

synology群晖nas云存储ds920+中小型企业办公网络存储群辉家庭个人私有云盘四盘位NAS备份硬盘服务器ds918+(DS920+希捷企业级16T*4)

13746元起

Synology 群晖 DS416 企业级 NAS网络存储

Synology 群晖 DS416 企业级 NAS网络存储

暂无报价

Synology 群晖 DS223 2盘位NAS(Realtek RTD1619B、2GB)

Synology 群晖 DS223 2盘位NAS(Realtek RTD1619B、2GB)

2279元起

Synology 群晖 DS423 四核心 4盘位 NAS网络存储 私有云 照片自动备份

Synology 群晖 DS423 四核心 4盘位 NAS网络存储 私有云 照片自动备份

3179元起

Synology 群晖 DS1621+ 六盘位NAS (V1500B、4GB)

Synology 群晖 DS1621+ 六盘位NAS (V1500B、4GB)

6899元起

Synology 群晖 DS420+ 4盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS420+ 4盘位NAS (赛扬J4025、2GB)

3090元起

文中相关商品

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)
Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)
15评论

  • 精彩
  • 最新
  • 用了一下,不是很方便,我是重度记账用户。简单说两个。标签添加了后记账那里还的手敲一遍才能显示出来,标签我理解成支出分类,这个分类没有子分类,比如吃饭,然后是早中晚餐。。。还有一个就是记账逻辑看不懂可能外国人是这样,虽然能用。第三就是反应速度慢。

    校验提示文案

    提交
    慢是比较慢,在免费的记账软件或者一些不太优秀的付费软件前面,我觉得他是非常不错了

    校验提示文案

    提交
    收起所有回复
  • 单机软件强行服务化

    校验提示文案

    提交
    也不算吧

    校验提示文案

    提交
    收起所有回复
  • 至少得复式记账才能称得上是“商用”,可以试试beancount

    校验提示文案

    提交
    可以复式记账

    校验提示文案

    提交
    收起所有回复
  • 如果NAS硬盘坏了,是不是全部丢失了?

    校验提示文案

    提交
    nas不就是解决这个问题的么

    校验提示文案

    提交
    收起所有回复
  • 重点是如何可以根据消费短信自己添加进去吧。还是人手加进去,没什么优势

    校验提示文案

    提交
    不仅仅是短信的,还有各种APP金融,比如白条花呗之类的,还有各种理财,我记账最长坚持过9年,前5年用的pc单机记账软件,后面用的网易记账,网易关停之后就没用过了

    校验提示文案

    提交
    收起所有回复
  • iOS 有适用的app 吗

    校验提示文案

    提交
    abacus

    校验提示文案

    提交
    收起所有回复
  • 你支付宝没账单吗

    校验提示文案

    提交
  • 这和群晖有啥关系?能用docker就能做的。和商用有啥关系?

    校验提示文案

    提交
  • mrak了 看看大家评论

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
160
扫一下,分享更方便,购买更轻松