Firefly III 的 docker 容器安装部署

Firefly III 是一款基于 web 的个人财务管理软件,采用 PHP 开发。它是开源的,可以自行部署到自己的服务器上。

官方的演示站点地址: https://demo.firefly-iii.org/login

本文简单记录 Firefly III 的 docker 容器部署过程,使用 docker compose 进行部署。官方的镜像可以从 docker hub 上获取,默认镜像 fireflyiii/core:latest

安装 docker 以及 compose

使用包管理工具安装 docker 和 compose。

1
apt install docker.io docker-compose

或参照 docker 文档安装 compose: https://docs.docker.com/compose/install/#install-compose

部署 Firefly III

从官方 Github 仓库下载 compose 文件,可以放置在任意位置,最好是单独建立一个文件夹。

按需对 compose 文件进行修改,如数据库配置信息等,注意和 .env 文件中的设置一致。

Firefly III 的 compose 文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
version: '3.3'

services:
app:
image: fireflyiii/core:latest
restart: always
volumes:
- firefly_iii_upload:/var/www/html/storage/upload
env_file: .env
ports:
- 80:8080
depends_on:
- db
db:
image: mariadb
hostname: fireflyiiidb
restart: always
environment:
- MYSQL_RANDOM_ROOT_PASSWORD=yes
- MYSQL_USER=firefly
- MYSQL_PASSWORD=secret_firefly_password
- MYSQL_DATABASE=firefly
volumes:
- firefly_iii_db:/var/lib/mysql
volumes:
firefly_iii_upload:
firefly_iii_db:

如果数据库不使用数据卷容器,可以省略 volumes 配置部分,然后使用文件系统的绝对路径进行挂载,例:

1
2
3
volumes:
// 使用绝对路径挂载数据卷
- /opt/data:/var/lib/mysql

然后从官方 Github 仓库下载 环境变量配置文件,重命名为 .env,放在 compose 文件相同的文件夹中。按需对文件进行修改。

Firefly III 的环境变量文件
1
2
3
4
5
6
7
8
9
10
11
APP_ENV=production

APP_KEY=SomeRandomStringOf32CharsExactly

TZ=Asia/Shanghai

# TRUSTED_PROXIES is a useful variable when using Docker and/or a reverse proxy.
# Set it to ** and reverse proxies work just fine.
TRUSTED_PROXIES=**

DB_PASSWORD=************* #修改

启动容器

1
docker-compose -f docker-compose.yml up -d

通过上述命令启动容器。如果需要追踪安装过程,使用以下命令:

1
docker-compose -f docker-compose.yml logs -f

安装结束后,默认运行在 localhost 上。如果在日志中看到报错: Could not reliably determine the server's fully qualified domain name,可以忽略该错误。

如果需要设置反向代理的话,在上述环境变量中设置 TRUSTED_PROXIES

安装后

安装后通过地址访问 Firefly III,默认注册第一个用户后自动禁止新用户注册。

要提高账户访问安全性,可以打开设置中的两步验证。