侧边栏壁纸
  • 累计撰写 9 篇文章
  • 累计创建 0 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

宝塔部署Firefly III:一份清晰无坑的实操指南

大锤灬
2026-01-17 / 0 评论 / 0 点赞 / 3 阅读 / 0 字

让个人财务管理像写代码一样丝滑

🔧 部署前必看:3个常见配置问题(附解决方案)

(基于真实踩坑经验整理,避免重复我的错误)

  1. Nginx 配置冲突:前端访问报 404

    • 现象:站点访问时提示 404,但容器运行正常。

    • 原因:宝塔建站后未清理默认的前端访问规则(如 .htaccesslocation ~ \.user.ini)。

    • 解决

      • 在宝塔的网站设置 → Nginx 配置中,删除所有 location ~ ^/(\.user.ini|\.htaccess|... 的规则

      • 重启 Nginx(操作:宝塔面板 → 网站 → 重启 Nginx)。

        (小提示:这步我试过 3 次才记住——就像调试时总忘了重启服务)

  2. APP_URL 配置错误:登录后疯狂跳转

    • 现象:输入正确域名后,页面跳转到 http://localhost 或 403。

    • 原因.env 文件中 APP_URL 未设置为实际域名。

    • 正确配置(关键!):

APP_URL=https://money.template.com  # 替换为你的域名
ASSET_URL=https://money.template.com
TRUSTED_PROXIES=*  # 必须设置,否则代理环境会报错
  1. 端口映射错误:服务无法访问

    • 现象:容器运行但无法通过域名访问。

    • 原因:宝塔端口映射写成了 8080:8080,而容器实际用的是 8080

    • 正确配置(宝塔容器设置):

      • 容器端口:8080

      • 服务器端口:8088

      • 代理规则:proxy_pass http://127.0.0.1:8088;

        • (简单说:把 8088 当作“入口”,8080 是容器内部端口,别搞混)

⚙️ 5 分钟部署流程(亲测有效)

(步骤已简化,按顺序操作即可,无需 Docker 基础)

1. 创建容器编排(宝塔操作)

  1. 路径:宝塔面板 → 容器管理 → 容器编排 → 添加容器编排

  2. 填写名称:fireflyiii

  3. 粘贴以下配置(直接复制,避免手输错误):

services:
  firefly:
    image: fireflyiii/core:version-6.4.15
    container_name: firefly
    ports:
      - "8088:8080"  # 服务器端口:容器端口
    env_file: .env
    depends_on:
      - mysql
    restart: unless-stopped
  mysql:
    image: mysql:8.0
    container_name: firefly-mysql
    environment:
      MYSQL_DATABASE: firefly
      MYSQL_USER: firefly
      MYSQL_PASSWORD: firefly123
      MYSQL_ROOT_PASSWORD: root123
    volumes:
      - /app/db/mysql:/var/lib/mysql

2. 准备 .env 文件

  • 在容器编排目录下创建 .env,内容如下:

APP_KEY=base64:$(php artisan key:generate)  # 用命令生成,别手写
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=firefly
DB_USERNAME=firefly
DB_PASSWORD=firefly123

(生成 APP_KEY 的命令:在容器内执行 php artisan key:generate,复制输出的值)

3. 宝塔建站 & 重启

  • 新建网站 → 域名填 money.template.com不要加 http://

  • 根目录保持默认(/www/wwwroot

  • 关键一步:在 Nginx 配置中删除前端规则 → 保存 → 重启 Nginx

💡为什么选择 Firefly III?

  • 本地化存储:所有数据存本地,不依赖云端(避免“隐私泄露”焦虑)。

  • 分类清晰:收入/支出自动按类别归类(如“餐饮”“交通”),月底报表一目了然。

  • 轻量高效:单容器部署,资源占用低(我的 VPS 4GB 内存跑得飞起)。

(附:部署后第一次看到“余额:0.00”时,我默默点了“添加收入”——这体验比用记账本爽多了)

0

评论区