你好,我第一次安装 Discourse 时遇到了困难。在运行 ./discourse-setup 和 ./launcher rebuild app 失败后,我运行 ./discourse-doctor 得到了以下输出,其中包含了与重建过程中相同的行为。
DISCOURSE DOCTOR 2022 年 2 月 27 日 14:14:17 CET
操作系统:Linux debian-discourse 5.10.0-11-amd64 #1 SMP Debian 5.10.92-1 (2022-01-18) x86_64 GNU/Linux
发现 containers/app.yml
==================== YML 设置 ====================
DISCOURSE_HOSTNAME=forum.mydomain.com
SMTP_ADDRESS=mail.mydomain.com
DEVELOPER_EMAILS=admin@mydomain.com
SMTP_PASSWORD=mypassword
SMTP_PORT=587
SMTP_USER_NAME=noreply@mydomain.com
LETSENCRYPT_ACCOUNT_EMAIL=me@example.com
==================== DOCKER 信息 ====================
DOCKER 版本:Docker version 20.10.12, build e91ed57
DOCKER 进程 (docker ps -a)
容器 ID 镜像 命令 创建时间 状态 端口 名称
==================== 严重问题!!!! ====================
app 未运行!
尝试重建
==================== 重建日志 ====================
检测到 x86_64 架构。
确保启动器是最新的
正在获取 origin
启动器已是最新
/usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2022-02-27T13:14:40.211696 #1] INFO -- : 从 stdin 读取
I, [2022-02-27T13:14:40.220344 #1] INFO -- : > locale-gen $LANG && update-locale
I, [2022-02-27T13:14:40.258913 #1] INFO -- : 正在生成语言环境(这可能需要一些时间)...
生成完成。
I, [2022-02-27T13:14:40.259380 #1] INFO -- : > mkdir -p /shared/postgres_run
I, [2022-02-27T13:14:40.264481 #1] INFO -- :
I, [2022-02-27T13:14:40.265241 #1] INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2022-02-27T13:14:40.268881 #1] INFO -- :
I, [2022-02-27T13:14:40.269295 #1] INFO -- : > chmod 775 /shared/postgres_run
I, [2022-02-27T13:14:40.272763 #1] INFO -- :
I, [2022-02-27T13:14:40.272999 #1] INFO -- : > rm -fr /var/run/postgresql
I, [2022-02-27T13:14:40.276546 #1] INFO -- :
I, [2022-02-27T13:14:40.276820 #1] INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2022-02-27T13:14:40.280134 #1] INFO -- :
I, [2022-02-27T13:14:40.280369 #1] INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
2022/02/27 13:14:40 socat[19] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): 没有那个文件或目录
I, [2022-02-27T13:14:40.288971 #1] INFO -- :
I, [2022-02-27T13:14:40.289190 #1] INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2022-02-27T13:14:40.293475 #1] INFO -- :
I, [2022-02-27T13:14:40.293677 #1] INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2022-02-27T13:14:40.297588 #1] INFO -- :
I, [2022-02-27T13:14:40.297786 #1] INFO -- : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2022-02-27T13:14:40.301263 #1] INFO -- :
I, [2022-02-27T13:14:40.301849 #1] INFO -- : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2022-02-27T13:14:40.304979 #1] INFO -- :
I, [2022-02-27T13:14:40.312270 #1] INFO -- : 文件 > /etc/service/postgres/run chmod: +x chown:
I, [2022-02-27T13:14:40.318971 #1] INFO -- : 文件 > /etc/service/postgres/log/run chmod: +x chown:
I, [2022-02-27T13:14:40.325763 #1] INFO -- : 文件 > /etc/runit/3.d/99-postgres chmod: +x chown:
I, [2022-02-27T13:14:40.332281 #1] INFO -- : 文件 > /root/upgrade_postgres chmod: +x chown:
I, [2022-02-27T13:14:40.332909 #1] INFO -- : > chown -R root /var/lib/postgresql/13/main
I, [2022-02-27T13:15:07.631079 #1] INFO -- :
I, [2022-02-27T13:15:07.631961 #1] INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/13/bin/initdb -D /shared/postgres_data || exit 0
I, [2022-02-27T13:15:07.635691 #1] INFO -- :
I, [2022-02-27T13:15:07.635980 #1] INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2022-02-27T13:15:07.653147 #1] INFO -- :
I, [2022-02-27T13:15:07.653742 #1] INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2022-02-27T13:15:07.657676 #1] INFO -- :
I, [2022-02-27T13:15:07.658155 #1] INFO -- : > /root/upgrade_postgres
I, [2022-02-27T13:15:07.664610 #1] INFO -- :
I, [2022-02-27T13:15:07.665202 #1] INFO -- : > rm /root/upgrade_postgres
I, [2022-02-27T13:15:07.668622 #1] INFO -- :
I, [2022-02-27T13:15:07.669307 #1] INFO -- : 将 data_directory = '/var/lib/postgresql/13/main' 替换为 data_directory = '/shared/postgres_data',文件位于 /etc/postgresql/13/main/postgresql.conf
I, [2022-02-27T13:15:07.670471 #1] INFO -- : 将 (?-mix:#?listen_addresses *=.*) 替换为 listen_addresses = '*',文件位于 /etc/postgresql/13/main/postgresql.conf
I, [2022-02-27T13:15:07.671259 #1] INFO -- : 将 (?-mix:#?synchronous_commit *=.*) 替换为 synchronous_commit = $db_synchronous_commit,文件位于 /etc/postgresql/13/main/postgresql.conf
I, [2022-02-27T13:15:07.672181 #1] INFO -- : 将 (?-mix:#?shared_buffers *=.*) 替换为 shared_buffers = $db_shared_buffers,文件位于 /etc/postgresql/13/main/postgresql.conf
I, [2022-02-27T13:15:07.673070 #1] INFO -- : 将 (?-mix:#?work_mem *=.*) 替换为 work_mem = $db_work_mem,文件位于 /etc/postgresql/13/main/postgresql.conf
I, [2022-02-27T13:15:07.673941 #1] INFO -- : 将 (?-mix:#?default_text_search_config *=.*) 替换为 default_text_search_config = '$db_default_text_search_config',文件位于 /etc/postgresql/13/main/postgresql.conf
I, [2022-02-27T13:15:07.674713 #1] INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2022-02-27T13:15:07.679131 #1] INFO -- :
I, [2022-02-27T13:15:07.679903 #1] INFO -- : 将 (?-mix:#?checkpoint_segments *=.*) 替换为 checkpoint_segments = $db_checkpoint_segments,文件位于 /etc/postgresql/13/main/postgresql.conf
I, [2022-02-27T13:15:07.680809 #1] INFO -- : 将 (?-mix:#?logging_collector *=.*) 替换为 logging_collector = $db_logging_collector,文件位于 /etc/postgresql/13/main/postgresql.conf
I, [2022-02-27T13:15:07.681702 #1] INFO -- : 将 (?-mix:#?log_min_duration_statement *=.*) 替换为 log_min_duration_statement = $db_log_min_duration_statement,文件位于 /etc/postgresql/13/main/postgresql.conf
I, [2022-02-27T13:15:07.682604 #1] INFO -- : 将 (?-mix:^#local +replication +postgres +peer$) 替换为 local replication postgres peer,文件位于 /etc/postgresql/13/main/pg_hba.conf
I, [2022-02-27T13:15:07.683423 #1] INFO -- : 将 (?-mix:^host.*all.*all.*127.*$) 替换为 host all all 0.0.0.0/0 md5,文件位于 /etc/postgresql/13/main/pg_hba.conf
I, [2022-02-27T13:15:07.684256 #1] INFO -- : 将 (?-mix:^host.*all.*all.*::1\/128.*$) 替换为 host all all ::/0 md5,文件位于 /etc/postgresql/13/main/pg_hba.conf
I, [2022-02-27T13:15:07.684957 #1] INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main
I, [2022-02-27T13:15:07.687522 #1] INFO -- : > sleep 5
2022-02-27 13:15:07.838 UTC [42] LOG: 正在启动 PostgreSQL 13.5 (Debian 13.5-1.pgdg110+1),架构为 x86_64-pc-linux-gnu,由 gcc (Debian 10.2.1-6) 10.2.1 20210110 编译,64 位
2022-02-27 13:15:07.838 UTC [42] LOG: 监听 IPv4 地址 "0.0.0.0",端口 5432
2022-02-27 13:15:07.838 UTC [42] LOG: 监听 IPv6 地址 "::",端口 5432
2022-02-27 13:15:07.887 UTC [42] LOG: 监听 Unix 套接字 "/var/run/postgresql/.s.PGSQL.5432"
2022-02-27 13:15:07.929 UTC [45] LOG: 数据库系统在 2022-02-27 13:06:07 UTC 关闭
2022-02-27 13:15:07.962 UTC [42] LOG: 数据库系统已准备好接受连接
I, [2022-02-27T13:15:12.691185 #1] INFO -- :
I, [2022-02-27T13:15:12.691781 #1] INFO -- : > su postgres -c 'createdb discourse' || true
2022-02-27 13:15:12.768 UTC [55] postgres@postgres ERROR: 数据库 "discourse" 已存在
2022-02-27 13:15:12.768 UTC [55] postgres@postgres STATEMENT: CREATE DATABASE discourse;
createdb: 错误:数据库创建失败:错误:数据库 "discourse" 已存在
I, [2022-02-27T13:15:12.771177 #1] INFO -- :
I, [2022-02-27T13:15:12.771774 #1] INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2022-02-27 13:15:12.836 UTC [59] postgres@discourse ERROR: 角色 "discourse" 已存在
2022-02-27 13:15:12.836 UTC [59] postgres@discourse STATEMENT: create user discourse;
ERROR: 角色 "discourse" 已存在
I, [2022-02-27T13:15:12.839812 #1] INFO -- :
I, [2022-02-27T13:15:12.840513 #1] INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
I, [2022-02-27T13:15:12.902932 #1] INFO -- : GRANT
I, [2022-02-27T13:15:12.903783 #1] INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
I, [2022-02-27T13:15:12.963912 #1] INFO -- : ALTER SCHEMA
I, [2022-02-27T13:15:12.964720 #1] INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists hstore;"'
NOTICE: 扩展 "hstore" 已存在,跳过
I, [2022-02-27T13:15:13.030209 #1] INFO -- : CREATE EXTENSION
I, [2022-02-27T13:15:13.030918 #1] INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists pg_trgm;"'
NOTICE: 扩展 "pg_trgm" 已存在,跳过
I, [2022-02-27T13:15:13.090523 #1] INFO -- : CREATE EXTENSION
I, [2022-02-27T13:15:13.091201 #1] INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists hstore;"'
NOTICE: 扩展 "hstore" 已存在,跳过
I, [2022-02-27T13:15:13.150759 #1] INFO -- : CREATE EXTENSION
I, [2022-02-27T13:15:13.151302 #1] INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists pg_trgm;"'
NOTICE: 扩展 "pg_trgm" 已存在,跳过
I, [2022-02-27T13:15:13.210963 #1] INFO -- : CREATE EXTENSION
I, [2022-02-27T13:15:13.211547 #1] INFO -- : > sudo -u postgres psql discourse
I, [2022-02-27T13:15:13.214480 #1] INFO -- : update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'discourse' AND encoding = pg_char_to_encoding('SQL_ASCII');
I, [2022-02-27T13:15:13.281034 #1] INFO -- : 文件 > /var/lib/postgresql/take-database-backup chmod: +x chown: postgres:postgres
I, [2022-02-27T13:15:13.285330 #1] INFO -- : 文件 > /var/spool/cron/crontabs/postgres chmod: chown:
I, [2022-02-27T13:15:13.285864 #1] INFO -- : > echo postgres installed!
I, [2022-02-27T13:15:13.288953 #1] INFO -- : postgres 已安装!
I, [2022-02-27T13:15:13.295719 #1] INFO -- : 文件 > /etc/service/redis/run chmod: +x chown:
I, [2022-02-27T13:15:13.302598 #1] INFO -- : 文件 > /etc/service/redis/log/run chmod: +x chown:
I, [2022-02-27T13:15:13.309776 #1] INFO -- : 文件 > /etc/runit/3.d/10-redis chmod: +x chown:
I, [2022-02-27T13:15:13.310579 #1] INFO -- : 将 daemonize yes 替换为空,文件位于 /etc/redis/redis.conf
I, [2022-02-27T13:15:13.311721 #1] INFO -- : 将 (?-mix:^pidfile.*$) 替换为空,文件位于 /etc/redis/redis.conf
I, [2022-02-27T13:15:13.312613 #1] INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2022-02-27T13:15:13.317020 #1] INFO -- :
I, [2022-02-27T13:15:13.317935 #1] INFO -- : 将 (?-mix:^logfile.*$) 替换为 logfile "",文件位于 /etc/redis/redis.conf
I, [2022-02-27T13:15:13.318912 #1] INFO -- : 将 (?-mix:^bind .*$) 替换为空,文件位于 /etc/redis/redis.conf
I, [2022-02-27T13:15:13.319881 #1] INFO -- : 将 (?-mix:^dir .*$) 替换为 dir /shared/redis_data,文件位于 /etc/redis/redis.conf
I, [2022-02-27T13:15:13.320844 #1] INFO -- : 将 (?-mix:^protected-mode yes) 替换为 protected-mode no,文件位于 /etc/redis/redis.conf
I, [2022-02-27T13:15:13.321738 #1] INFO -- : 将 # io-threads 4 替换为 io-threads $redis_io_threads,文件位于 /etc/redis/redis.conf
I, [2022-02-27T13:15:13.322478 #1] INFO -- : > echo redis installed
I, [2022-02-27T13:15:13.326308 #1] INFO -- : redis 已安装
I, [2022-02-27T13:15:13.326960 #1] INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2022-02-27T13:15:13.332396 #1] INFO -- : logfile ""
I, [2022-02-27T13:15:13.332993 #1] INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2022-02-27T13:15:13.335499 #1] INFO -- : > sleep 10
103:C 27 Feb 2022 13:15:13.340 # oO0OoO0OoO0Oo Redis 正在启动 oO0OoO0OoO0Oo
103:C 27 Feb 2022 13:15:13.341 # Redis 版本=6.2.6, 位数=64, 提交=00000000, 修改=0, pid=103, 刚刚启动
103:C 27 Feb 2022 13:15:13.341 # 配置已加载
103:M 27 Feb 2022 13:15:13.341 * 单调时钟:POSIX clock_gettime
103:M 27 Feb 2022 13:15:13.342 * 运行模式=独立,端口=6379。
103:M 27 Feb 2022 13:15:13.342 # 服务器已初始化
103:M 27 Feb 2022 13:15:13.343 * 正在加载由版本 6.2.6 生成的 RDB
103:M 27 Feb 2022 13:15:13.343 * RDB 年龄 546 秒
103:M 27 Feb 2022 13:15:13.343 * 创建时的 RDB 内存使用量为 0.77 Mb
103:M 27 Feb 2022 13:15:13.343 # RDB 加载完成,已加载键:0,已过期键:0。
103:M 27 Feb 2022 13:15:13.343 * 从磁盘加载数据库耗时:0.000 秒
103:M 27 Feb 2022 13:15:13.343 * 已准备好接受连接
I, [2022-02-27T13:15:23.339851 #1] INFO -- :
I, [2022-02-27T13:15:23.340705 #1] INFO -- : > thpoff echo "thpoff is installed!"
I, [2022-02-27T13:15:23.346062 #1] INFO -- : thpoff 已安装!
I, [2022-02-27T13:15:23.346888 #1] INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "Aborting! Mail is not configured!"; exit 1; end'
I, [2022-02-27T13:15:23.455351 #1] INFO -- :
I, [2022-02-27T13:15:23.456160 #1] INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Aborting! Domain is not configured!"; exit 1; end'
I, [2022-02-27T13:15:23.534625 #1] INFO -- :
I, [2022-02-27T13:15:23.535120 #1] INFO -- : > /usr/local/bin/ruby -e 'if (ENV["DISCOURSE_CDN_URL"] || "")[0..1] == "//"; puts "Aborting! CDN must have a protocol specified. Once fixed you should rebake your posts now to correct all posts."; exit 1; end'
I, [2022-02-27T13:15:23.610977 #1] INFO -- :
I, [2022-02-27T13:15:23.611991 #1] INFO -- : > rm -f /etc/cron.d/anacron
I, [2022-02-27T13:15:23.616191 #1] INFO -- :
I, [2022-02-27T13:15:23.620358 #1] INFO -- : 文件 > /etc/cron.d/anacron chmod: chown:
I, [2022-02-27T13:15:23.627573 #1] INFO -- : 文件 > /etc/runit/1.d/copy-env chmod: +x chown:
I, [2022-02-27T13:15:23.635113 #1] INFO -- : 文件 > /etc/service/unicorn/run chmod: +x chown:
I, [2022-02-27T13:15:23.642512 #1] INFO -- : 文件 > /etc/service/nginx/run chmod: +x chown:
I, [2022-02-27T13:15:23.649389 #1] INFO -- : 文件 > /etc/runit/3.d/01-nginx chmod: +x chown:
I, [2022-02-27T13:15:23.656276 #1] INFO -- : 文件 > /etc/runit/3.d/02-unicorn chmod: +x chown:
I, [2022-02-27T13:15:23.656857 #1] INFO -- : 将 # postgres 替换为 sv start postgres || exit 1,文件位于 /etc/service/unicorn/run
I, [2022-02-27T13:15:23.657499 #1] INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2022-02-27T13:15:23.660628 #1] INFO -- : > cd /var/www/discourse && git reset --hard
130:C 27 Feb 2022 13:15:23.664 # oO0OoO0OoO0Oo Redis 正在启动 oO0OoO0OoO0Oo
130:C 27 Feb 2022 13:15:23.664 # Redis 版本=6.2.6, 位数=64, 提交=00000000, 修改=0, pid=130, 刚刚启动
130:C 27 Feb 2022 13:15:23.664 # 配置已加载
130:M 27 Feb 2022 13:15:23.665 * 单调时钟:POSIX clock_gettime
130:M 27 Feb 2022 13:15:23.666 # 警告:无法创建服务器 TCP 监听套接字 *:6379: bind: 地址已被占用
130:M 27 Feb 2022 13:15:23.666 # 无法监听端口 6379 (TCP),正在中止。
正在更新文件:100% (30947/30947),完成。
I, [2022-02-27T13:15:29.169205 #1] INFO -- : HEAD 现在位于 e1367cde I18N: Improve copy on blocked words error messages (#15741)
I, [2022-02-27T13:15:29.169470 #1] INFO -- : > cd /var/www/discourse && git clean -f
I, [2022-02-27T13:15:29.344280 #1] INFO -- :
I, [2022-02-27T13:15:29.344569 #1] INFO -- : > cd /var/www/discourse && git remote set-branches --add origin main
I, [2022-02-27T13:15:29.350087 #1] INFO -- :
I, [2022-02-27T13:15:29.350318 #1] INFO -- : > cd /var/www/discourse && git remote set-branches origin tests-passed
I, [2022-02-27T13:15:29.355709 #1] INFO -- :
I, [2022-02-27T13:15:29.355974 #1] INFO -- : > cd /var/www/discourse && git fetch --depth 1 origin tests-passed
fatal: 无法访问 'https://github.com/discourse/discourse.git/':无法解析主机 github.com
I, [2022-02-27T13:15:49.400103 #1] INFO -- :
I, [2022-02-27T13:15:49.400811 #1] INFO -- : 正在终止异步进程
I, [2022-02-27T13:15:49.400896 #1] INFO -- : 向 HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 42 发送 INT
I, [2022-02-27T13:15:49.401433 #1] INFO -- : 向 exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103 发送 TERM
103:signal-handler (1645967749) 收到 SIGTERM,计划关闭...
2022-02-27 13:15:49.401 UTC [42] LOG: 收到快速关闭请求
103:M 27 Feb 2022 13:15:49.411 # 用户请求关闭...
103:M 27 Feb 2022 13:15:49.411 * 正在保存最终的 RDB 快照然后退出。
2022-02-27 13:15:49.448 UTC [42] LOG: 中止任何活动事务
2022-02-27 13:15:49.451 UTC [42] LOG: 后台工作进程 "logical replication launcher" (PID 51) 以退出代码 1 退出
2022-02-27 13:15:49.452 UTC [46] LOG: 正在关闭
103:M 27 Feb 2022 13:15:49.469 * 数据库已保存到磁盘
103:M 27 Feb 2022 13:15:49.469 # Redis 现在准备退出,再见...
2022-02-27 13:15:49.655 UTC [42] LOG: 数据库系统已关闭
失败
--------------------
Pups::ExecError: cd /var/www/discourse && git fetch --depth 1 origin tests-passed 失败,返回 #<Process::Status: pid 141 exit 128>
失败位置:/usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
执行失败,参数为 {"cd"=>"$home", "hook"=>"code", "cmd"=>["git reset --hard", "git clean -f", "git remote set-branches --add origin main", "git remote set-branches origin $version", "git fetch --depth 1 origin $version", "git checkout $version", "mkdir -p tmp", "chown discourse:www-data tmp", "mkdir -p tmp/pids", "mkdir -p tmp/sockets", "touch tmp/.gitkeep", "mkdir -p /shared/log/rails", "bash -c \"touch -a /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log\"", "bash -c \"ln -s /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log $home/log\"", "bash -c \"mkdir -p /shared/{uploads,backups}\"", "bash -c \"ln -s /shared/{uploads,backups} $home/public\"", "bash -c \"mkdir -p /shared/tmp/{backups,restores}\"", "bash -c \"ln -s /shared/tmp/{backups,restores} $home/tmp\"", "chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp", "find public/plugins/ -maxdepth 1 -xtype l -delete"]}
ff0cb1ccb91cf850a403193099c4cebdad079869235786bba2dad57d49cf9151
** 引导失败 ** 请向上滚动查找更早的错误消息,可能不止一条。
./discourse-doctor 可能有助于诊断问题。
==================== 重建日志结束 ====================
应用重建失败。
正在检查您的域名 . . .
连接到 forum.mydomain.com 成功。
您可能应该删除任何非官方插件并重新构建。
尝试重启现有容器 . . .
检测到 x86_64 架构。
+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=4 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LETSENCRYPT_DIR=/shared/letsencrypt -e DISCOURSE_FORCE_HTTPS=true -e LC_ALL=en_US.UTF-8 -e LANGUAGE=en_US.UTF-8 -e EMBER_CLI_PROD_ASSETS=1 -e DISCOURSE_HOSTNAME=forum.mydomain.com -e DISCOURSE_DEVELOPER_EMAILS=admin@mydomain.com -e DISCOURSE_SMTP_ADDRESS=mail.mydomain.com -e DISCOURSE_SMTP_PORT=587 -e DISCOURSE_SMTP_USER_NAME=noreply@mydomain.com -e DISCOURSE_SMTP_PASSWORD=mypassword -e DISCOURSE_SMTP_DOMAIN=forum.mydomain.com -e DISCOURSE_NOTIFICATION_EMAIL=noreply@mydomain.com -e LETSENCRYPT_ACCOUNT_EMAIL=me@example.com -h debian-discourse-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 443:443 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:ea:03:0c:77:53 local_discourse/app /sbin/boot
无法在本地找到镜像 'local_discourse/app:latest'
docker: 错误响应来自守护进程:拒绝访问 local_discourse/app,仓库不存在或可能需要 'docker login':拒绝:请求访问资源被拒绝。
请参阅 'docker run --help'。
容器重启失败。
==================== 插件 ====================
- git clone https://github.com/discourse/docker_manager.git
未检测到非官方插件。
官方列表请参阅 https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb。
========================================
forum.mydomain.com 处的 Discourse 版本:未找到
localhost 处的 Discourse 版本:未找到
==================== 内存信息 ====================
RAM (MB): 2078
total used free shared buff/cache available
Mem: 1982 204 470 0 1307 1593
Swap: 2047 0 2047
==================== 磁盘空间检查 ====================
---------- 操作系统磁盘空间 ----------
文件系统 大小 已用 可用 使用% 挂载点
/dev/sda2 96G 5.5G 86G 6% /
==================== 磁盘信息 ====================
磁盘 /dev/sda: 100 GiB, 107374182400 字节,209715200 扇区
磁盘型号:BHYVE SATA DISK
单位:1 * 512 = 512 字节的扇区
扇区大小(逻辑/物理):512 字节 / 16384 字节
I/O 大小(最小/最优):16384 字节 / 16384 字节
磁盘标签类型:gpt
磁盘标识符:0744CFC1-F98B-4694-9EBF-7F0697C68B40
设备 起始 结束 扇区数 大小 类型
/dev/sda1 2048 1050623 1048576 512M EFI 系统
/dev/sda2 1050624 205518847 204468224 97.5G Linux 文件系统
/dev/sda3 205518848 209713151 4194304 2G Linux swap
==================== 磁盘信息结束 ====================
==================== 邮件测试 ====================
要进行稳健测试,请从 http://www.mail-tester.com/ 获取一个地址
或者只是给自己发送一封测试邮件。
邮件测试的电子邮件地址?(输入 'n' 跳过)[admin@mydomain.com]:
正在向 admin@mydomain.com 发送邮件 . . .
错误:没有名为 app 的容器
正在替换:SMTP_PASSWORD
正在替换:LETSENCRYPT_ACCOUNT_EMAIL
正在替换:DEVELOPER_EMAILS
正在替换:DISCOURSE_DB_PASSWORD
正在替换:Sending mail to
==================== 完成!====================
最终,它将在反向代理后面运行(这就是我没有配置 letsencrypt 的原因),但此日志是在端口 80 和 443 直接转发到该虚拟机时生成的,以便医生可以看到域名是否正确路由到它。下面我有一些关于问题可能是什么的想法,但不知道接下来该尝试哪些故障排除步骤。
我的猜测
邮件
我在 mail.mydomain.com 上运行一个邮件服务器,我计划使用它,也许它配置不正确。在上面,我创建了 admin@ 和 noreply@ 账户,并且我可以从 mail.mydomain.com:587 通过它发送邮件,在机器上我也可以通过 telnet 按预期访问它。无论如何,似乎发送邮件失败是因为没有应用的 Docker 容器。
加载配置错误
无论我在配置中写入什么,构建日志中都会出现这样的行 ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "Aborting! Mail is not configured!"; exit 1; end',尽管它在顶部清楚地正确加载了配置。我不确定这是否正常?
Redis 端口被占用
看起来 Redis 启动了两次,第二次出现 130:M 27 Feb 2022 13:15:23.666 # Warning: Could not create server TCP listening socket *:6379: bind: Address already in use
无法解析 github
有一条令人担忧的行 [2022-02-27T13:15:29.355974 #1] INFO -- : > cd /var/www/discourse && git fetch --depth 1 origin tests-passed fatal: unable to access 'https://github.com/discourse/discourse.git/': Could not resolve host: github.com,但在机器上我可以解析、ping 和从 github 克隆,没有任何问题,我的防火墙允许所有出站请求,所以我不确定该怎么做?
提前感谢任何帮助 ![]()