أثناء محاولة ترقية Discourse عبر ./launcher rebuild app، أواجه مشكلة مع
fatal: unable to access 'https://github.com/discourse/REPO.git/': Failed to connect to github.com port 443: Connection timed out
ومع ذلك، المشكلة هي: في بعض الأحيان يفشل هذا حتى بالنسبة لـ Discourse. ولكن إذا حاولت القيام بذلك مرة أخرى، فورًا بعد ذلك، دون أي تغييرات، فقد ينجح الأمر، ولكنه يفشل في أحد المكونات الإضافية. إذا قمت بإزالة جميع المكونات الإضافية، فقد تفشل اتصال Discourse أو قد ينجح ويبني كل شيء بالفعل.
ليس لديك بالضبط المشكلة الموضحة في الموضوع الذي ربطته، وبالفعل يبدو أن لديك مشكلة متقطعة، وهي دائمًا الأصعب في التشخيص. ولكن ربما يمكنك تجربة جلب يدوي. لقد جربت هذا، وهو غير ضار:
# cd /var/discourse/
# ./launcher enter app
تم اكتشاف بنية x86_64.
# wget -O - -v https://github.com/discourse/logster.git/ |wc
--2023-01-04 15:30:25-- https://github.com/discourse/logster.git/
Resolving github.com (github.com)... 140.82.121.4
Connecting to github.com (github.com)|140.82.121.4|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://github.com/discourse/logster/ [following]
--2023-01-04 15:30:25-- https://github.com/discourse/logster/
Reusing existing connection to github.com:443.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘STDOUT’
- [ <=> ] 231.22K --.-KB/s in 0.06s
2023-01-04 15:30:26 (3.99 MB/s) - written to stdout [236767]
2751 15860 236767
#
نرى أن “github.com” تم ترجمته إلى عنوان IP معقول، وتم الاتصال به، وأعاد بعض البيانات. في الواقع، تصرف الأمر الذي تم تشغيله داخل الحاوية بشكل كبير مثلما يتصرف خارج الحاوية، وهذا متوقع.
هل تستخدم وصفة تثبيت مدعومة، على شركة استضافة معروفة؟
[quote=“Ed S, post:6, topic:250643, username:Ed_S”]هل يمكنك تشغيل هذا الاختبار بشكل موثوق؟
[/quote]
نعم
[quote=“Ed S, post:6, topic:250643, username:Ed_S”]هل يمكنك مشاركة نسخة منظفة من ملف app.yml الخاص بك؟
[/quote]
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
## قم بإلغاء التعليق على هذين السطرين إذا كنت ترغب في إضافة Lets Encrypt (https)
- "templates/web.ssl.template.yml"
- "templates/web.letsencrypt.ssl.template.yml"
expose:
- "80:80" # http
- "443:443" # https
params:
db_default_text_search_config: "pg_catalog.english"
db_shared_buffers: "128MB"
#db_work_mem: "40MB"
#version: tests-passed
env:
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LANGUAGE: en_US.UTF-8
# DISCOURSE_DEFAULT_LOCALE: en
UNICORN_WORKERS: 2
DISCOURSE_HOSTNAME: domain.example.com
#DOCKER_USE_HOSTNAME: true
DISCOURSE_DEVELOPER_EMAILS: 'some@emails.com'
DISCOURSE_SMTP_ADDRESS: smtp.domain.com
DISCOURSE_SMTP_PORT: port
DISCOURSE_SMTP_USER_NAME: email@email.com
DISCOURSE_SMTP_PASSWORD: "password"
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (optional, default true)
DISCOURSE_SMTP_DOMAIN: domain.com
DISCOURSE_NOTIFICATION_EMAIL: email@email.com
## إذا أضفت قالب Lets Encrypt، قم بإلغاء التعليق أدناه للحصول على شهادة SSL مجانية
LETSENCRYPT_ACCOUNT_EMAIL: email@email.com
#DISCOURSE_CDN_URL: https://discourse-cdn.example.com
#DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456
## الحاوية Docker عديمة الحالة؛ يتم تخزين جميع البيانات في /shared
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
- volume:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
## الإضافات هنا
## انظر https://meta.discourse.org/t/19157 للحصول على التفاصيل
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/discourse-math.git
- git clone https://github.com/discourse/discourse-reactions.git
- git clone https://github.com/discourse/discourse-solved.git
- git clone https://github.com/discourse/discourse-spoiler-alert.git
- git clone https://github.com/discourse/discourse-whos-online.git
- git clone https://github.com/discourse/discourse-assign.git
- git clone https://github.com/discourse/discourse-cakeday.git
- git clone https://github.com/discourse/discourse-akismet.git
- git clone https://github.com/discourse/discourse-data-explorer.git
- git clone https://github.com/discourse/discourse-gamification
- git clone https://github.com/discourse/discourse-checklist
- git clone https://github.com/discourse/discourse-footnote
- git clone https://github.com/discourse/discourse-yearly-review
- git clone https://github.com/discourse/discourse-encrypt.git
## أي أوامر مخصصة لتشغيلها بعد البناء
run:
- exec: echo "Beginning of custom commands"
- exec: echo "End of custom commands"
ملاحظة: لقد حاولت بناء التطبيق بدون أي إضافات. إما أنه يفشل في جلب discourse نفسه أو يفشل في استنساخ الإضافة الثالثة أو الرابعة في القائمة (مما يعني أنه مع 2-3 إضافات فقط يمكنني بناء تطبيق من المحاولة الثالثة إلى الرابعة).
[quote=“Ed S, post:6, topic:250643, username:Ed_S”]ما هو عمر التثبيت الحالي - ما هو الإصدار وما هو المعرف الخاص به؟
[/quote]
كان 2.9.0.beta14 قبل أن أحاول الترقية إلى 3.0.0.beta15، لا أتذكر المعرف المحدد ولكن آخر مرة تمت ترقيته كانت في وقت ما بين 25-26 ديسمبر.
لم يكن الأمر أنني كنت أحاول الحد من المعلومات المتاحة، بل كان الأمر يتعلق بما إذا كان الاسم سيخبرك بأي شيء نظرًا لأنه ليست شركة غربية. تم استضافة المثيل بواسطة reg.ru، أكبر مستضيف في روسيا. على أي حال، لم يكن دعمهم هذه المرة[1] مفيدًا أيضًا، لذلك نقلت موقعي إلى digital ocean. بنفس الإعدادات، نفس الإجراء المستخدم لتثبيت docker، كل شيء سار على ما يرام (ويبدو أنه يعمل) بشكل جيد.