尝试为 HestiaCP 上的客户安装此内容时遇到 GitHub 错误,尽管网络连接正常?

Not entirely sure what’s going on. I know I don’t particular like Docker though. I’m running Ubuntu Server, and trying to get this working for a domain on HestiaCP and the auto-install script said it couldn’t see the domain working on ports 80 or 443 (and then I read online that hestiacp’s bounded to those ports so it can’t use them and needs a proxy). I see multiple things online with different templates, not sure which is right here. I’ll show the issues below:

.tpl file:

server {
    listen      %ip%:%proxy_port%;
    server_name %domain_idn% %alias_idn%;

    include %home%/%user%/conf/web/%domain%/nginx.forcessl.conf*;        

    location / {
        proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:;
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
    }

    location /error/ {
        alias   %home%/%user%/web/%domain%/document_errors/;
    }

    location @fallback {
        proxy_pass      http://%ip%:%web_port%;
    }

    location ~ /\.ht    {return 404;}
    location ~ /\.svn/  {return 404;}
    location ~ /\.git/  {return 404;}
    location ~ /\.hg/   {return 404;}
    location ~ /\.bzr/  {return 404;}

    include %home%/%user%/conf/web/%domain%/nginx.conf_*;
}

.stpl file:

server {
    listen      %ip%:%proxy_port%;
    server_name %domain_idn% %alias_idn%;

    include %home%/%user%/conf/web/%domain%/nginx.forcessl.conf*;

    location / {
        # Let Hestia's force SSL handle the redirect to HTTPS
        return 301 https://%domain_idn%$request_uri;
    }

    location /error/ {
        alias   %home%/%user%/web/%domain%/document_errors/;
    }

    location ~ /\.ht    {return 404;}
    location ~ /\.svn/  {return 404;}

    include %home%/%user%/conf/web/%domain%/nginx.conf_*;
}

Debug Log:

DISCOURSE DOCTOR Sat Apr 25 02:09:40 PM CDT 2026
OS: Linux server1.divergen.io 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux


Found containers/app.yml

==================== YML SETTINGS ====================
DISCOURSE_HOSTNAME=eurth.org
SMTP_ADDRESS=mail.eurth.org
DEVELOPER_EMAILS=REDACTED 
SMTP_PASSWORD=REDACTED 
SMTP_PORT=587
SMTP_USER_NAME=system@eurth.org

==================== DOCKER INFO ====================
DOCKER VERSION: Docker version 29.4.1, build 055a478

DOCKER PROCESSES (docker ps -a)

CONTAINER ID   IMAGE                              COMMAND                  CREATED         STATUS                     PORTS     NAMES
e2a9b216ea58   discourse/base:2.0.20260209-1300   "/bin/bash -c '/usr/…"   5 minutes ago   Exited (0) 4 minutes ago             nifty_dijkstra
a2706d3ddd01   hello-world                        "/hello"                 2 hours ago     Exited (0) 2 hours ago               sweet_tesla

==================== SERIOUS PROBLEM!!!! ====================
app not running!
Attempting to rebuild
==================== REBUILD LOG ====================
x86_64 arch detected.
WARNING: This output is designed for human readability. For machine-readable output, please use --format.
WARNING: containers/app.yml file is world-readable. You can secure this file by running: chmod o-rwx containers/app.yml
Ensuring launcher is up to date
Launcher is up-to-date
2.0.20260209-1300: Pulling from discourse/base
Digest: sha256:50d2dae489a9c9916c3d50d880f7f1282fcbe179339b60a8947ab135c1f1f9bf
Status: Image is up to date for discourse/base:2.0.20260209-1300
docker.io/discourse/base:2.0.20260209-1300
/usr/local/lib/ruby/gems/3.4.0/gems/pups-1.4.0/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2026-04-25T19:09:49.341688 #1]  INFO -- : Reading from stdin
I, [2026-04-25T19:09:49.361663 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown: 
I, [2026-04-25T19:09:49.364626 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown: 
I, [2026-04-25T19:09:49.373435 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown: 
I, [2026-04-25T19:09:49.382232 #1]  INFO -- : File > /root/install_postgres  chmod: +x  chown: 
I, [2026-04-25T19:09:49.385245 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown: 
I, [2026-04-25T19:09:49.385459 #1]  INFO -- : Replacing data_directory = '/var/lib/postgresql/15/main' with data_directory = '/shared/postgres_data' in /etc/postgresql/15/main/postgresql.conf
I, [2026-04-25T19:09:49.408428 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/15/main/postgresql.conf
I, [2026-04-25T19:09:49.408754 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/15/main/postgresql.conf
I, [2026-04-25T19:09:49.409047 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/15/main/postgresql.conf
I, [2026-04-25T19:09:49.409333 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/15/main/postgresql.conf
I, [2026-04-25T19:09:49.409649 #1]  INFO -- : Replacing (?-mix:#?default_text_search_config *=.*) with default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/15/main/postgresql.conf
I, [2026-04-25T19:09:49.409933 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/15/main/postgresql.conf
I, [2026-04-25T19:09:49.410199 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/15/main/postgresql.conf
I, [2026-04-25T19:09:49.410482 #1]  INFO -- : Replacing (?-mix:#?log_min_duration_statement *=.*) with log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/15/main/postgresql.conf
I, [2026-04-25T19:09:49.410779 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/15/main/pg_hba.conf
I, [2026-04-25T19:09:49.416758 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*127.*$) with host all all 0.0.0.0/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2026-04-25T19:09:49.416958 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*::1\/128.*$) with host all all ::/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2026-04-25T19:09:49.419704 #1]  INFO -- : > if [ -f /root/install_postgres ]; then
  /root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi

Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.
I, [2026-04-25T19:09:56.825954 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/15/bin/postmaster -D /etc/postgresql/15/main
I, [2026-04-25T19:09:56.842294 #1]  INFO -- : File > /usr/local/bin/create_db  chmod: +x  chown: 
I, [2026-04-25T19:09:56.847048 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
2026-04-25 19:09:56.864 UTC [45] LOG:  starting PostgreSQL 15.15 (Debian 15.15-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit
2026-04-25 19:09:56.864 UTC [45] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2026-04-25 19:09:56.864 UTC [45] LOG:  listening on IPv6 address "::", port 5432
I, [2026-04-25T19:09:56.876452 #1]  INFO -- : File > /var/spool/cron/crontabs/postgres  chmod:   chown: 
I, [2026-04-25T19:09:56.876695 #1]  INFO -- : > sleep 5
2026-04-25 19:09:56.881 UTC [45] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2026-04-25 19:09:56.894 UTC [56] LOG:  database system was shut down at 2026-04-25 19:09:29 UTC
2026-04-25 19:09:56.907 UTC [45] LOG:  database system is ready to accept connections
I, [2026-04-25T19:10:01.878739 #1]  INFO -- : > /usr/local/bin/create_db
2026-04-25 19:10:01.925 UTC [63] postgres@postgres ERROR:  database "discourse" already exists
2026-04-25 19:10:01.925 UTC [63] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR:  database "discourse" already exists
2026-04-25 19:10:01.994 UTC [66] postgres@discourse ERROR:  role "discourse" already exists
2026-04-25 19:10:01.994 UTC [66] postgres@discourse STATEMENT:  create user discourse;
ERROR:  role "discourse" already exists
GRANT
ALTER SCHEMA
NOTICE:  extension "hstore" already exists, skipping
CREATE EXTENSION
NOTICE:  extension "pg_trgm" already exists, skipping
CREATE EXTENSION
NOTICE:  extension "vector" already exists, skipping
CREATE EXTENSION
ALTER EXTENSION
NOTICE:  version "0.8.1" of extension "vector" is already installed
CREATE EXTENSION
NOTICE:  extension "hstore" already exists, skipping
CREATE EXTENSION
NOTICE:  extension "pg_trgm" already exists, skipping
NOTICE:  extension "vector" already exists, skipping
CREATE EXTENSION
ALTER EXTENSION
NOTICE:  version "0.8.1" of extension "vector" is already installed
UPDATE 0
I, [2026-04-25T19:10:02.422612 #1]  INFO -- : > echo postgres installed!
postgres installed!
I, [2026-04-25T19:10:02.426929 #1]  INFO -- : File > /etc/service/redis/run  chmod: +x  chown: 
I, [2026-04-25T19:10:02.429786 #1]  INFO -- : File > /etc/service/redis/log/run  chmod: +x  chown: 
I, [2026-04-25T19:10:02.432628 #1]  INFO -- : File > /etc/runit/3.d/10-redis  chmod: +x  chown: 
I, [2026-04-25T19:10:02.432841 #1]  INFO -- : Replacing daemonize yes with  in /etc/redis/redis.conf
I, [2026-04-25T19:10:02.445055 #1]  INFO -- : Replacing (?-mix:^pidfile.*$) with  in /etc/redis/redis.conf
I, [2026-04-25T19:10:02.445581 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2026-04-25T19:10:02.448038 #1]  INFO -- : Replacing (?-mix:^logfile.*$) with logfile "" in /etc/redis/redis.conf
I, [2026-04-25T19:10:02.448720 #1]  INFO -- : Replacing (?-mix:^bind .*$) with  in /etc/redis/redis.conf
I, [2026-04-25T19:10:02.449253 #1]  INFO -- : Replacing (?-mix:^dir .*$) with dir /shared/redis_data in /etc/redis/redis.conf
I, [2026-04-25T19:10:02.449800 #1]  INFO -- : Replacing (?-mix:^protected-mode yes) with protected-mode no in /etc/redis/redis.conf
I, [2026-04-25T19:10:02.450236 #1]  INFO -- : Replacing # io-threads 4 with io-threads $redis_io_threads in /etc/redis/redis.conf
I, [2026-04-25T19:10:02.450709 #1]  INFO -- : > echo redis installed
redis installed
I, [2026-04-25T19:10:02.452392 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
logfile ""
I, [2026-04-25T19:10:02.455084 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2026-04-25T19:10:02.456212 #1]  INFO -- : > sleep 10
112:C 25 Apr 2026 19:10:02.461 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
112:C 25 Apr 2026 19:10:02.461 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
112:C 25 Apr 2026 19:10:02.461 * Redis version=7.4.7, bits=64, commit=00000000, modified=1, pid=112, just started
112:C 25 Apr 2026 19:10:02.461 * Configuration loaded
112:M 25 Apr 2026 19:10:02.461 * Increased maximum number of open files to 10032 (it was originally set to 1024).
112:M 25 Apr 2026 19:10:02.461 * monotonic clock: POSIX clock_gettime
112:M 25 Apr 2026 19:10:02.462 * Running mode=standalone, port=6379.
112:M 25 Apr 2026 19:10:02.462 * Server initialized
112:M 25 Apr 2026 19:10:02.462 * Loading RDB produced by version 7.4.7
112:M 25 Apr 2026 19:10:02.462 * RDB age 33 seconds
112:M 25 Apr 2026 19:10:02.462 * RDB memory usage when created 0.90 Mb
112:M 25 Apr 2026 19:10:02.462 * Done loading RDB, keys loaded: 0, keys expired: 0.
112:M 25 Apr 2026 19:10:02.462 * DB loaded from disk: 0.000 seconds
112:M 25 Apr 2026 19:10:02.462 * Ready to accept connections tcp
I, [2026-04-25T19:10:12.457806 #1]  INFO -- : > thpoff echo "thpoff is installed!"
thpoff is installed!
I, [2026-04-25T19:10:12.460468 #1]  INFO -- : > /usr/local/bin/ruby -e 'if (ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com" && ENV["DISCOURSE_SKIP_EMAIL_SETUP"] != "1"); puts "Aborting! Mail is not configured!"; exit 1; end'
I, [2026-04-25T19:10:12.510374 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Aborting! Domain is not configured!"; exit 1; end'
I, [2026-04-25T19:10:12.561915 #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, [2026-04-25T19:10:12.613639 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2026-04-25T19:10:12.640181 #1]  INFO -- : File > /etc/cron.d/anacron  chmod:   chown: 
I, [2026-04-25T19:10:12.653839 #1]  INFO -- : File > /etc/runit/1.d/copy-env  chmod: +x  chown: 
I, [2026-04-25T19:10:12.656979 #1]  INFO -- : File > /etc/service/unicorn/run  chmod: +x  chown: 
I, [2026-04-25T19:10:12.659942 #1]  INFO -- : File > /etc/service/nginx/run  chmod: +x  chown: 
I, [2026-04-25T19:10:12.663011 #1]  INFO -- : File > /etc/runit/3.d/01-nginx  chmod: +x  chown: 
I, [2026-04-25T19:10:12.666059 #1]  INFO -- : File > /etc/runit/3.d/02-unicorn  chmod: +x  chown: 
I, [2026-04-25T19:10:12.666184 #1]  INFO -- : Replacing # postgres with sv start postgres || exit 1
 in /etc/service/unicorn/run
I, [2026-04-25T19:10:12.666998 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git clean -f
I, [2026-04-25T19:10:12.747328 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  git fetch --tags --prune-tags --prune --force origin
  if [[ $(git symbolic-ref --short HEAD) == latest ]] ; then
      git pull
  else
      git -c advice.detachedHead=false checkout latest
  fi
'
fatal: unable to access 'https://github.com/discourse/discourse.git/': Could not resolve host: github.com
I, [2026-04-25T19:10:52.823474 #1]  INFO -- : Terminating async processes
I, [2026-04-25T19:10:52.823514 #1]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/15/bin/postmaster -D /etc/postgresql/15/main pid: 45
I, [2026-04-25T19:10:52.823543 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 112
2026-04-25 19:10:52.823 UTC [45] LOG:  received fast shutdown request
112:signal-handler (1777144252) Received SIGTERM scheduling shutdown...
2026-04-25 19:10:52.842 UTC [45] LOG:  aborting any active transactions
2026-04-25 19:10:52.844 UTC [45] LOG:  background worker "logical replication launcher" (PID 59) exited with exit code 1
2026-04-25 19:10:52.845 UTC [54] LOG:  shutting down
2026-04-25 19:10:52.854 UTC [54] LOG:  checkpoint starting: shutdown immediate
2026-04-25 19:10:52.902 UTC [54] LOG:  checkpoint complete: wrote 4 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.017 s, sync=0.009 s, total=0.058 s; sync files=3, longest=0.006 s, average=0.003 s; distance=2 kB, estimate=2 kB
112:M 25 Apr 2026 19:10:52.906 * User requested shutdown...
112:M 25 Apr 2026 19:10:52.907 * Saving the final RDB snapshot before exiting.
2026-04-25 19:10:52.910 UTC [45] LOG:  database system is shut down
112:M 25 Apr 2026 19:10:52.918 * DB saved on disk
112:M 25 Apr 2026 19:10:52.918 # Redis is now ready to exit, bye bye...


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  git fetch --tags --prune-tags --prune --force origin
  if [[ $(git symbolic-ref --short HEAD) == latest ]] ; then
      git pull
  else
      git -c advice.detachedHead=false checkout latest
  fi
' failed with return #<Process::Status: pid 146 exit 128>
Location of failure: /usr/local/lib/ruby/gems/3.4.0/gems/pups-1.4.0/lib/pups/exec_command.rb:138:in 'Pups::ExecCommand#spawn'
exec failed with the params {"cd" => "$home", "hook" => "code", "cmd" => ["sudo -H -E -u discourse git clean -f", "sudo -H -E -u discourse bash -c '\n  set -o errexit\n  git fetch --tags --prune-tags --prune --force origin\n  if [[ $(git symbolic-ref --short HEAD) == $version ]] ; then\n      git pull\n  else\n      git -c advice.detachedHead=false checkout $version\n  fi\n'", "sudo -H -E -u discourse git config user.discourse-version $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", "[ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete"]}
bootstrap failed with exit code 128
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
89dd3a38d4ab348de65c25c413fd06792eb7da3f9ef942ac086a7c0541589379
==================== END REBUILD LOG ====================
Failed to rebuild app.

Checking your domain name . . .

Connection to eurth.org succeeded.
You should probably remove any non-standard plugins and rebuild.
Attempting to restart existing container. . . 
x86_64 arch detected.
WARNING: This output is designed for human readability. For machine-readable output, please use --format.
WARNING: containers/app.yml file is world-readable. You can secure this file by running: chmod o-rwx containers/app.yml

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=3 -e UNICORN_SIDEKIQS=1 -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 RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO=0.11 -e RUBY_GC_HEAP_FREE_SLOTS_GOAL_RATIO=0.22 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LC_ALL=en_US.UTF-8 -e LANGUAGE=en_US.UTF-8 -e DISCOURSE_HOSTNAME=eurth.org -e DISCOURSE_DEVELOPER_EMAILS=REDACTED  -e DISCOURSE_SMTP_ADDRESS=mail.eurth.org -e DISCOURSE_SMTP_USER_NAME=system@eurth.org -e 'DISCOURSE_SMTP_PASSWORD=REDACTED  -e DISCOURSE_SMTP_FORCE_TLS=true -e DISCOURSE_SMTP_DOMAIN=server1.divergen.io -h server1-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 8888:80 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:ba:af:93:f1:d9 --dns 8.8.8.8 --dns 1.1.1.1 local_discourse/app /sbin/boot
Unable to find image 'local_discourse/app:latest' locally
docker: Error response from daemon: pull access denied for local_discourse/app, repository does not exist or may require 'docker login'

Run 'docker run --help' for more information
Failed to restart the container.


==================== PLUGINS ====================
          - git clone https://github.com/discourse/docker_manager.git

No non-official plugins detected.

See https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb for the official list.

========================================
Discourse version at eurth.org: NOT FOUND
Discourse version at localhost: NOT FOUND


==================== MEMORY INFORMATION ====================
OS: Linux
RAM (MB): 67200

               total        used        free      shared  buff/cache   available
Mem:           64087        5028         658         140       59257       59058
Swap:          32734           0       32734

==================== DISK SPACE CHECK ====================
---------- OS Disk Space ----------
Filesystem      Size  Used Avail Use% Mounted on
/dev/md2        436G  337G   77G  82% /

==================== DISK INFORMATION ====================
Disk /dev/nvme0n1: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: SAMSUNG MZVL2512HCJQ-00B00              
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: DE8A2D8E-830E-45C9-8BDD-2772F8081A78

Device            Start        End   Sectors   Size Type
/dev/nvme0n1p1     4096     528383    524288   256M EFI System
/dev/nvme0n1p2   528384   67637247  67108864    32G Linux RAID
/dev/nvme0n1p3 67637248   69734399   2097152     1G Linux RAID
/dev/nvme0n1p4 69734400 1000215182 930480783 443.7G Linux RAID


Disk /dev/nvme1n1: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: SAMSUNG MZVKW512HMJP-00000              
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: ADA44564-300F-4FB0-92BF-BB583F18F0F7

Device            Start        End   Sectors   Size Type
/dev/nvme1n1p1     4096     528383    524288   256M EFI System
/dev/nvme1n1p2   528384   67637247  67108864    32G Linux RAID
/dev/nvme1n1p3 67637248   69734399   2097152     1G Linux RAID
/dev/nvme1n1p4 69734400 1000215182 930480783 443.7G Linux RAID


Disk /dev/md1: 1022 MiB, 1071644672 bytes, 2093056 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/md0: 31.97 GiB, 34325135360 bytes, 67041280 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/md2: 443.56 GiB, 476270886912 bytes, 930216576 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

==================== END DISK INFORMATION ====================

==================== MAIL TEST ====================
For a robust test, get an address from http://www.mail-tester.com/
Sending mail to REDACTED  . . 


==================== DONE! ====================

You can examine the output of this script with 
LESS=-Ri less /tmp/discourse-debug.txt

BUT FIRST, make sure that you know the first three commands below!!!

Commands to know when viewing the file with the above command (called 'less'): 
q              -- quit
/error<ENTER>  -- search for the word 'error'
n              -- search for the next occurrence
g              -- go to the beginning of the file
f              -- go forward a page
b              -- go back a page
G              -- go to the end of the file

Error:

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  git fetch --tags --prune-tags --prune --force origin
  if [[ $(git symbolic-ref --short HEAD) == latest ]] ; then
      git pull
  else
      git -c advice.detachedHead=false checkout latest
  fi
' failed with return #<Process::Status: pid 146 exit 128>
Location of failure: /usr/local/lib/ruby/gems/3.4.0/gems/pups-1.4.0/lib/pups/exe                                                                                                             c_command.rb:138:in 'Pups::ExecCommand#spawn'
exec failed with the params {"cd" => "$home", "hook" => "code", "cmd" => ["sudo                                                                                                              -H -E -u discourse git clean -f", "sudo -H -E -u discourse bash -c '\n  set -o e                                                                                                             rrexit\n  git fetch --tags --prune-tags --prune --force origin\n  if [[ $(git sy                                                                                                             mbolic-ref --short HEAD) == $version ]] ; then\n      git pull\n  else\n      gi                                                                                                             t -c advice.detachedHead=false checkout $version\n  fi\n'", "sudo -H -E -u disco                                                                                                             urse git config user.discourse-version $version", "mkdir -p tmp", "chown discour                                                                                                             se:www-data tmp", "mkdir -p tmp/pids", "mkdir -p tmp/sockets", "touch tmp/.gitke                                                                                                             ep", "mkdir -p                    /shared/log/rails", "bash -c \"touch -a                                                                                                                        /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stder                                                                                                             r,sidekiq}.log\"", "bash -c \"ln    -s           /shared/log/rails/{production,p                                                                                                             roduction_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           /sh                                                                                                             ared/tmp/{backups,restores}\"", "bash -c \"ln    -s           /shared/tmp/{backu                                                                                                             ps,restores} $home/tmp\"", "chown -R discourse:www-data /shared/log/rails /share                                                                                                             d/uploads /shared/backups /shared/tmp", "[ ! -d public/plugins ] || find public/                                                                                                             plugins/ -maxdepth 1 -xtype l -delete"]}
bootstrap failed with exit code 128
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages,                                                                                                              there may be more than one.
./discourse-doctor may help diagnose the problem.
6f6a58d1d82aac9ebf5716faafbdab2f8d4e3bd39bbc7834f11ab34058273166

Any help you can provide would be so much appreciated

更新:已修复 GitHub 问题。不知为何,Cloudflare DNS 无法使用,Google DNS 也不行,不得不切换到内部 DNS。