Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. Discourse
  3. Updating Plugins

Updating Plugins

Scheduled Pinned Locked Moved Solved Discourse
20 Posts 2 Posters 1.0k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M Offline
      M Offline
      mononym
      wrote on last edited by
      #1

      Hello. I want to update the discourse-translator plugin due to coming core changes in Discourse. With v3.4 a banner appeared:

      [Admin Notice] One of your themes or plugins needs updating for compatibility with upcoming Discourse core changes. (id:discourse.post-menu-widget-overrides) Identified plugin: 'discourse-translator'

      When looking at the plugins (commit hash) in the Discourse admin settings menu, it seems like the plugins do not update automatically.

      Is updating plugins identical to installing them ?

      1 Reply Last reply
      1
      • J Offline
        J Offline
        joseph
        Staff
        wrote on last edited by
        #2

        discourse does not auto update plugins (and neither does cloudron). you have to go into each plugin and git pull the latest changes .

        I recommend taking a backup and updating each plugin one by one. These things break more often than not.

        1 Reply Last reply
        1
        • M Offline
          M Offline
          mononym
          wrote on last edited by
          #3

          Thanks for the reply. Sounds good. I wonder if I have to repeat the installation procedure just with a pull instead of clone like this :

          cd /app/code/plugins/<plugin-repo> # installed plugin directory
          git config --global --add safe.directory /app/data/plugins/<plugin-repo> # make git work 
          git pull <plugin-repo>  # pull instead of clone
          cd .. # continue with install procedure
          chown -R cloudron:cloudron <plugin-dir>
          cd /app/code
          gosu cloudron:cloudron bundle exec rake plugin:install_all_gems
          gosu cloudron:cloudron bundle exec rake db:migrate
          gosu cloudron:cloudron bundle exec rake assets:precompile
          

          or only the pull ?

          J 1 Reply Last reply
          0
          • M mononym

            Thanks for the reply. Sounds good. I wonder if I have to repeat the installation procedure just with a pull instead of clone like this :

            cd /app/code/plugins/<plugin-repo> # installed plugin directory
            git config --global --add safe.directory /app/data/plugins/<plugin-repo> # make git work 
            git pull <plugin-repo>  # pull instead of clone
            cd .. # continue with install procedure
            chown -R cloudron:cloudron <plugin-dir>
            cd /app/code
            gosu cloudron:cloudron bundle exec rake plugin:install_all_gems
            gosu cloudron:cloudron bundle exec rake db:migrate
            gosu cloudron:cloudron bundle exec rake assets:precompile
            

            or only the pull ?

            J Offline
            J Offline
            joseph
            Staff
            wrote on last edited by
            #4

            @mononym said in Updating Plugins:

            gosu cloudron:cloudron bundle exec rake db:migrate
            gosu cloudron:cloudron bundle exec rake assets:precompile

            These two can be skipped, I think. The package does this already on a app restart (you should restart the app after you git update).

            1 Reply Last reply
            1
            • M Offline
              M Offline
              mononym
              wrote on last edited by
              #5

              Thanks. Unfortunately, I'm already stuck at the git command. I've tried the following:

              cd /app/code/plugins/discourse-translator
              sudo -u www-data git pull
              # fatal: detected dubious ownership in repository at '/app/data/plugins/discourse-translator'
              # To add an exception for this directory, call:
              # git config --global --add safe.directory /app/data/plugins/discourse-translator
              sudo -u www-data git config --global --add safe.directory /app/data/plugins/discourse-translator
              # error: could not lock config file /var/www/.gitconfig: Read-only file system
              sudo -u www-data git config --add safe.directory /app/data/plugins/discourse-translator  # without the global flag
              # fatal: not in a git directory
              
              J 1 Reply Last reply
              0
              • M mononym

                Thanks. Unfortunately, I'm already stuck at the git command. I've tried the following:

                cd /app/code/plugins/discourse-translator
                sudo -u www-data git pull
                # fatal: detected dubious ownership in repository at '/app/data/plugins/discourse-translator'
                # To add an exception for this directory, call:
                # git config --global --add safe.directory /app/data/plugins/discourse-translator
                sudo -u www-data git config --global --add safe.directory /app/data/plugins/discourse-translator
                # error: could not lock config file /var/www/.gitconfig: Read-only file system
                sudo -u www-data git config --add safe.directory /app/data/plugins/discourse-translator  # without the global flag
                # fatal: not in a git directory
                
                J Offline
                J Offline
                joseph
                Staff
                wrote on last edited by
                #6

                @mononym said in Updating Plugins:

                git config --global --add safe.directory /app/data/plugins/discourse-translator

                remove the --global . It will then create the .git/config in the same diretory

                M 1 Reply Last reply
                0
                • J joseph

                  @mononym said in Updating Plugins:

                  git config --global --add safe.directory /app/data/plugins/discourse-translator

                  remove the --global . It will then create the .git/config in the same diretory

                  M Offline
                  M Offline
                  mononym
                  wrote on last edited by
                  #7

                  I tried to as well but I get a fatal: not in a git directory error when removing the --global flag.

                  1 Reply Last reply
                  0
                  • J Offline
                    J Offline
                    joseph
                    Staff
                    wrote on last edited by
                    #8

                    Strange. Are you running this in /app/data/plugins/<plugin-repo> ? Which should be a git repo (check for .git subfolder) ?

                    M 2 Replies Last reply
                    0
                    • J joseph

                      Strange. Are you running this in /app/data/plugins/<plugin-repo> ? Which should be a git repo (check for .git subfolder) ?

                      M Offline
                      M Offline
                      mononym
                      wrote on last edited by
                      #9

                      @joseph Yes, I'm wondering about the same thing.

                      root@973fc516-e3d4-4f67-b18b-3f55c5bd086f:/app/code/plugins/discourse-translator# ls -a
                      .                         .github          .template-lintrc.cjs  assets       lib           spec
                      ..                        .gitignore       Gemfile               config       package.json  translator.yml
                      .discourse-compatibility  .prettierrc.cjs  Gemfile.lock          db           plugin.rb     yarn.lock
                      .eslintrc.cjs             .rubocop.yml     LICENSE               example.gif  services
                      .git                      .streerc         README.md             gems         setup.png
                      
                      1 Reply Last reply
                      0
                      • J joseph

                        Strange. Are you running this in /app/data/plugins/<plugin-repo> ? Which should be a git repo (check for .git subfolder) ?

                        M Offline
                        M Offline
                        mononym
                        wrote on last edited by mononym
                        #10

                        @joseph said in Updating Plugins:

                        /data/

                        My bad. I was in app/code/.... Did not know the plugin exists in both locations.

                        But unfortunately the git command still gives a fatal: not in a git directory even in the data subdirectory.

                        1 Reply Last reply
                        0
                        • J Offline
                          J Offline
                          joseph
                          Staff
                          wrote on last edited by
                          #11

                          are you able to run simple commands like "git log" ?

                          M 1 Reply Last reply
                          0
                          • J joseph

                            are you able to run simple commands like "git log" ?

                            M Offline
                            M Offline
                            mononym
                            wrote on last edited by
                            #12

                            Simple git commands (stauts & log, tested with and without sudo -u www-data) give:

                            fatal: detected dubious ownership in repository at '/app/data/plugins/discourse-translator'
                            To add an exception for this directory, call:
                            
                                    git config --global --add safe.directory /app/data/plugins/discourse-translator
                            

                            When trying to solve the ownership with git config --add safe.directory /app/data/plugins/discourse-translator (with and without sudo -u www-data) I get :

                            fatal: not in a git directory
                            

                            In the case of the translator plugin, I could maybe reinstall instead of update. As it is just a connection to a LibreTranslate instance. But that's probably not a solution for other plugins.

                            1 Reply Last reply
                            0
                            • J Offline
                              J Offline
                              joseph
                              Staff
                              wrote on last edited by
                              #13

                              mmm, I am stumped. Why would it say not a git directory . Is there no '.git' ? There is a /app/data/plugins/discourse-translator/.git right ?

                              1 Reply Last reply
                              0
                              • M Offline
                                M Offline
                                mononym
                                wrote on last edited by mononym
                                #14

                                Yes. This is the content:

                                root@973fc516-e3d4-4f67-b18b-3f55c5bd086f:/app/data/plugins/discourse-translator# ls -asl
                                total 3944
                                   4 drwxr-xr-x 11 cloudron cloudron    4096 May  8  2024 .
                                   4 drwxr-xr-x  4 cloudron cloudron    4096 Feb 25 05:03 ..
                                   4 -rw-r--r--  1 cloudron cloudron     110 May  8  2024 .discourse-compatibility
                                   4 -rw-r--r--  1 cloudron cloudron      60 May  8  2024 .eslintrc.cjs
                                   4 drwxr-xr-x  8 cloudron cloudron    4096 May  8  2024 .git
                                   4 drwxr-xr-x  3 cloudron cloudron    4096 May  8  2024 .github
                                   4 -rw-r--r--  1 cloudron cloudron      88 May  8  2024 .gitignore
                                   4 -rw-r--r--  1 cloudron cloudron      62 May  8  2024 .prettierrc.cjs
                                   4 -rw-r--r--  1 cloudron cloudron      51 May  8  2024 .rubocop.yml
                                   4 -rw-r--r--  1 cloudron cloudron      50 May  8  2024 .streerc
                                   4 -rw-r--r--  1 cloudron cloudron      67 May  8  2024 .template-lintrc.cjs
                                   4 -rw-r--r--  1 cloudron cloudron     134 May  8  2024 Gemfile
                                   4 -rw-r--r--  1 cloudron cloudron    1228 May  8  2024 Gemfile.lock
                                   4 -rw-r--r--  1 cloudron cloudron    1080 May  8  2024 LICENSE
                                   4 -rw-r--r--  1 cloudron cloudron     227 May  8  2024 README.md
                                   4 drwxr-xr-x  4 cloudron cloudron    4096 May  8  2024 assets
                                   4 drwxr-xr-x  3 cloudron cloudron    4096 May  8  2024 config
                                   4 drwxr-xr-x  3 cloudron cloudron    4096 May  8  2024 db
                                3668 -rw-r--r--  1 cloudron cloudron 3755037 May  8  2024 example.gif
                                   4 drwxr-xr-x  5 cloudron cloudron    4096 Feb  8 05:04 gems
                                   4 drwxr-xr-x  3 cloudron cloudron    4096 May  8  2024 lib
                                   4 -rw-r--r--  1 cloudron cloudron     213 May  8  2024 package.json
                                   8 -rw-r--r--  1 cloudron cloudron    6541 May  8  2024 plugin.rb
                                   4 drwxr-xr-x  3 cloudron cloudron    4096 May  8  2024 services
                                  12 -rw-r--r--  1 cloudron cloudron   11777 May  8  2024 setup.png
                                   4 drwxr-xr-x  8 cloudron cloudron    4096 May  8  2024 spec
                                   4 -rw-r--r--  1 cloudron cloudron     208 May  8  2024 translator.yml
                                 160 -rw-r--r--  1 cloudron cloudron  161368 May  8  2024 yarn.lock
                                

                                The issue is exactly the same in the /app/data/plugins/discourse-data-explorer directory.

                                FYI, I recently pulled an update for my GravCMS and there sudo -u www-data git config --add safe.directory <theme/directory> + sudo -u www-data git pull worked as expected.

                                1 Reply Last reply
                                0
                                • M Offline
                                  M Offline
                                  mononym
                                  wrote on last edited by
                                  #15

                                  As a test, I tried deleting the folder and installing the plugin anew following the steps in the documentation. The plugin (translator) was displayed correctly but not working for some reason (unable to detect the post language I guess). I finally restored a backup made just before this test.

                                  J M 2 Replies Last reply
                                  0
                                  • M mononym

                                    As a test, I tried deleting the folder and installing the plugin anew following the steps in the documentation. The plugin (translator) was displayed correctly but not working for some reason (unable to detect the post language I guess). I finally restored a backup made just before this test.

                                    J Offline
                                    J Offline
                                    joseph
                                    Staff
                                    wrote on last edited by
                                    #16

                                    @mononym I can give this a try in a fresh install. What should I be testing after the post is installed?

                                    1 Reply Last reply
                                    0
                                    • M Offline
                                      M Offline
                                      mononym
                                      wrote on last edited by
                                      #17

                                      I guess first one has to somehow install an old version of the discourse plugin. Mine, the discourse-translator plugin, is currently at commit eb55d60. I don't know git well enough to do that instead of a "regular" clone of the latest version. Thus, that differs a little from the Cloudron Discourse docs. Rebuild Discourse with the plugin.

                                      Once done, navigate to the plugin folder, either in app/data/plugins/discourse-translator or app/code/plugins/discourse-translator, and try to git pull the latest version of the plugin. That's where it's stuck right now.

                                      1 Reply Last reply
                                      0
                                      • M mononym

                                        As a test, I tried deleting the folder and installing the plugin anew following the steps in the documentation. The plugin (translator) was displayed correctly but not working for some reason (unable to detect the post language I guess). I finally restored a backup made just before this test.

                                        M Offline
                                        M Offline
                                        mononym
                                        wrote on last edited by mononym
                                        #18

                                        Still trying to solve this before Discourse rolls out the breaking UI changes... What would be the correct procedure to delete and reinstall a plugin ?

                                        1 Reply Last reply
                                        0
                                        • J Offline
                                          J Offline
                                          joseph
                                          Staff
                                          wrote on last edited by
                                          #19

                                          I think deleting the directory and restarting the app uninstalls the plugin. After that, you can reinstall it with https://docs.cloudron.io/apps/discourse/#installing-plugins

                                          M 1 Reply Last reply
                                          1
                                          • J joseph

                                            I think deleting the directory and restarting the app uninstalls the plugin. After that, you can reinstall it with https://docs.cloudron.io/apps/discourse/#installing-plugins

                                            M Offline
                                            M Offline
                                            mononym
                                            wrote on last edited by
                                            #20

                                            @joseph Perfect, thank you ! That did the job. And to my surprise, the settings (LibreTranslate API and URL) were still in place !

                                            1 Reply Last reply
                                            2
                                            • nebulonN nebulon marked this topic as a question on
                                            • nebulonN nebulon has marked this topic as solved on
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes


                                              • Login

                                              • Don't have an account? Register

                                              • Login or register to search.
                                              • First post
                                                Last post
                                              0
                                              • Categories
                                              • Recent
                                              • Tags
                                              • Popular
                                              • Bookmarks
                                              • Search