Firefly III 搭建个人财务记账平台

有网友留言需要 适配移动平台可以私有化部署的记账软件,但是一直没有找到合适的国产软件。Firefly III 是国外一款开源的记账软件,提供开放的接口,支持跨平台使用和同步,所以从软件开发角度看,这是一款不错的产品,是否符合国人的使用习惯,只有亲自使用了才知道

什么是 Firefly III ?

Firefly-iii 是一个开源的记账软件,可以自主搭建个人的财务管理服务,帮助用户记录和追踪收入与开销。

老苏记账差不多经历了三个阶段:

  • 第一阶段2011 年以前,一直用 excel 记账;
  • 第二阶段2011 ~ 2013 年开始用金蝶旗下的 随手记,因为是在手机上记账,比 excel 方便多了;
  • 第三阶段2013 年以后,工资卡被老婆忽悠走了,从此老苏达到了 手中无卡,心中无账 的境界🙂

安装

数据库

通过 phpMyAdminMariaDB 10 中新建用户 firefly,创建同名的库 firefly 并授予所有权限。

安装镜像

在群晖上以 Docker 方式安装。

在注册表中搜索 firefly ,选择第二个 fireflyiii/core,版本选择 latest

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

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

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

端口

端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
8888 8080

环境

可变
APP_KEY 必须是 32
DB_HOST 数据库地址
DB_PORT 数据库端口
DB_CONNECTION 数据库类型
DB_DATABASE 数据库库名
DB_USERNAME 数据库用户
DB_PASSWORD 数据库密码

老苏群晖的 IP192.168.0.197MariaDB 10 的端口是 3307

运行

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

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

第一次需要注册用户

注意:密码不能少于 16 位,建议用密码生成器,使用类似 LZ8xEJ6EPToTboxm 这样的密码

登录成功后的欢迎界面

设置中文

第一件事当然是设置语言啦,在欢迎界面中

  • Bank name:老苏随便填了个 交通银行
  • Balance:应该是余额,默认是欧元,点前面的三角下箭头,找到 chinese yuan,后面填 0
  • Savings 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 FinancePhoturis III,老苏只下了 Photuris III 简单测试了一下

需要的朋友可以在后台回复 记账 即可获取下载地址

  1. Web 端获取 个人访问令牌

主页 –> 选项 –> 个人档案 –> OAuth 授权 –> 个人访问令牌 –> 创建新令牌

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

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

  1. 登录 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-iii

Firefly 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/