Tengo un error de arranque en la versión actual 3.5.0.beta7-dev tan pronto como incluyo el plugin de IA en una configuración de contenedor web_only. La misma compilación funciona bien sin este plugin.
Al leer Upgrade Error - rake db:migrate index on theme_field_id - #7 by pfaffman, sospecho que la causa raíz es una extensión faltante en el servidor postgres externo 13.20. El servidor tiene las extensiones hstore, pg_trgm, plpgsql, unaccent y también se utiliza para una instalación productiva de discourse que utiliza el mismo código, pero aún sin el plugin de IA.
¿Alguien puede identificar las extensiones de postgres requeridas para el plugin de IA? No pude encontrar esta información en la Guía de Discourse AI - Autoalojada. Publicaciones de errores similares como AI Plugin Build Error - 'bundle exec rake db:migrate' failed utilizan un escenario diferente y pueden no estar relacionados con mi caso de uso operativo aquí…
Partes relevantes de web_only.yaml
templates:
- "templates/web.template.yml"
## Descomenta la siguiente línea para habilitar el oyente IPv6
#- "templates/web.ipv6.template.yml"
- "templates/web.ratelimited.template.yml"
- "templates/web.socketed.template.yml"
## Descomenta estas dos líneas si deseas agregar Lets Encrypt (https)
#- "templates/web.ssl.template.yml"
#- "templates/web.letsencrypt.ssl.template.yml"
[...]
## configurar la conectividad a las bases de datos
DISCOURSE_DB_SOCKET: ''
DISCOURSE_DB_USERNAME: discourse2
DISCOURSE_DB_NAME: discourse2
DISCOURSE_DB_PASSWORD: xxx
DISCOURSE_DB_HOST: 10.10.10.xx
# caché de redis en el contenedor vecino
DISCOURSE_REDIS_HOST: redis
[...]
## Los plugins van aquí
## ver https://meta.discourse.org/t/19157 para detalles
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
[...]
## para operación detrás de un balanceador de carga haproxy con nginx local en el host del contenedor
- 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_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-Forwarded-Proto https; # reemplazado $thescheme;
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