Docker搭建记账软件Firefly III
发表于更新于
字数总计:522阅读时长:2分钟阅读量: 成都
软件配置服务器Docker搭建记账软件Firefly III
InsectMk开始
创建数据库
使用MySQL5.7
创建数据库一个名为firefly_iii
的数据库(数据库名可以自行定义)
docker-compose
新建/opt/docker/compose/firefly_iii
工程目录并进入该目录
新建docker-compose.yml
文件,内容如下:
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| version: '3.3'
services: app: image: fireflyiii/core:latest hostname: app container_name: firefly_iii_core restart: always volumes: - firefly_iii_upload:/var/www/html/storage/upload
env_file: .env
networks: - firefly_iii ports:
- 127.0.0.1:<映射到本地的端口>:8080
depends_on: - db db: image: mariadb hostname: db container_name: firefly_iii_db restart: always
env_file: .db.env
networks: - firefly_iii volumes: - firefly_iii_db:/var/lib/mysql cron: image: alpine restart: always container_name: firefly_iii_cron command: sh -c "echo \"0 3 * * * wget -qO- http://app:8080/api/v1/cron/REPLACEME\" | crontab - && crond -f -L /dev/stdout" networks: - firefly_iii
volumes: firefly_iii_upload: firefly_iii_db:
networks: firefly_iii: driver: bridge
|
新建.env
文件,内容如下:
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| APP_ENV=local APP_DEBUG=false
SITE_OWNER=example@example.com
APP_KEY=SomeRandomStringOf32CharsExactly
DEFAULT_LANGUAGE=zh_CH DEFAULT_LOCALE=equal
TZ=Asia/Shanghai
TRUSTED_PROXIES=**
LOG_CHANNEL=stack APP_LOG_LEVEL=emergency AUDIT_LOG_LEVEL=emergency
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306
DB_DATABASE=<数据库名称>
DB_USERNAME=<数据库用户名>
DB_PASSWORD=<数据库用户密码>
MYSQL_USE_SSL=false
COOKIE_PATH="/" COOKIE_SECURE=false COOKIE_SAMESITE=lax
SEND_ERROR_MESSAGE=true SEND_REPORT_JOURNALS=true
ENABLE_EXTERNAL_MAP=false ENABLE_EXTERNAL_RATES=false
AUTHENTICATION_GUARD=web AUTHENTICATION_GUARD_HEADER=REMOTE_USER
DISABLE_FRAME_HEADER=false
DISABLE_CSP_HEADER=false
ALLOW_WEBHOOKS=false
DKR_BUILD_LOCALE=false
DKR_CHECK_SQLITE=false
DKR_RUN_MIGRATION=true DKR_RUN_UPGRADE=true DKR_RUN_VERIFY=true DKR_RUN_REPORT=true DKR_RUN_PASSPORT_INSTALL=true
APP_NAME=FireflyIII BROADCAST_DRIVER=log QUEUE_DRIVER=sync CACHE_PREFIX=firefly FIREFLY_III_LAYOUT=v1
|
新建.db.env
文件,内容如下:
1 2 3 4
| MYSQL_RANDOM_ROOT_PASSWORD=yes MYSQL_DATABASE=<数据库名称> MYSQL_USER=<数据库用户名> MYSQL_PASSWORD=<数据库用户密码>
|
在/opt/docker/compose/firefly_iii
工程目录下执行以下代码构建容器:
1
| sudo docker-compose up -d
|
执行完成后使用sudo docker ps
查看容器状态,如fireflyiii/core:latest
的STATUS
为(healthy)
即部署成功
反向代理
此时不能直接通过IP+端口的方式访问。
到域名厂商配置解析后,使用Nginx进行反向代理后才能够访问。
参考文档
官方Docker安装文档
如何利用 Docker & Nginx 在 VPS 上部署 Firefly III 记账软件