First docker images for MC30 are available here:
https://hub.docker.com/r/shiomax/jrivermc30If you're upgrading from an older version library backup and restore is required. So, make sure you have a backup.
---
First builds of the new images Iīve been working on for quite some time are available now too:
https://hub.docker.com/r/shiomax/jrivermcBuilds are available for mc 29 and 30.
You do not have to change to that image if you are happy with the old one, itīs not going anywhere immediately. At least not for now. Obviously, I do not plan to keep building both indefinitely, but at the very least Iīll not make the cutoff midway threw a cycle of a mc version. So you can wait for at least mc 31, maybe longer. I do not know yet.
If you want to try/use the new image. When changing from the other one, Id recommend creating a new "config" directory. Backup the old one and tread it as a completely new install (restore from mc backup). It probably works if you plonk in the old config directory, but Im not totally sure and not testing for it either.
Quick list of changes
- No longer based on "jlesage/baseimage-gui", but instead based off raw debian
- Builds for arm64 as well as amd64 (note that there are no 32bit images at this time, if you want to use it on a pi you need to use 64bit pi os, changing the kernel to 64bit on a 32bit install will not work).
- New webgui with dark and light mode
- Now using tigervnc instead x11vnc
- Setting authentication works differently, it now forces you to set a username/password combination when you first enter the webgui instead of setting it via VNC_PASSWORD environment variable. As of now you cannot NOT set a username/password. Looking for feedback if somebody actually wants to have no authentication.
- For direct VNC connections there is at this point no authentication setup at all, by default tigervnc listens on a unix sockets (read the documentation on how to change that). Meaning it is by default completely inaccessible from outside the container and you can only use the webgui. Iīve never really used anything but the webgui much, so it wasnīt much of a priority to get that working for the first release. Might look into options on how to deal with that later.
- For the new images all the images are in the same dockerhub repo, so picking a mc version is done with the tags :latest-29, :latest-30, I would not actually recommend you use plain :latest as it will use the absolute latest MC version available at any time, so it would upgrade past mc 30 once that is availabe.
- Some experimentation with MC integration. Currently, the only thing is an option to upload a mjr file. It will stop mc and do all the necessary steps to apply the license file. Might do something else in the future. Im not looking to extend MC functionally, but rather add helpful things for managing the container. Since I now have control over the GUI and everything else that goes into it a lot more things would be possible.
- Partial hardware acceleration. Should work for decoding video, will not work for rendering the virtual desktop. To have hardware acceleration on virtual desktops work something like virtualgl would be required.
- Logs are written to /log into rotating files for relevant services. If might want to mount this folder to a directory too. But itīs not required.
- A "STATELESS_MODE" flag. This will not be useful for most people. On startup this will copy the .jriver folder to a temporary directory and use that to run mc. Meaning if you restart the container whatever you did will be lost/reset. Probably should mount media (if required) as read only then too. The intention would be to be to make it possible to write tests for other software that uses mcws in a repeatable manner
- BLOCK_MC_STARTUP env variable is gone. You should use mcd-stop and mcd-start scripts/commands instead when needed, but probably would not be needed unless for mjr activation which is integrated into the gui, but if you want to do it without the gui use those to stop / start mc.
- KEEP_APP_RUNNING env variable is gone as it does not really make a ton of sence to exit the container when you stop mc
- APP_NICENESS env variable is gone, not sure if itīs needed, I donīt think you should ever have to set it might add it later just in case
- ENABLE_CJK_FONT env variable is gone, the font is installed by default if there are other fonts needed to display your songs just hit me up, fonts arenīt huge it should work out of the box
- X11VNC_EXTRA_OPTS env variable is gone, itīs no longer using x11vnc may add tigervnc options later
- MAXIMIZE_POPUPS env variable is gone, may add something like this back in the future, but i want to test different desktop environments at some point and see if another one works better for mc as with openbox the window sizing is a bit off for some reason. So Iīll think about this after that.