Firefly III 搭建个人财务记账平台
有网友留言需要 适配移动平台可以私有化部署的记账软件,但是一直没有找到合适的国产软件。Firefly III 是国外一款开源的记账软件,提供开放的接口,支持跨平台使用和同步,所以从软件开发角度看,这是一款不错的产品,是否符合国人的使用习惯,只有亲自使用了才知道
什么是 Firefly III ?
Firefly-iii是一个开源的记账软件,可以自主搭建个人的财务管理服务,帮助用户记录和追踪收入与开销。
老苏记账差不多经历了三个阶段:
- 第一阶段:
2011年以前,一直用excel记账; - 第二阶段:
2011~2013年开始用金蝶旗下的随手记,因为是在手机上记账,比excel方便多了; - 第三阶段:
2013年以后,工资卡被老婆忽悠走了,从此老苏达到了手中无卡,心中无账的境界🙂
安装
数据库
通过 phpMyAdmin 在 MariaDB 10 中新建用户 firefly,创建同名的库 firefly 并授予所有权限。

安装镜像
在群晖上以 Docker 方式安装。
在注册表中搜索 firefly ,选择第二个 fireflyiii/core,版本选择 latest。

第一个镜像
jc5x/firefly-iii也是官网的,只是自2021年7月1日起,已经被弃用

卷
在 docker 文件夹中,创建一个新文件夹,并将其命名为 firefly,然后在 firefly 中再建两个子目录 upload 和 export

| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/firefly/export |
/var/www/html/storage/export |
存放导出文件 |
docker/firefly/upload |
/var/www/html/storage/upload |
存放上传文件 |

端口
端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
| 本地端口 | 容器端口 |
|---|---|
8888 |
8080 |

环境
| 可变 | 值 |
|---|---|
APP_KEY |
必须是 32 位 |
DB_HOST |
数据库地址 |
DB_PORT |
数据库端口 |
DB_CONNECTION |
数据库类型 |
DB_DATABASE |
数据库库名 |
DB_USERNAME |
数据库用户 |
DB_PASSWORD |
数据库密码 |
老苏群晖的
IP为192.168.0.197,MariaDB 10的端口是3307

运行
日志中看到👇下面的信息就可以开始使用了

在浏览器中输入 http://群晖IP:8888 就能看到登录界面

第一次需要注册用户
注意:密码不能少于
16位,建议用密码生成器,使用类似LZ8xEJ6EPToTboxm这样的密码

登录成功后的欢迎界面

设置中文
第一件事当然是设置语言啦,在欢迎界面中
Bank name:老苏随便填了个交通银行Balance:应该是余额,默认是欧元,点前面的三角下箭头,找到chinese yuan,后面填0Savings balance:储蓄卡余额,先默认没动language中下拉到底,选择Chinese Simplified

Submit 之后就是中文界面了

老苏在移动端直接使用 Web 的效果也还可以

现在您可以开启记账之旅,创建预算,跟踪支出,通过报表了解收支情况了。
应用
接口
除了 Web 应用外,Firefly III 还具备 JSON API,提供了专门的 Swagger 文档:https://api-docs.firefly-iii.org

除非你想做基于 Firefly III 的二次开发,否则作为一般用户来说,这个没啥用处,老苏也就顺便提一下。
官方没有提供除了 Web 之外的应用,移动端都是第三方基于👆的 API 开发的,所有的移动客户端都在这里 👉 :https://docs.firefly-iii.org/firefly-iii/other-pages/3rdparty/
Android
Android 平台有 2 个,分别是 Firefly Personal Finance 和 Photuris III,老苏只下了 Photuris III 简单测试了一下
需要的朋友可以在后台回复
记账即可获取下载地址
- 在
Web端获取个人访问令牌
主页 –>
选项–>个人档案–>OAuth 授权–>个人访问令牌–>创建新令牌

名称只是为了标识,方便多令牌的管理

令牌只显示一次,所以要妥善保管

- 登录
android客户端
打开 app,点 PERSONAL ACCESS TOKEN

输入 服务器地址 和 个人访问令牌后,点 SIGN IN

进入 Options –> Settings –> Language 可以改为 简体中文 界面

从界面看基本上就是高仿的 Web ,简单用了下,比较容易闪退😅
iOS
iOS 只有基于 Workflow 的快捷方式,老苏没有 iOS 设备,给个动图自己研究吧

动图地址:https://github.com/tmytro/firefly-ios-shortcuts
参考文档
firefly-iii/firefly-iii: Firefly III: a personal finances manager
地址:https://github.com/firefly-iii/firefly-iiiFirefly III - A free and open source personal finances manager
地址:https://www.firefly-iii.org/Docker - Firefly III documentation
地址:https://docs.firefly-iii.org/firefly-iii/installation/docker/