在安装这些插件后无法重建应用程序

你好,
我正在进行 DigitalOcean 的测试安装。然而,在添加了一些插件后,我无法重新构建应用。奇怪的是,即使我移除了添加的插件,它仍然无法重新构建。
插件代码块中的第一个插件是随 DigitalOcean 安装自带的,所以我遵循了相同的格式。那么,问题可能出在哪里呢?

以下是完整的 YAML 文件

欢迎使用 Ubuntu 22.04.4 LTS (GNU/Linux 5.15.0-113-generic x86_64)

 * 文档:https://help.ubuntu.com
 * 管理:https://landscape.canonical.com
 * 支持:https://ubuntu.com/pro

 系统信息(截至 2024 年 7 月 14 日 23:46:41 UTC)

 系统负载:0.0                进程数:96
 / 分区使用率:25.4%(共 67.66GB)已登录用户:0
 内存使用率:11%                
 交换空间使用率:2%                 

启用 ESM Apps 以接收额外的未来安全更新。
访问 https://ubuntu.com/esm 或运行:sudo pro status


********************************************************************************

欢迎使用 DigitalOcean Discourse 一键应用

首次登录时,系统将提示您配置 Discourse 安装。
所有 Discourse 脚本和文件均可在 /var/discourse 中找到,通过在该目录下运行 discourse-setup 可再次运行设置工具。

如需帮助和更多信息,请访问 https://do.co/3dmapBw

********************************************************************************
删除此每日消息:rm -rf /etc/update-motd.d/99-one-click

root@xxxxx:~# cd /var/discourse
nano containers/app.yml
root@xxxxxx:/var/discourse# ./launcher rebuild app
检测到 x86_64 架构。
确保启动器为最新版本
正在获取 origin
启动器已是最新版本
正在停止旧容器
+ /usr/bin/docker stop -t 600 app
app
2.0.20240708-0023: 正在从 discourse/base 拉取
摘要:sha256:025e9c1f6848c4726544c6ae873d710c62f547b72afb7f537aaa44eb5377cb5c
状态:discourse/base:2.0.20240708-0023 镜像已是最新
docker.io/discourse/base:2.0.20240708-0023
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2024-07-14T23:48:26.474524 #1]  INFO -- : 正在从 stdin 读取
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/merge_command.rb:50:in `merge': 无法将 String 隐式转换为 Hash (TypeError)

      first.merge(second, &merger)
                  ^^^^^^^^^^^^^^^
	from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/merge_command.rb:50:in `deep_merge'
	from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:61:in `block in run'
	from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:57:in `each'
	from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:57:in `run'
	from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/bin/pups:9:in `<top (required)>'
	from /usr/local/bin/pups:25:in `load'
	from /usr/local/bin/pups:25:in `<main>'
引导失败,退出代码为 1
** 引导失败 ** 请向上滚动查看之前的错误消息,可能不止一条。
./discourse-doctor 可能有助于诊断问题。
b32a86eece508c0f95a8edacaf4ab693200cd5c64d54dea565466219f6d65e7f
root@xxxxx:/var/discourse# ./discourse-doctor
DISCOURSE DOCTOR 2024 年 7 月 14 日 23:48:49 UTC
操作系统:Linux ogatrainer 5.15.0-113-generic #123-Ubuntu SMP Mon Jun 10 08:16:17 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux


找到 containers/app.yml

==================== YML 设置 ====================
DISCOURSE_HOSTNAME=xxxxxxxxxxxxxxx
SMTP_ADDRESS=xxxxxxxxxxxxxxxx
DEVELOPER_EMAILS=xxxxxxxxxxxx
SMTP_PASSWORD=xxxxxxxxxxxx
SMTP_PORT=xxx
SMTP_USER_NAME=xxxxxxxxxxxxx
LETSENCRYPT_ACCOUNT_EMAIL=me@example.com

==================== DOCKER 信息 ====================
DOCKER 版本:Docker version 27.0.3, build 7d4bcd8

DOCKER 进程(docker ps -a)

容器 ID   镜像                 命令        创建时间      状态                      端口     名称
aa1792677667   local_discourse/app   "/sbin/boot"   2 天前   已退出 (5) 23 分钟前             app

==================== 严重问题!!!! ====================
app 未运行!
正在尝试重新构建
==================== 重新构建日志 ====================
检测到 x86_64 架构。
确保启动器为最新版本
正在获取 origin
启动器已是最新版本
正在停止旧容器
+ /usr/bin/docker stop -t 600 app
app
2.0.20240708-0023: 正在从 discourse/base 拉取
摘要:sha256:025e9c1f6848c4726544c6ae873d710c62f547b72afb7f537aaa44eb5377cb5c
状态:discourse/base:2.0.20240708-0023 镜像已是最新
docker.io/discourse/base:2.0.20240708-0023
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2024-07-14T23:48:56.604647 #1]  INFO -- : 正在从 stdin 读取
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/merge_command.rb:50:in `merge': 无法将 String 隐式转换为 Hash (TypeError)

      first.merge(second, &merger)
                  ^^^^^^^^^^^^^^^
	from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/merge_command.rb:50:in `deep_merge'
	from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:61:in `block in run'
	from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:57:in `each'
	from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:57:in `run'
	from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/bin/pups:9:in `<top (required)>'
	from /usr/local/bin/pups:25:in `load'
	from /usr/local/bin/pups:25:in `<main>'
引导失败,退出代码为 1
** 引导失败 ** 请向上滚动查看之前的错误消息,可能不止一条。
./discourse-doctor 可能有助于诊断问题。
b9a2b268dd5c4ea7a1c3c878bb3bb9c121a068b543239cc4210180e2089ea888
==================== 重新构建日志结束 ====================
重新构建应用失败。

正在检查您的域名 . . .

连接到 xxx.xxxxx.com 成功。
您可能需要移除任何非标准插件并重新构建。
正在尝试重启现有容器 . . . 
检测到 x86_64 架构。

正在启动现有容器
+ /usr/bin/docker start app
守护进程响应错误:在端点 app (830abdf507c266ee25442d83f063be25c235c2d0710065d32a3ad9157f318d5c) 上编程外部连接时驱动程序失败:绑定端口 0.0.0.0:443/tcp 失败:启动用户态代理错误:listen tcp4 0.0.0.0:443: bind: 地址已被占用
错误:启动容器失败:app
容器重启失败。


==================== 插件 ====================
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-reactions.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/paviliondev/discourse-landing-pages.git
          - git clone https://github.com/discourse/discourse-post-voting.git
          - git clone https://github.com/discourse/discourse-calendar.git
          - git clone https://github.com/discourse/discourse-topic-voting.git
          - git clone https://github.com/discourse/discourse-zoom.git
          - git clone https://github.com/discourse/discourse-follow.git
          - git clone https://github.com/discourse/discourse-ai.git
          - git clone https://github.com/discourse/discourse-subscriptions.git
          - git clone https://github.com/discourse/discourse-affiliate.git
          - git clone https://github.com/discourse/discourse-gamification.git
          - git clone https://github.com/discourse/discourse-adplugin.git
          - git clone https://github.com/discourse/discourse-calendar.git
          - git clone https://github.com/discourse/discourse-whos-online.git
          - git clone https://github.com/discourse/discourse-signatures.git
          - git clone https://github.com/discourse/discourse-cakeday.git
          - git clone https://github.com/discourse/discourse-user-notes.git
          - git clone https://github.com/discourse/discourse-akismet.git
          - git clone https://github.com/procourse/procourse-static-pages.git

警告:
您似乎安装了非官方插件。
如果您遇到问题,应禁用它们并再次尝试重新构建。

官方列表请参阅 https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb

========================================
xxx.xxxxxx.com 处的 Discourse 版本:未找到
localhost 处的 Discourse 版本:未找到


==================== 内存信息 ====================
RAM (MB): 2059

               total        used        free      shared  buff/cache   available
Mem:            1963         214        1299           3         449        1588
Swap:           2047          46        2001

==================== 磁盘空间检查 ====================
---------- 操作系统磁盘空间 ----------
文件系统      大小  已用  可用  使用% 挂载点
/dev/vda1        68G   18G   51G  26% /

==================== 磁盘信息 ====================
磁盘 /dev/loop0: 87.03 MiB, 91258880 字节,178240 扇区
单位:扇区,每个扇区 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最优):512 字节 / 512 字节


磁盘 /dev/loop1: 38.83 MiB, 40714240 字节,79520 扇区
单位:扇区,每个扇区 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最优):512 字节 / 512 字节


磁盘 /dev/loop2: 63.29 MiB, 66359296 字节,129608 扇区
单位:扇区,每个扇区 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最优):512 字节 / 512 字节


磁盘 /dev/loop3: 49.84 MiB, 52260864 字节,102072 扇区
单位:扇区,每个扇区 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最优):512 字节 / 512 字节


磁盘 /dev/loop4: 111.95 MiB, 117387264 字节,229272 扇区
单位:扇区,每个扇区 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最优):512 字节 / 512 字节


磁盘 /dev/loop5: 63.95 MiB, 67051520 字节,130960 扇区
单位:扇区,每个扇区 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最优):512 字节 / 512 字节


磁盘 /dev/vda: 70 GiB, 75161927680 字节,146800640 扇区
单位:扇区,每个扇区 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最优):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:C2901603-FAE8-45CB-86FE-13D02E6B6DC6

设备      起始       结束   扇区数  大小 类型
/dev/vda1  227328 146800606 146573279 69.9G Linux 文件系统
/dev/vda14   2048     10239      8192    4M BIOS 引导
/dev/vda15  10240    227327    217088  106M EFI 系统

分区表条目未按磁盘顺序排列。


磁盘 /dev/vdb: 472 KiB, 483328 字节,944 扇区
单位:扇区,每个扇区 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最优):512 字节 / 512 字节

==================== 磁盘信息结束 ====================



********************************************************************************

欢迎使用 DigitalOcean Discourse 一键应用

首次登录时,系统将提示您配置 Discourse 安装。
所有 Discourse 脚本和文件均可在 /var/discourse 中找到,通过在该目录下运行 discourse-setup 可再次运行设置工具。

如需帮助和更多信息,请访问 https://do.co/3dmapBw

********************************************************************************
删除此每日消息:rm -rf /etc/update-motd.d/99-one-click
上次登录:2024 年 7 月 14 日 23:46:42 来自 xxx.xxx.xxxx
root@xxxxxxx:~# cd /var/discourse
root@xxxxxxx:/var/discourse# ./launcher rebuild app
检测到 x86_64 架构。
确保启动器为最新版本
正在获取 origin
启动器已是最新版本
正在停止旧容器
+ /usr/bin/docker stop -t 600 app
app
2.0.20240708-0023: 正在从 discourse/base 拉取
摘要:sha256:025e9c1f6848c4726544c6ae873d710c62f547b72afb7f537aaa44eb5377cb5c
状态:discourse/base:2.0.20240708-0023 镜像已是最新
docker.io/discourse/base:2.0.20240708-0023
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2024-07-15T00:40:19.347084 #1]  INFO -- : 正在从 stdin 读取
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/merge_command.rb:50:in `merge': 无法将 String 隐式转换为 Hash (TypeError)

      first.merge(second, &merger)
                  ^^^^^^^^^^^^^^^
	from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/merge_command.rb:50:in `deep_merge'
	from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:61:in `block in run'
	from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:57:in `each'
	from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/cli.rb:57:in `run'
	from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/bin/pups:9:in `<top (required)>'
	from /usr/local/bin/pups:25:in `load'
	from /usr/local/bin/pups:25:in `<main>'
引导失败,退出代码为 1
** 引导失败 ** 请向上滚动查看之前的错误消息,可能不止一条。
./discourse-doctor 可能有助于诊断问题。
22325d070d60382ffc6f404d14ee2be77c418596cb35edd4c967ffcbef5754eb
root@xxxxxx:/var/discourse# cd ..
root@xxxxxx:/var# cd ..
root@xxxxxx:/# cd /var/discourse
nano containers/app.yml

  GNU nano 6.2                                                   containers/app.yml                                                             
es## 这是 Discourse Docker 容器的独立一体化模板
##
## 修改此文件后,您必须重新构建
## /var/discourse/launcher rebuild app
##
## 编辑时请 *非常* 小心!
## YAML 文件对空白或对齐错误极其敏感!
## 根据需要访问 http://www.yamllint.com/ 验证此文件

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  ## 取消注释下一行以启用 IPv6 监听器
  #- "templates/web.ipv6.template.yml"
  - "templates/web.ratelimited.template.yml"
  ## 如果您想添加 Lets Encrypt (https),请取消注释这两行
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"

## 此容器应暴露哪些 TCP/IP 端口?
## 如果您希望 Discourse 与 Apache 或 nginx 等其他 Web 服务器共享端口,
## 请参阅 https://meta.discourse.org/t/17247 了解详情
expose:
  - "80:80"   # http

此处不支持此安装形式。您必须使用基础 VPS 并遵循标准的安装流程。

这不就是底层进行标准安装吗?

您安装了哪些新插件?

猜测一下,看看您的文件,注释掉“procourse”插件。它是列表中的最后一个。

https://github.com/procourse/procourse-static-pages.git

原始插件不再维护。有一个分支。

话虽如此,由于核心更改,它可能再次损坏。


安装插件有点麻烦。但一次添加一个,重建,检查站点是否重建成功且站点正常运行。继续安装下一个插件。

我真的不知道,但过去这些帖子让我对它有所警惕。

我会先移除 procourse 和 pavilion 插件。

谢谢大家。由于 Digital Ocean 安装不受支持,我已放弃。然后我遵循了标准的、有文档记录且有社区支持的安装路线,但我的新问题是,初始激活电子邮件未发送。有点奇怪