Error Updating from 3.4.0.beta3-dev to 3.4.0.beta3 に記載されている症状と同じです。
ただし、エラーメッセージは異なります。
あなたの画像を引用できません。
しかし、古い postgres_data_old ディレクトリを削除する必要があるようです。空き容量があり、心配であれば、名前を変更することもできます。
Weblishの画面出力をコピーする方法がわかりません
これが私のメッセージの要点です。
まず、それが古いかどうかを確認してください。
ls -l /var/discourse/shared/standalone/
そして、そのバックアップディレクトリが今日の日付になっていないことを確認してください。
ディスク容量に余裕があれば、次のようなことができます。
cd /var/discourse
cd shared/standalone
mv postgres_data_old postgres_data_delete_me
そして、もう一度試してください。
うまくいきません。
Upgrade failed spectacularily を複製していると思います。
app.yml ファイルの内容を共有していただけますか?投稿する前に機密情報を削除してください。
from root@localhost: /var/discourse/containers
## this is the all-in-one, standalone Discourse Docker container template
##
## After making changes to this file, you MUST rebuild
## /var/discourse/launcher rebuild app
##
## BE *VERY* CAREFUL WHEN EDITING!
## YAML FILES ARE SUPER SUPER SENSITIVE TO MISTAKES IN WHITESPACE OR ALIGNMENT!
## visit http://www.yamllint.com/ to validate this file as needed
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
## Uncomment these two lines if you wish to add Lets Encrypt (https)
- "templates/web.ssl.template.yml"
- "templates/web.letsencrypt.ssl.template.yml"
## which TCP/IP ports should this container expose?
## If you want Discourse to share a port with another webserver like Apache or nginx,
## see https://meta.discourse.org/t/17247 for details
expose:
- "80:80" # http
- "443:443" # https
params:
db_default_text_search_config: "pg_catalog.english"
## Set db_shared_buffers to a max of 25% of the total memory.
## will be set automatically by bootstrap based on detected RAM, or you can override
db_shared_buffers: "256MB"
## can improve sorting performance, but adds memory usage per-connection
#db_work_mem: "40MB"
## Which Git revision should this container use? (default: tests-passed)
#version: tests-passed
env:
LANG: en_US.UTF-8
# DISCOURSE_DEFAULT_LOCALE: en
## How many concurrent web requests are supported? Depends on memory and CPU cores.
## will be set automatically by bootstrap based on detected CPUs, or you can override
UNICORN_WORKERS: 4
## TODO: The domain name this Discourse instance will respond to
DISCOURSE_HOSTNAME: <mydomain>
## Uncomment if you want the container to be started with the same
## hostname (-h option) as specified above (default "$hostname-$config")
#DOCKER_USE_HOSTNAME: true
## TODO: List of comma delimited emails that will be made admin and developer
## on initial signup example 'user1@example.com,user2@example.com'
DISCOURSE_DEVELOPER_EMAILS: <myemail>
## TODO: The SMTP mail server used to validate new accounts and send notifications
DISCOURSE_SMTP_ADDRESS: <mymailorg>
DISCOURSE_SMTP_PORT: <myport>
DISCOURSE_SMTP_USER_NAME: <mysmpremail>
DISCOURSE_SMTP_PASSWORD: <mypassword>
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (optional, default true)
## If you added the Lets Encrypt template, uncomment below to get a free SSL certificate
LETSENCRYPT_ACCOUNT_EMAIL: <myemail>
## The CDN address for this Discourse instance (configured to pull)
## see https://meta.discourse.org/t/14857 for details
#DISCOURSE_CDN_URL: //discourse-cdn.example.com
## The Docker container is stateless; all data is stored in /shared
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
- volume:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
## Plugins go here
## see https://meta.discourse.org/t/19157 for details
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-solved.git
- git clone https://github.com/discourse/discourse-math.git
## Any custom commands to run after building
run:
- exec: echo "Beginning of custom commands"
## If you want to set the 'From' email address for your first registration, uncomment and change:
## After getting the first signup email, re-comment the line. It only needs to run once.
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec: echo "End of custom commands"
Dockerのバージョンを確認していただけますか?推奨バージョン 24.0.7 より古いバージョンの場合は、Dockerをアップデートしてから再度お試しください。
別のトピックでも同様の問題が報告されており、Dockerのアップデートで問題が解決したようです。
Docker バージョン 20.10.7、ビルド f0df350
cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.7 LTS (Xenial Xerus)"
他のトピックで報告されているものと同様のDockerの問題が発生している可能性があります。
UbuntuとDockerの両方をより新しいバージョンに更新してから、再度再構築を試すことをお勧めします。
古いappコンテナがまだ存在し、既存のデータファイルshared/standalone/postgres_dataを変更していない場合は、一時的に古いコンテナでサイトを開始するために./launcher start appを実行してみてください。
Ubuntuのアップデート手順を進め、最終的にこれのを押しました。
しかし、画面がここでフリーズしました。
再接続すると、Ubuntu 18.0.4.6 LTS (Bionic Beaver) があることがわかりました。
OSを最新のものにした新しいVMを作成する方がはるかに簡単になります。18.04はサポート終了後であり、20.04は4月にサポート終了となります。
最新のバックアップがあれば、新しいサーバーを作成してそのバックアップを復元することで、postgresのアップグレードの問題を完全に回避できます。
DiscourseはOSにpostgresをインストールする必要はありません。これも、OSをクリーンインストールするもう一つの理由です。
ジェイさん、ありがとう。
バックアップのlinodeを別のlinode(linode2)に復元することができました。
これで、Discourseが私にバックアップをメールで送信できるように、linode2でDiscourseを開く必要があります。
linode2の新しいDNS設定を作成しましたが、アクセスすると502 Bad Gatewayが表示されます。
しばらく待つ必要があるのでしょうか?
奇妙なことに、discbak.softwarebydesign.com.au(linode2)は現在、discourse.softwarebydesign.com.au(元のlinode)にリダイレクトされています。
scp/rsyncでバックアップをコピーできます。そちらの方が簡単で高速です(もちろん、それが何を意味するかわからない場合は別ですが)。
新しいVMと新しいOS(古いOSのサーバーのバックアップではなく)を作成し、Move a Discourse site to another VPS with rsyncで説明されているように移動することを強くお勧めします。私がちょうどコピーした方も、所有権の問題がありました。あなたも同様の問題を抱える可能性が高いです。
discbakが他のサーバーと同じイメージで実行されている場合、証明書エラーが発生するはずです(http://にアクセスしない限り)。その後、HOSTNAMEにあるものにリダイレクトされるはずです。
自分が何をしているのかよく分からないと言えます。
Ubuntu 24.0.1 LTS を実行している新しい VPS を作成し、以下の指示まで進みました。
rsync -rvz example.com:/var/discourse /var
アップグレードの失敗により、example.com は 502 Bad Gateway を返します。
アクセスを許可する方法を学んでいるところです。


