该Web服务用于执行交易分类,并与FireFly III(一款免费开源的个人财务管理工具)通过Web钩子集成。每当在FireFly III中添加新交易(手动或通过导入工具)时,Web钩子会触发并将交易描述发送至该服务,服务使用朴素贝叶斯分类器对交易进行分类,并更新匹配的类别。
适用于已部署FireFly III的个人用户,需要自动分类交易类别的场景。特别适合已有部分手动分类交易数据(至少1-2条)的用户,以提供初始训练样本。
选项->个人资料->OAuth,点击创建新令牌bashgit clone [***] cd ffiiitc docker buildx build --load --platform=linux/amd64 -t ffiiitc:latest .
在FireFly III的docker-compose.yml中添加以下配置:
基础配置:
yamlservices: fftc: image: akopulko/ffiiitc:latest hostname: fftc networks: - firefly_iii restart: always container_name: ffiiitc environment: - FF_API_KEY=<YOUR_PAT_GOES_HERE> # 替换为FireFly III的PAT - FF_APP_URL=<FIREFLY_ADDRESS:PORT> # 替换为FireFly III的地址和端口(如http://localhost:8080) volumes: - ffiiitc-data:/app/data # 存储训练模型 ports: - '<EXPOSED_PORT>:8080' # 替换为暴露的端口(如8081:8080) depends_on: - app # 依赖FireFly III的app服务 volumes: ffiiitc-data: # 声明数据卷
敏感信息保护(使用Docker Secrets):
yamlsecrets: ffiiitc-personal-access-token: file: "<path/to/secrets>/ffiiitc-personal-access-token" # 存储PAT的文件路径 services: fftc: # 其他配置同上 secrets: - "ffiiitc-personal-access-token" environment: - FF_API_KEY_FILE="/run/secrets/ffiiitc-personal-access-token" # 从secrets读取PAT - FF_APP_URL=<FIREFLY_ADDRESS:PORT>
bashdocker compose -f docker-compose.yml up -d
bashdocker run -d \ --name='ffiiitc' \ -e 'FF_API_KEY'='<YOUR_PAT_GOES_HERE>' \ -e 'FF_APP_URL'='<FIREFLY_ADDRESS:PORT>' \ -p '<EXPOSED_PORT>:8080' \ -v '<TRAINED_MODEL_FOLDER>:/app/data:rw' \ # 本地目录映射(如./ffiiitc-data:/app/data) 'ffiiitc'
自动化 -> Web钩子,点击创建新Web钩子[***]<EXPOSED_PORT>/classify(<EXPOSED_PORT>为docker-compose中配置的暴露端口)通过以下命令查看服务运行日志:
bashdocker compose logs fftc -f
如需重新训练模型,执行以下命令后重启fftc容器:
bashcurl -i http://localhost:<EXPOSED_PORT>/train
可添加日期参数限制训练数据范围(格式yyyy-mm-dd):
bashcurl -i "http://localhost:<EXPOSED_PORT>/train?start=2024-01-01&end=2024-06-01"
省略日期参数将使用所有可用交易数据训练。训练结果可通过日志确认。
注:朴素贝叶斯分类器使用navossoc/bayesian库,详细许可信息见其许可证。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429