blaise-io / acelink

Play Ace Streams on macOS using Docker.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support for Ubuntu 22 Docker Image (or if it's worth it)

TurtleRanking opened this issue Β· comments

Firstly, thanks for creating this software @blaise-io and the other maintainers. It works really nicely and I appreciate the time you've put into it πŸ™‚

Background

I'm creating this issue to ask if it's worth upgrading the base image to Ubuntu 22.

To my knowledge, Ubuntu 18 "Jammy" reached EOL in May 2023 meaning there will no longer be updates for it (although I'm not sure if their support lifecycle is different from their provided Docker images).

My initial thoughts were that with this being a Docker image that very much interacts with the wider internet, it probably makes sense that its base OS be one that's modern and receiving security updates. However I'm not an expert, and if the likely risk is minimal (e.g. if the main vulnerability would be the closed, ageing AceStream binaries, which we can do nothing about), I'd be happy to educated.

Ubuntu 22 Based Dockerfile

In that vein, I created a modified Dockerfile which I've got working smoothly with Ubuntu 22.

master...TurtleRanking:acelink:ubuntu22support

In brief summary I made these changes

  • Changed base image (duh!)
  • Added the command export DEBIAN_FRONTEND=noninteractive, and -yq options to all apt commands, to ensure the quite talkative newer version of Ubuntu doesn't prompt for user interaction
  • Added apt upgrade and apt autoremove commands. Quite possibly unnecessary, but they seemed like nice things to have.
  • Removed the python-[Python 2 package name] Ubuntu packages, as they're no longer supported and replaced them with pip installs
  • Explicitly installed libssl1.1 (which AceStream seems to need) with a rather hacky method

It does have quite a larger size than the current image (~200ish vs 600ish).

Conclusion

If there's no desire to change the base image for any reason, that's totally fine!

Or if a change is planned but there's a different/better way to go with it than my Dockerfile, that's fine, too, I just thought I'd share my one in case it could be helpful

All the best!
TurtleRanking

Thanks, this may save me a lot of time in the future :) Currently I'm focusing mostly on a small file size, but newer Ace Stream binaries may need a more up-to-date Ubuntu.

I also played with this issue for some time, and here are my findings.

there is very little sense in 22.04 and python2.7 (ones that is required for Ace Stream v3.1.49, which is used in dockerfile). Recent versions of Ubuntu moved away from python2. Bringing py2 means fighting with SSL, which has to be from that era. And that means manual juggling with old software. Which we already have in the current dockerfile. IMO, I do not see any meaningful profit in that over the current situation.

I went another way and tried to grab together all the latest stuff: 22.04 + latest ace stream v3.1.75rc4 (which requires python3.8 and ubuntu 18.04). I was able to put it all together with some hacks (and fucks) but Ace Stream itself does not work. I have very little experience in that, maybe @blaise-io will be able to get something useful from it.

As for image size, I did my best and was able to get 465MB as a result (245MB is ubuntu+python). We can probably squeeze a couple more MB, but I want to note that Ace Stream has become a monster itself (~4.5x size increase, 37M -> 168M).

@TurtleRanking I reused some things from your fork, so you definitely deserve a credit for your work

all code is here: master...ZuBB:acelink:bump-of-all