ここ数日、Layer7 と Hetzner の VPS の両方で Discourse のインストールを試しています。Layer7 ではインストールに問題はなく、「Install with Virtualmin」のガイドに従って進め、現在非常にうまく動作しています。
Virtualmin は、Discourse レシピを備えた新しい Podman モジュールもリリースしており、これは動作しますが、ややバグがあります。
Hetzner のサーバーでは複数回インストールを試みましたが、常にブートストラップで失敗します。
2GB のスワップを設定し、VPS は 4 コアと 8GB の RAM を備えています。
エラーメッセージは以下の通りです。誰か方向性を示してくれると助かります。discourse-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.
ディスクドクターの出力
==================== 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 ====================