什么是Firefly III
Firefly III是一个个人收支管理工具,这里是Github项目主页。
我现在渐渐开始觉得每个月在服务器上的支出难以统计,如果能有一个工具能帮我完成统计工作顺便记账,那就再好不过了,随手搜了一下,Firefly III不是最有名的,也不是star最多的,但它的logo是个挺可爱的着火小猪,让我无法拒绝。
利用Docker-compose部署Firefly
Docker和Docker-compose部署的方法可以参照官方docs,直接用docs中提供的docker-compose.yml,修改一下端口映射(因为还要配置反代),然后修改一下数据库密码。
然后创建.env文件,里面的项目有很多需要按需求修改。比如为了反代正常,需要TRUSTED_PROXIES=**
。数据库的密码也要按照docker-compose.yml修改,邮件设置中因为我是用mailgun,需要改成MAIL_MAILER=mailgun
,并且需要填入MAILGUN_DOMAIN和MAILGUN_SECRET。
总的来说.env文件中的说明已经非常清楚,配置起来应该不会有什么问题。
修改完这两个文件后用docker-compose up -d
启动container即可。
配置反代
反代非常简单,只要RequestHeader set X-Forwarded-Proto "https"
,ProxyPass / http://localhost:8080/
以及ProxyPassReverse / http://localhost:8080/
就可以了。
配置cron任务
安装完成后访问地址应该就可以正常运行了,但是定期开销依赖的cron任务还需要手动配置。
docker的cron任务不能直接运行,需要通过docker运行。crontab -e
加入0 3 * * * docker exec -u www-data firefly_app_1 /usr/local/bin/php /var/www/html/artisan firefly:cron
即可。
cache权限报错解决方案
第一次运行cron时忘了设置www-data为用户,运行完之后就无法进入网站了。报错为:
file_put_contents(/var/www/html/storage/framework/cache/data/somelongstringshere): Failed to open stream: Permission denied
运行docker exec -u www-data firefly_app_1 /usr/local/bin/php /var/www/html/artisan cache:clear
清除缓存就解决了问题。
Comments NOTHING