أواجه خطأ في التمهيد على الإصدار الحالي 3.5.0.beta7-dev بمجرد تضمين إضافة الذكاء الاصطناعي في إعداد حاوية web_only. نفس البناء يعمل بشكل جيد بدون هذه الإضافة.
من خلال قراءة https://meta.discourse.org/t/upgrade-error-rake-db-migrate-index-on-theme-field-id/278935/7، أشك في أن السبب الجذري هو امتداد مفقود على خادم postgres الخارجي 13.20. يحتوي الخادم على الامتدادات hstore, pg_trgm, plpgsql, unaccent ويستخدم أيضًا لتثبيت discourse إنتاجي يستخدم نفس الكود، ولكن بدون إضافة الذكاء الاصطناعي بعد.
هل يمكن لأحد تحديد امتدادات postgres المطلوبة لإضافة الذكاء الاصطناعي؟ لم أتمكن من العثور على هذه المعلومات في دليل Discourse AI - Self-Hosted. المنشورات المشابهة للأخطاء مثل AI Plugin Build Error - 'bundle exec rake db:migrate' failed تستخدم سيناريو مختلف وقد لا تكون ذات صلة بحالة الاستخدام التشغيلي الخاصة بي هنا…
الأجزاء ذات الصلة من web_only.yaml
templates:
- "templates/web.template.yml"
## إلغاء التعليق على السطر التالي لتمكين مستمع IPv6
#- "templates/web.ipv6.template.yml"
- "templates/web.ratelimited.template.yml"
- "templates/web.socketed.template.yml"
## إلغاء التعليق على هذين السطرين إذا كنت ترغب في إضافة Lets Encrypt (https)
#- "templates/web.ssl.template.yml"
#- "templates/web.letsencrypt.ssl.template.yml"
[...]
## تكوين الاتصال بقواعد البيانات
DISCOURSE_DB_SOCKET: ''
DISCOURSE_DB_USERNAME: discourse2
DISCOURSE_DB_NAME: discourse2
DISCOURSE_DB_PASSWORD: xxx
DISCOURSE_DB_HOST: 10.10.10.xx
# التخزين المؤقت لـ redis في الحاوية المجاورة
DISCOURSE_REDIS_HOST: redis
[...]
## الإضافات تذهب هنا
## انظر https://meta.discourse.org/t/19157 للتفاصيل
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-shared-edits.git
- git clone https://github.com/discourse/discourse-chat-integration.git
- git clone https://github.com/discourse/discourse-openid-connect.git
- git clone https://github.com/discourse/discourse-calendar.git
- git clone https://github.com/angusmcleod/discourse-events.git
- git clone https://github.com/discourse/discourse-data-explorer.git
- git clone https://github.com/discourse/discourse-reactions.git
- git clone https://github.com/discourse/discourse-chat.git
- git clone https://github.com/discourse/discourse-ai.git
- git clone https://github.com/discourse/discourse-topic-voting.git
- git clone https://github.com/discourse/discourse-post-voting.git
- git clone https://github.com/discourse/discourse-user-notes.git
- git clone https://github.com/discourse/discourse-solved.git
- git clone https://github.com/discourse/discourse-docs-card-filter.git
- git clone https://github.com/discourse/discourse-doc-categories.git
- git clone https://github.com/discourse/discourse-assign.git
- git clone https://github.com/discourse/discourse-templates.git
- git clone https://github.com/discourse/discourse-saved-searches.git
- git clone https://github.com/discourse/discourse-tooltips.git
- git clone https://github.com/discourse/discourse-category-experts.git
- git clone https://github.com/discourse/discourse-activity-pub.git
- git clone https://github.com/discourse/discourse-follow.git
- git clone https://github.com/nathan-nz/discourse-wikified-posts.git
- git clone https://github.com/discourse/discourse-whos-online.git
- git clone https://github.com/merefield/discourse-workflow.git
[...]
## للتشغيل خلف موازن تحميل haproxy مع nginx محلي على مضيف الحاوية
- replace:
filename: /etc/nginx/conf.d/discourse.conf
from: "types {"
to: |
set_real_ip_from 127.0.0.1/24;
set_real_ip_from 10.0.0.0/24;
real_ip_header X-Forwarded-For;
real_ip_header X-Forwarded-Proto https; # تم استبدال $thescheme;
real_ip_recursive on;
proxy_set_header Host $http_host;
proxy_set_header X-Request-Start “t=${msec}”;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
types {
[...]
sudo docker logs -t --tail 1000 web_only
gem install ice_cube -v 0.16.4 -i /var/www/discourse/plugins/discourse-events/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Successfully installed ice_cube-0.16.4
1 gem installed
gem install icalendar -v 2.8.0 -i /var/www/discourse/plugins/discourse-events/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
ActiveSupport is required for TimeWithZone support, but not required for general use.
Successfully installed icalendar-2.8.0
1 gem installed
gem install icalendar-recurrence -v 1.1.3 -i /var/www/discourse/plugins/discourse-events/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Successfully installed icalendar-recurrence-1.1.3
1 gem installed
gem install multipart-post -v 2.4.0 -i /var/www/discourse/plugins/discourse-workflow/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Successfully installed multipart-post-2.4.0
1 gem installed
gem install faraday-multipart -v 1.0.4 -i /var/www/discourse/plugins/discourse-workflow/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Successfully installed faraday-multipart-1.0.4
1 gem installed
gem install event_stream_parser -v 1.0.0 -i /var/www/discourse/plugins/discourse-workflow/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Successfully installed event_stream_parser-1.0.0
1 gem installed
gem install ruby-openai -v 8.1.0 -i /var/www/discourse/plugins/discourse-workflow/gems/3.3.6 --no-document --ignore-dependencies --no-user-install
Successfully installed ruby-openai-8.1.0
1 gem installed
== 20230710171141 EnablePgVectorExtension: migrating ==========================
-- enable_extension(:vector)
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 3914 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>" $home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** 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.
3fac1371a3dd8b0d59760e492965c1d7ebb8a09e99549a9483596453f95ce871