-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Multistage Docker / Ubuntu 22.04 WIP #1672
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Multistage Docker / Ubuntu 22.04 WIP #1672
Conversation
f2f0cda
to
d6fc4b5
Compare
Just tested this locally with Brighton Beach Road at Defaults and it's working! It's branched off from my prior Docker cleanup branch. If this is too fast or needs more validation you can safely merge the other first. This does require a more 'modern' Docker with BuildKit as it uses cache binds mounts and might require |
Nice, but be careful, some subtle issues might be introduced in upgrading Ubuntu, especially because it means upgrading gdal, proj & company. So extensive testing is needed. It looks like the test suite already caught something. |
Great ! My question is why Ubuntu nowadays ? |
As @pierotofy said, even changing deps. in slight ways can (and does) cause unexpected issues. So I try to change as little as I can at a time. Perhaps a later PR can test how/whether stuff runs in Alpine, which is generally more suited for Docker containers. For now, let me have a look at that CI failure. :) |
If you do investigate Alpine, I have been dailying it as a desktop OS for five years now and have been learning abuild/packaging with the eventual goal of trying to get everything in WebODM running on Alpine. To what you said before about security, being musl instead of glibc seems to reduce applicable CVEs significantly, and further, default policy of compiling with Stack Smash Protection and Position Independent Executables seems to basically take care of the rest. -Os is the optimization level, so very small and usually exact same runtime perf as -O2. In my usage, it has no noticeable performance penalty compared to more common desktop distros, though I believe musl malloc is slower in benchmarks 🤷 All that to say, I am over my head trying to port our whole stack, but this is a longterm goal of mine and I'm available to help in any way I can, and know a good number of folks in the Alpine community so maybe we can get some help/advice as well. |
Wow, Alpine as desktop. Didn't know that was a thing. :)
Yes all of that is correct but some stuff has difficulty running/compiling AFAIK.
Consider the current effort a preamble to that. |
It's not referenced anywhere in the repo. Saves only about 50 MB.
Prevents installation of Python 3.10.
6ecd604
to
b13effe
Compare
Running this locally, I get two most interesting fails:
|
Ready for manual testing by others, I'd say! |
Mm, does it pass locally if you modify
? This is looking pretty good; I will run some tests myself over the next day or two. 🙏 |
I will have to do this when back home, gimme a couple of days. |
Thus far sloppy, very much work in progress. Just figured sharing is caring. :)