أثناء الترقية، قمت بتشغيل الأمر cd /var/discourse; git pull; ./launcher rebuild app.
ظهرت لي الرسائل “اكتملت الترقية” و"اكتملت ترقية PostgreSQL". تشير الرسالة الأخيرة إلى “إعادة البناء مرة أخرى”، لكن يبدو أن ذلك لا يُحدث أي فرق.
على الرغم من اكتمال الترقية، لا يمكنني تشغيل التطبيق. عند تنفيذ ./launcher start app، يظهر الخطأ التالي:
Unable to find image 'local_discourse/app:latest' locally
/usr/bin/docker: Error response from daemon: pull access denied for local_discourse/app, repository does not exist or may require 'docker login'.
See '/usr/bin/docker run --help'.
لا يمكنني إعادة تشغيل التطبيق مرة أخرى، ولا أعرف كيف أتابع.
لم يُساعد الأمر ./discourse-doctor (فهو يكتشف فقط أن التطبيق غير قيد التشغيل، ويحاول إعادة البناء وإعادة التشغيل، لينتهي بنفس الخطأ).
لا يمكنني إرفاق ملف لأنني مستخدم جديد، لذا إليك ما أعتقد أنه المقطع ذي الصلة من سجل التصحيح:
فشل إعادة بناء التطبيق.
التحقق من اسم النطاق الخاص بك . . .
نجح الاتصال بـ community.gingkoapp.com.
ينبغي عليك على الأرجح إزالة أي إضافات غير قياسية وإعادة البناء.
محاولة إعادة تشغيل الحاوية الحالية . . .
+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=2 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -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 DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e DISCOURSE_DEVELOPER_EMAILS=REDACTED -e DISCOURSE_HOSTNAME=community.gingkoapp.com -e DISCOURSE_SMTP_ADDRESS=smtp.mailgun.org -e DISCOURSE_SMTP_USER_NAME=postmaster@community.gingkoapp.com -e DISCOURSE_SMTP_PASSWORD=REDACTED -h community-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 2222:22 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:fc:04:ee:f5:11 local_discourse/app /sbin/boot
Unable to find image 'local_discourse/app:latest' locally
/usr/bin/docker: Error response from daemon: pull access denied for local_discourse/app, repository does not exist or may require 'docker login'.
See '/usr/bin/docker run --help'.
فشل إعادة تشغيل الحاوية.
غير متأكد من كيفية القيام بذلك دون استخدام واجهة الويب (أو curl مع واجهة برمجة التطبيقات)، نظرًا لأنها معطلة حاليًا. لكنني سأبحث في الأمر. سأقوم أولًا بترقية حجم القرص الخاص بـ droplet الخاص بي لأرى ما إذا كان ذلك سيساعد.
نعم، هذا ما أفعله في الوقت الحالي. يجب أن يكون أسرع بكثير من ترقية النسخة الحالية… أضع أصابعي على الصليب لأتمكن من الاستعادة من ملفات النسخ الاحتياطي (التي لا يزال بإمكانني الوصول إليها على الخادم القديم).
الآن كل شيء على ما يرام. قمت بإنشاء خادم جديد (Droplet) على Digital Ocean واستعدت النسخة الاحتياطية. أعتقد أن أحدث نسخة احتياطية كانت تالفة، لكن على الأقل فقدت منشورًا أو اثنين فقط، ونجحت في الاستعادة من النسخة الاحتياطية السابقة لذلك.