make this plugin work in non-root containers (file permission issues)
For safety reasons and to be able to run within the sidekiq discourse container, we need to have correct file permissions (non-root user access to certain files).
When running this plugin, I get the errors:
discourse 00:29:48.87 INFO ==> ** Starting Sidekiq **
gem install jsonapi-serializer -v 2.2.0 -i /opt/bitnami/discourse/plugins/fk-discourse-bridge/gems/3.2.7 --no-document --ignore-dependencies --no-user-install
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /opt/bitnami/discourse/plugins/fk-discourse-bridge/gems directory.
/opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/installer.rb:340:in `rescue in install'
/opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/installer.rb:289:in `install'
/opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/resolver/specification.rb:105:in `install'
/opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/request_set.rb:281:in `block in install_into'
/opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/request_set.rb:273:in `each'
/opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/request_set.rb:273:in `install_into'
/opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/request_set.rb:148:in `install'
/opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/commands/install_command.rb:207:in `install_gem'
/opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/commands/install_command.rb:223:in `block in install_gems'
/opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/commands/install_command.rb:216:in `each'
/opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/commands/install_command.rb:216:in `install_gems'
/opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/commands/install_command.rb:162:in `execute'
/opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/command.rb:326:in `invoke_with_build_args'
/opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/command_manager.rb:253:in `invoke_command'
/opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/command_manager.rb:194:in `process_args'
/opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/command_manager.rb:152:in `run'
/opt/bitnami/ruby/lib/ruby/site_ruby/3.2.0/rubygems/gem_runner.rb:57:in `run'
/opt/bitnami/ruby/bin/gem:12:in `<main>'
You are specifying the gem jsonapi-serializer in /opt/bitnami/discourse/plugins/fk-discourse-bridge/plugin.rb, however it does not exist!
Looked for:
- /opt/bitnami/discourse/plugins/fk-discourse-bridge/gems/3.2.7/specifications/jsonapi-serializer-2.2.0.gemspec
- /opt/bitnami/discourse/plugins/fk-discourse-bridge/gems/3.2.7/specifications/jsonapi-serializer-2.2.0-x86_64-linux.gemspec
- /opt/bitnami/discourse/plugins/fk-discourse-bridge/gems/3.2.7/specifications/jsonapi-serializer-2.2.0-x86_64-linux-gnu.gemspec
stream closed EOF for displeu-prod-discourse/displeu-discourse-prod-ff55f888b-xg4nz (sidekiq)
The other plugin seems to work fine. Until fixed, I need to start up without this plugin at forum.displayeurope.eu.
See also: https://github.com/bitnami/charts/issues/26565#issuecomment-2143951010