blaise-io / acelink

Play Ace Streams on macOS using Docker.
MIT License
770 stars 50 forks source link

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

Open TurtleRanking opened 1 year ago

TurtleRanking commented 1 year ago

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.

https://github.com/blaise-io/acelink/compare/master...TurtleRanking:acelink:ubuntu22support

In brief summary I made these changes

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

blaise-io commented 1 year ago

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.

ZuBB commented 1 year ago

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: https://github.com/blaise-io/acelink/compare/master...ZuBB:acelink:bump-of-all