Upgrade doesn't work when installed with subfolder

I’ve installed my copy of Discourse in a subfolder, per instructions here:

I went to upgrade today to version 1.4. When I click “admin” / “upgrade”, I go to the wrong URL. When I manually go to /subfolder/admin/upgrade I see the menu but no list of upgrades. Looking under the hood there are two 404’s

GET /session/csrf
GET /admin/docker/repos

Suggestions?

2 Likes

My question is: how has nobody noticed this before?

One thing to note – I have two subfolders not one. If it’s helpful, here’s the run section of my app.yml.

run:
  - exec: echo "Beginning of custom commands"

  - exec:
        cd: $home
        cmd:
          - mkdir -p public/ep/support
          - cd public/ep/support && ln -s ../../uploads && ln -s ../../backups
          - rm public/uploads
          - rm public/backups
  - replace:
       global: true
       filename: /etc/nginx/conf.d/discourse.conf
       from: proxy_pass http://discourse;
       to: |
          rewrite ^/(.*)$ /ep/support/$1 break;
          proxy_pass http://discourse;
  - replace:
       filename: /etc/nginx/conf.d/discourse.conf
       from: etag off;
       to: |
          etag off;
          location /ep/support {
             rewrite ^/ep/support/?(.*)$ /$1;
          }
  - replace:
         filename: /etc/nginx/conf.d/discourse.conf
         from: $proxy_add_x_forwarded_for
         to: $http_fastly_client_ip
         global: true

It is possible we did not notice because our hosted customers don’t use this page.

We should look into this @neil in the meantime, use the SSH method to update your site. SSH in and do the three commands:

cd /var/discourse
git pull
./launcher rebuild app
3 Likes

Thanks. The SSH method worked.

3 Likes

This bug was fixed.

https://github.com/discourse/docker_manager/commit/58ed07e241cf3049de89522365927ee646ada25f

3 Likes