你好,
我正在进行 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