Сбой при новой установке (VPS Hetzner)

За последние несколько дней я пробовал устанавливать Discourse на VPS у Layer7 и Hetzner. На Layer7 установка прошла без проблем — я следовал руководству «Установка с помощью Virtualmin», и всё работает отлично.

Virtualmin также выпустил новый модуль Podman с рецептом для Discourse, который работает, но немного «глючит».

Я несколько раз пытался установить его на сервере Hetzner, но каждый раз он не может завершить инициализацию (bootstrap).

Я настроил 2 ГБ swap, а VPS имеет 4 ядра и 8 ГБ ОЗУ.

Сообщение об ошибке приведено ниже, и я не знаю, куда смотреть. Команда doctor не пролила свет на то, что происходит, насколько я могу судить.

Буду рад предоставить логи или вывод команд, если это поможет.

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 179 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'
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", "tag" => "build", "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\"", "find /shared/log/rails /shared/uploads /shared/backups /shared/tmp ! \\( -user discourse -group www-data \\) -exec chown discourse:www-data {} \\+", "[ ! -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.

Вывод Disk Doctor

==================== MEMORY INFORMATION ====================
RAM (MB): 8127

               total        used        free      shared  buff/cache   available
Mem:            7751        1146         318           8        6604        6604
Swap:           2047           0        2047

==================== DISK SPACE CHECK ====================
---------- OS Disk Space ----------
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        75G   13G   60G  18% /

==================== DISK INFORMATION ====================
Disk /dev/sda: 76.3 GiB, 81923145728 bytes, 160006144 sectors
Disk model: QEMU HARDDISK
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: 818C9A1D-5D5F-4F06-9432-7B4B83510711

Device      Start       End   Sectors  Size Type
/dev/sda1  528384 160006110 159477727   76G Linux filesystem
/dev/sda14   2048      4095      2048    1M BIOS boot
/dev/sda15   4096    528383    524288  256M EFI System

Partition table entries are not in disk order.

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

Реальная причина указана перед текстом failed. Не могли бы вы найти что-то необычное в этом месте?

Это следует понимать как «пожалуйста, приведите хотя бы пару сотен строк лога, чтобы получить помощь»

нам нужно больше информации. выложите весь код, который не сработал при инициализации.

установка на Hetzner — это очень просто. я пользуюсь только им.

К тому же установка Podman не поддерживается, так что неудивительно, что там есть баги. Получить поддержку для такой конфигурации установки будет сложно.

Я практически отчаялся. Какая информация нужна? Как я уже говорил, я с радостью предоставлю логи и входы/выходы командной строки; меня даже ставит в тупик то, что не удаётся установить даже чистую версию.

Раньше с этим не сталкивался. Это НЕ установка через Podman, это «официальная» версия, установленная с помощью однострочного установщика.

нам нужен весь вывод при сбое бутстрапа, а не только это последнее сообщение об ошибке. Просто опубликуйте всё, что выводит система при попытке сборки.

@Lilly Спасибо, я так и думал. Сегодня я уже устал, поэтому выложу полные логи завтра, но спасибо за информацию.