参考:Heimdall - no applications, updating list does not work : selfhosted (reddit.com)

最近通过docker安装heimdall后,发现无法更新app列表。查看docker日志如下:

[2022-03-08 07:11:57][35] Processing: App\Jobs\ProcessApps
[2022-03-08 07:12:00][35] Failed: App\Jobs\ProcessApps

[2022-03-08 07:12:00][36] Processing: App\Jobs\ProcessApps
[2022-03-08 07:12:02][36] Failed: App\Jobs\ProcessApps

排除网络原因后,直接访问文件下载地址返回404,猜测是文件下载服务器关闭或出现故障。后发现作者在github上维护了app列表的项目,直接克隆到本地即可。

参考作者的wiki和reddit上的帖子,步骤如下(基于docker环境):

  1. 将https://github.com/linuxserver/Heimdall-Apps克隆到SupportedApps目录中,该目录在映射的config目录下的www目录中
  2. 删除所有非app名字的目录和文件,如.git.github.gitignoreCNAME
  3. 运行 docker exec -it heimdall bash进入容器
  4. 运行cd /var/www/localhost/heimdall/进入项目目录
  5. 运行php artisan register:app all注册各个app
  6. 如果报错可以选择删除对应的目录,并重新运行上一步的命令
  7. 完成

由于heimdall注册app对文件格式有一定要求,app名和目录内的相关php文件名字需要一致,在我的注册过程中,WordPress由于其内部的Wordpress.php大小写与目录名不一致,无法通过,修改后即可成功注册。