Updating to version 32.0.3 for NC development server in Docker Windows

Hi all,

So, I’ve been developing my NC Apps in my local server using the Docker container provided here: GitHub - juliusknorr/nextcloud-docker-dev: Nextcloud development environment using docker-compose Ā· GitHub . Currently in my local server, it is running NC version 32.0.0. All is well up until the production server updates to NC version 32.0.3, which contain some modifications, which breaks my App. To fix it, I need to update my local development server to match the production server.

Hence the question: how do I update my NC local development server in my docker to that specific version 32.0.3) ?

NOTE:

  • I notice that the latest NC version is 32.0.6. The best solution is probably to update both servers (production and development) to that version, but for reasons that may not be possible for now.
  • I tried changing the Update Channel and set it to stable (previously set to GIT). It gave me the option to update to the newest version of 32.0.6, but no other option was given.
  • I can install NC version 32.0.3 using the standard NC docker image, but for development purposes it requires a lot of setup in my side, so it is not very practical. The most convenient way I know for app development is to use the above image.

If you use the setup from Julius, you should stick with git installation method as this gives you additional files needed for testing. The official tarball differs in that sense.

You can checkout any version from git. All related are tagged on GitHub (server repo) with e.g. v32.0.3. That way, you can jump to that exact version.

Just be warned that you cannot downgrade. So, you might be prepare to kill your instance of you need to go back. Alternatively, you can use e.g. the nextcloud2 container for your tests.

Also, you must update the submodule once you checkout another version in the server repo. On top, you must install matching versions of the additional required apps (like viewer) to make the server boot successfully.

Hi Christian! Thank you for your reply.

I must’ve missed something here… If I look to GitHub - nextcloud/server: ā˜ļø Nextcloud server, a safe home for all your data Ā· GitHub , I can’t seem to find branch v32.0.3 … Best I can find is stable32 which gave me version 32.0.6 and release/32.0.0 beta_1 . I did find however this page Release v32.0.3 Ā· nextcloud-releases/server Ā· GitHub which gave me version 32.0.3 but when I tried to use it with Julius’s Docker, it gave me composer errors trying to execute docker compose up nextcloud. I think it has something to do with 3rdparty apps or something…?

Using docker run --rm -p 8080:80 -e SERVER_BRANCH=v32.0.3 -v /path/to/app:/var/www/html/apps-extra/app Package nextcloud-dev-php83 Ā· GitHub somewhat gave me almost good result but I can’t seem to get around host.docker.internal issues … So I’m not sure if I can use this option too.

Best regards

I did not mean to use the branch but the tag. The stableXX branches track progress of each major version. However, each release gets it individual Tag in git. E.g. GitHub - nextcloud/server at v32.0.3 Ā· GitHub

You can check them out as well (you will be on detached head mode, don’t worry).

I am not sure if this would even work in general, as Julius is doing some configuration behind the scenes. So, I suggest to use the git checkout. Also, your tests will not run as testing code is dropped when releases are zipped.

You will with Julius setup avoid that for multiple reasons unless you know how it works and want to tweak it. First, you should use docker composes run to get the automatic mounts. Additionally, using run (instead of create), you have to specify CI arguments each time. So, this is okay for one time calls but I suggest against permanent usage.

Additionally, your text indicates that you do not strictly stick with the defaults. Thus, you might need very detailed explanation what you did (just a well-intended advice).

Chris