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