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.
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.
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).