个人财务管理工具 (Firefly III) Docker容器化部署指南

docker搭建firefiy iii Firefly III是一个自托管的金融管理工具,旨在帮助个人和家庭跟踪他们的支出、收入、预算和资产。它提供了一个直观的web界面,通过这个界面,用户可以快速设置账户、记录交易、创建预算,并且还可以查看各种报表来分析个人财务状况。搭建Firefly III使用Docker是一个非常方便的方式,因为它抽象了很多配置细节,让你可以更专注于使用Firefly III而不是配置它。 阅读详情

概述

Firefly III 是一款开源的个人财务管理工具,支持自托管部署,旨在帮助用户跟踪收支、管理预算、分类交易,并通过财务报告提供财务洞察。作为一款专注于个人财务管理的应用,CORE强调用户对自身财务的掌控,支持数据导入、预算规划、标签分类等功能,适用于希望实现财务自主管理的个人用户。

Firefly III采用开源协议(GNU Affero General Public License v3),代码托管于GitHub,具备良好的社区支持和持续开发维护。通过容器化部署,用户可以快速搭建属于自己的财务管理系统,保护财务数据隐私,同时享受灵活的部署和升级体验。

环境准备

Docker环境安装

部署Firefly III前需确保服务器已安装Docker环境。推荐使用轩辕云提供的一键安装脚本,该脚本会自动配置Docker及相关依赖,适用于主流Linux发行版(Ubuntu、Debian、CentOS等):

bash <(wget -qO- https://xuanyuan.cloud/docker.sh)

执行脚本后,按照提示完成Docker安装。安装完成后,可通过以下命令验证Docker是否正常运行:

docker --version  # 检查Docker版本
systemctl status docker  # 检查Docker服务状态

镜像准备

拉取Firefly III镜像

使用以下命令通过轩辕镜像访问支持地址拉取最新版本的Firefly III CORE镜像:

docker pull xxx.xuanyuan.run/fireflyiii/core:latest

拉取完成后,可通过以下命令验证镜像是否成功下载:

docker images | grep fireflyiii/core

若输出类似以下结果,说明镜像拉取成功:

xxx.xuanyuan.run/fireflyiii/core   latest    abc12345   2 weeks ago   500MB

容器部署

基础部署命令

Firefly III作为个人财务管理工具,通常需要持久化存储数据并配置必要的环境变量。以下是基础的容器部署命令,包含数据持久化、端口映射和核心环境变量配置:

docker run -d \
  --name fireflyiii\
  -p 8080:8080 \  # 端口映射(请根据官方文档确认实际端口)
  -v /data/fireflyiii:/var/www/firefly-iii/storage \  # 持久化存储数据目录
  -e APP_KEY=your_random_app_key \  # 应用加密密钥(建议使用32位随机字符串)
  -e DB_CONNECTION=mysql \  # 数据库连接类型(支持mysql/postgresql/sqlite)
  -e DB_HOST=db_host \  # 数据库主机地址
  -e DB_PORT=3306 \  # 数据库端口
  -e DB_DATABASE=firefly \  # 数据库名称
  -e DB_USERNAME=firefly_user \  # 数据库用户名
  -e DB_PASSWORD=your_db_password \  # 数据库密码
  -e TZ=Asia/Shanghai \  # 时区设置
  xxx.xuanyuan.run/fireflyiii/core:latest

说明:

  • 端口映射(-p)中的端口号需根据官方文档确认实际需要映射的端口;
  • APP_KEY 需替换为32位随机字符串,可通过 openssl rand -base64 32 生成;
  • 数据库相关参数需根据实际数据库环境配置,若使用SQLite,可简化为 -e DB_CONNECTION=sqlite 并映射SQLite文件路径。

部署参数说明

参数作用说明
-d后台运行容器
--name fireflyiii指定容器名称为"fireflyiii",便于后续管理
-p 8080:8080端口映射,格式为"主机端口:容器端口",需根据官方文档调整实际端口
-v /data/fireflyiii:/var/www/firefly-iii/storage持久化存储应用数据,避免容器删除后数据丢失
-e APP_KEY应用加密密钥,用于数据加密,必须设置且保持唯一
-e DB_*数据库连接参数,根据实际使用的数据库类型(MySQL/PostgreSQL/SQLite)配置
-e TZ设置容器时区,确保时间相关功能(如交易时间记录)准确

验证容器状态

容器启动后,可通过以下命令检查运行状态:

docker ps | grep fireflyiii

若状态为"Up",说明容器启动成功:

abc123456789   xxx.xuanyuan.run/fireflyiii/core:latest   "docker-php-entrypoi…"   5 minutes ago   Up 5 minutes   0.0.0.0:8080->8080/tcp   fireflyiii

功能测试

服务访问测试

容器启动后,可通过以下方式验证服务是否正常运行:

1. 命令行访问测试

使用curl命令访问容器暴露的端口(以8080为例):

curl -I http://localhost:8080

若返回类似以下结果,说明服务响应正常:

HTTP/1.1 200 OK
Server: nginx/1.21.6
Content-Type: text/html; charset=UTF-8
...
2. 浏览器访问测试

在浏览器中输入 http://服务器IP:8080(替换为实际服务器IP和端口),若能看到Firefly III的登录或初始化页面,说明服务部署成功。

日志查看

若服务无法访问,可通过查看容器日志排查问题:

docker logs fireflyiii

日志中会显示应用启动过程、错误信息等,例如数据库连接失败、端口占用等问题均可通过日志定位。

生产环境建议

1. 数据持久化优化

生产环境中,建议将核心数据目录通过-v参数挂载到主机,并确保主机目录有定期备份机制:

# 推荐的挂载目录结构
-v /data/fireflyiii/storage:/var/www/firefly-iii/storage \
-v /data/fireflyiii/public:/var/www/firefly-iii/public \
-v /data/fireflyiii/.env:/var/www/firefly-iii/.env  # 配置文件持久化

2. 安全加固

  • 环境变量加密:敏感信息(如数据库密码)避免直接明文写入启动命令,可通过环境变量文件或密钥管理工具(如Vault)注入。
  • 非root用户运行:通过--user参数指定非root用户运行容器,降低安全风险:
    --user 1000:1000  # 使用UID/GID为1000的用户运行
    
  • 网络隔离:通过Docker网络(如--network)将fireflyiii与数据库容器隔离在私有网络中,避免直接暴露数据库端口。

3. 资源限制

根据服务器配置和实际使用需求,限制容器的CPU和内存资源,避免资源耗尽:

--memory=2g \  # 限制内存使用为2GB
--cpus=1 \     # 限制CPU使用为1核

4. 监控与日志

  • 容器监控:使用docker stats fireflyiii实时查看容器资源使用情况,或集成Prometheus+Grafana进行长期监控。
  • 日志收集:通过docker logs --tail=100 -f fireflyiii实时查看日志,或配置Docker日志驱动(如--log-driver=json-file)将日志输出到文件,便于日志收集工具(如ELK)统一管理。

5. 定期更新

定期检查镜像标签页面(Firefly III镜像标签列表),更新容器至最新稳定版本,修复安全漏洞和功能缺陷:

# 拉取最新镜像
docker pull xxx.xuanyuan.run/fireflyiii/core:latest

# 停止并删除旧容器(需先备份数据)
docker stop fireflyiii&& docker rm fireflyiii

# 使用新镜像启动容器(参数与首次部署一致)
docker run -d ... xxx.xuanyuan.run/fireflyiii/core:latest

故障排查

常见问题及解决方案

1. 容器启动后立即退出

排查步骤:

  • 查看容器日志:docker logs fireflyiii
  • 常见原因:APP_KEY未设置或格式错误、数据库连接失败、端口被占用。

解决方案:

  • 确保APP_KEY为32位随机字符串;
  • 检查数据库参数是否正确,数据库服务是否可访问;
  • 使用netstat -tulpn | grep 端口号检查端口是否被占用,更换未占用端口。
2. 服务无法访问(端口映射问题)

排查步骤:

  • 检查容器端口映射:docker port fireflyiii
  • 检查主机防火墙规则:ufw status(Ubuntu)或 firewall-cmd --list-ports(CentOS)

解决方案:

  • 确保容器内服务监听的端口与-p参数映射的容器端口一致;
  • 开放主机防火墙端口:ufw allow 8080/tcp(替换为实际端口)。
3. 数据丢失或配置不生效

排查步骤:

  • 检查挂载目录权限:ls -ld /data/fireflyiii
  • 确认容器是否正确挂载目录:docker inspect fireflyiii| grep Mounts -A 30

解决方案:

  • 确保主机挂载目录权限正确(如chmod 755 /data/fireflyiii);
  • 重新启动容器时确保-v参数正确配置,避免遗漏挂载点。
4. 数据库连接错误

排查步骤:

  • 查看容器日志中的数据库连接错误信息;
  • 测试容器到数据库的网络连通性:
    docker exec -it fireflyiii ping db_host  # 测试网络连通性
    docker exec -it fireflyiii telnet db_host 3306  # 测试端口可达性
    

解决方案:

  • 确保数据库主机地址、端口、用户名、密码正确;
  • 若数据库与Firefly III容器在同一主机,可使用--network=host或Docker网络别名实现通信。

参考资源

总结

本文详细介绍了Firefly III的Docker容器化部署方案,包括环境准备、镜像拉取、容器部署、功能测试、生产环境优化及故障排查等环节。通过Docker部署,用户可快速搭建自托管的个人财务管理系统,实现收支跟踪、预算管理和财务报告等核心功能。

关键要点

  • 高效部署:使用轩辕镜像访问支持和一键Docker安装脚本,简化部署流程,提升效率;
  • 镜像拉取:Firefly III镜像属于多段名称镜像,拉取命令为docker pull xxx.xuanyuan.run/fireflyiii/core:latest;
  • 容器配置:核心参数包括端口映射、数据持久化、环境变量(尤其是APP_KEY和数据库配置),需根据实际环境调整;
  • 安全与稳定:生产环境需重视数据备份、安全加固、资源限制和监控,确保服务可靠运行。

后续建议

  • 深入配置:参考Firefly III官方文档配置高级功能,如数据导入、报告定制、API集成等;
  • 定期维护:建立数据备份策略,定期更新镜像版本,及时修复安全漏洞;
  • 社区交流:通过GitHub Issues或Reddit社区(r/FireflyIII)获取使用技巧和问题解答,优化财务管理体验。
保姆级教程:用Docker在群晖NAS上部署Firefly III个人记账系统(含中文设置与移动端配置) 本文提供了一份详细的教程,指导用户如何在群晖NAS上使用Docker部署Firefly III个人财务记账平台,包括中文设置和移动端配置。通过环境准备、Docker容器化部署、系统初始化、移动端集成等步骤,帮助用户轻松搭建私有化记账系统,实现家庭财务数据的自主管理。 阅读详情

相关推荐

Docker 部署 Firefly III:打造私有化个人财务管理系统

本文详细介绍了如何使用Docker部署开源个人财务管理工具Firefly III,打造私有化财务管理系统。从环境准备、Docker Compose配置到使用技巧和安全防护,全面指导用户实现自主掌控财务数据,摆脱商业软件限制。特别适合注重数据隐私和定制化需求的用户。

weixin_29305337的博客 426

如何使用docker安装Firefly III 萤火虫三号——开源的个人财务管理器

如何在服务器中使用docker部署firefly-iii(个人记账工具)Firefly III(中文名字“萤火虫”)是一款开源的记账软件,完全没有广告,可以自主搭建个人的财务管理服务,帮助用户记录和追踪收入与开销。同时,它还支持使用预算、类别和标签,支持可以导入数据,提供许多简洁的财务报告等,最主要的是,它还提供开放的接口,支持跨平台使用和同步。

hzh_1117的博客 5947

[实操] 基于Firefly-III搭建个人财务管理系统

Firefly III 是一款开源的个人财务管理系统,允许用户追踪和管理个人或家庭的财务状况。本文将记录如何使用 Docker Compose 快速部署 Firefly III 个人财务管理系统。

欢迎来到Dangks的博客! 4076

Windows Docker 部署 Firefly III 开源记账软件

Firefly III是一款开源的记账软件,支持全球多种语言。它可以帮助用户追踪和管理个人账目、预算和账单,减少支出,节省更多。该软件支持多种货币、银行账户和投资账户,并提供了丰富的报表功能,帮助用户更好地了解个人财务状况。此外,Firefly III还支持使用预算、类别和标签,支持导入数据,并提供许多简洁的财务报告。Firefly III是自我托管和开源的,意味着它是免费的,没有广告,没有跟踪。

菜鸟厚非 2万+

Firefly III 部署指南 (PHP 8.0, 非Docker)

Firefly III 是一款开源的个人财务管理工具,提供预算管理、交易记录、报表等功能。

1078

【云原生之Docker实战】使用Docker部署个人FireflyIII财务系统

【云原生之Docker实战】使用Docker部署个人FireflyIII财务系统

jks212454的博客 2623

【Docker应用】使用Docker部署个人财务管理系统Firefly III

本文介绍了使用Docker部署开源个人财务管理系统Firefly III的完整流程。作者详细说明了从下载配置文件、修改关键安全参数到启动服务的每个步骤,特别强调了数据库密码一致性和端口配置等注意事项。部署完成后,用户可通过浏览器访问初始化页面,建议按照官方教程完成账户创建、预算设置等基础配置。文章还提醒用户注意数据备份和版本更新,并提供了相关参考链接。该教程适用于任何支持Docker的环境,帮助用户快速搭建个人财务管理平台。

RedhatJongkhurun的博客 1367

组态王7.5和SQLsever数据库交互

摘要:本文详细介绍了组态王7.5与SQL Server 2016数据库交互的实现流程,包括建立连接、数据存储与查询操作。主要内容涵盖ODBC数据源配置、数据库表格创建、数据插入及查询功能实现(含日期控件查询)

gsjkwg的博客 1583

Fierfly III群晖部署教程

Fierfly III群晖教程部署

ccoo198807的博客 1256

离线AI实战指南:本地部署大模型处理PDF/Word/Excel

离线AI是指在无网络、不上传数据前提下,于个人设备运行大语言模型并完成文档理解、多轮对话与代码辅助等任务的技术方案。其核心依赖本地模型推理、文档解析向量化和轻量级对话调度三大能力。随着Phi-3、Qwen2、Llama3等轻量化开源模型普及,以及Ollama、LM Studio等易用工具成熟,普通用户已可在主流笔记本上实现PDF摘要、合同比对、代码注释等真实办公场景。本文聚焦离线AI的硬件适配、模型选型、文件处理链路与知识库构建,尤其强调中文OCR支持、结构化文档提取与CPU/GPU混合推理优化,助力非开发

weixin_31968639的博客 498

大疆sdkV4以及V5webrtc推流

webrtcSDK中要用它的VideoCapturer来初始化推流 ViewdoCapturer是一个接口我们继承它 然后重建创建文件CapturerAircraft.java文件。CameraUtil.java这个是我们用来创建CapturerAircraft的一个工具。除了CapturerAircraft这个文件不一样外其他都是一样的。PlayBodyBean.java这个是我们的配置文件。下面的有个代码块第一个是v4的 第二个是v5的。接着我们来创建几个推流用到的webrtc工具。

weixin_41624865的博客 1188

从Excel到Firefly III:如何用Docker搭建更强大的个人记账系统

本文详细介绍了如何从Excel迁移到Firefly III,利用Docker搭建强大的个人记账系统。Firefly III支持复式记账、多币种管理和自动化规则,显著提升财务管理效率。通过Docker Compose部署,确保数据安全与隐私,适合需要专业财务管理的个人用户。

rice5的博客 1013

433MHz无线通信

基本概念 工作频率:433.92MHz 调制方式:ASK/OOK,FSK,GFSK 现有遥控与接收器方案中,多数使用ASK/OOK调试方式。ASK即“幅移键控”又称为“振幅键控”,也有称为“开关键控”(通断键控)的,所以又记作OOK(On-Off keyed)信号。ASK是一种相对简单的调制方式。幅移键控(ASK)相当于模拟信号中的调幅,不同的是与载频信号相乘的是二进制数码。幅移就是把频...

沧海孤叶的博客 5万+

Docker化财务自由:Firefly III的容器化部署与生态实践

本文详细介绍了如何通过Docker容器化技术部署开源财务记账平台Firefly III,实现个人财务管理的自主掌控。从基础环境准备、MariaDB数据库优化到安全加固与生态整合,提供了一套完整的容器化实践方案,帮助用户高效搭建专属的财务管理系统。

kkk56的博客 865

Cadence笔记--原理图导入PCB

根据PCB尺寸画PCB外观尺寸,这里注意X\Y不能超过指定的区域,X\Y的最大值在setuo的grids里设置,画完后保存并关闭工程然后重新打开(不理解为何)由于只画了一个PMU6050,所以这里只有一个器件。工程选择board,选择存储路径和名称。6、重新网格导入,保证网表导入无误;注意网表保存的路径。

weixin_51418325的博客 1966

15、目标检测模型的评估指标与YOLO算法解析

本文详细解析了目标检测模型的评估指标,包括精确率、召回率、AP、mAP及IoU的定义与作用,并深入介绍了YOLO算法的核心原理与推理流程。从网格划分、锚框引入到边界框细化与后处理,全面阐述了YOLO如何实现快速准确的目标检测。同时总结了YOLO在智能安防、自动驾驶和工业检测等领域的应用,并展望了其未来在准确性提升、多类别支持和技术融合方面的发展趋势。

work3的博客 66

本地部署开源个人财务管理工具 Firefly III 并实现外部访问

Firefly III 是一款开源、自托管的个人财务管理工具,采用复式记账系统,它可以帮助你集中追踪所有收入、支出、预算、信用卡、储蓄账户甚至共享家庭账户,并通过直观的报表和图表清晰展示你的财务状况。本文将详细介绍如何利用 Docker 在局域网内部署 Firefly III 并结合路由侠实现外网访问局域网内部署的 Firefly III。

zt1985q的博客 54

ZYNQ 7020 之 FPGA知识点重塑笔记一——串口通信

通信方式一般分为串行通信和并行通信。并行通信是指多比特数据同时通过并行线进行传送。这种传输方式通信线多、成本高,故不宜进行远距离通信,通常传输距离小于 30 米。串行通信是指数据在一条数据线上,一比特接一比特地按顺序传送的方式。这种运输方式通常节省传输线,大大降低使用成本,但数据传送速度慢。综上可知,串行通信主要应用于长距离、低速率的通信场合。本次实验我们主要讲解下串行通信。串行通信一般有2种通信方式:同步串行通信和异步串行通信。同步串行通信。

m0_51430584的博客 3097

docker部署firefly-III

准备好docker/docker-compse两个命令能够正常执行。

qq_41980255的博客 1173

Android 15.0 Launcher3中去掉Hotseat功能实现

在15.0系统产品定制化开发中,在Launcher3的定制化需求也是特别多的,由产品是小屏幕的产品,所以产品需求Launcher3 页面布局的原因,要求Launcher3 需要去掉Hotseat 不显示Hotseat下面几个图标,而做满屏app的显示,从而达到美观的效果,下面就来分析去掉Hotseat从而实现这个功能

安卓兼职framework和app工程师的博客 556

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

从Excel到Firefly III:我是如何用开源工具重构十年记账体系的

本文分享了如何从Excel迁移到开源个人财务管理系统Firefly III,详细介绍了数据清洗、账户体系重建、自动化规则配置等关键步骤。通过Docker容器化部署和高级功能应用,实现了多维度报表、跨周期预算和移动办公,显著提升财务管理效率。

rust6ferris的博客 841

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Firefly III + Docker Compose:5分钟搞定个人财务管理系统(附常见错误排查)

本文详细介绍了如何使用Docker Compose快速部署开源个人财务管理系统Firefly III。通过容器化编排,用户可在5分钟内搭建私有财务数据中心,实现数据自主与安全。文章涵盖环境准备、配置文件解析、服务启动及常见错误排查,帮助技术爱好者轻松构建功能强大的复式记账系统。

git9versioner的博客 168

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

GitHub 热榜项目 - 日榜(2025-10-08)

本期GitHub热榜呈现三大技术趋势:AI智能体开发平台强势崛起(如CUA、Sim、Flowise等),聚焦多模态桌面控制与可视化工作流构建;开源基础设施工具持续繁荣,涵盖密钥管理(Infisical)、网站变更监测(changedetection.io)等企业级需求;1-bit轻量化LLM框架(BitNet)与本地化AI应用构建工具(Dyad)凸显高效推理与隐私保护趋势。整体反映AI工程化、开源工具链成熟化及跨平台集成成为开发者核心关注点。

CoderJia的学习之路 2038

odoo, fireflyiii,akaunting财务软件全栈开发

odoo全栈开发

kunwen123的博客 465

Docker部署开源个人财务管理系统ezBookkeeping

核心价值:零基础搭建私有财务系统,实现多账户/多币种管理,告别Excel手工记账!

weixin_43258559的博客 1962

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

Firefly III 是一个免费开源的个人理财助手。

wbsu2004的博客 2万+
上一篇: Supabase Postgres Docker 容器化部署指南
下一篇: PostGIS Docker 容器化部署指南
java_logo
博客等级 码龄18年 325粉丝 240原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值