binhex / arch-nzbhydra2

Docker build script for Arch Linux base with NZBHydra2
GNU General Public License v3.0
6 stars 1 forks source link

Test new executable to get rid of java and improve performance #17

Open theotherp opened 1 year ago

theotherp commented 1 year ago

I'm currently working on a major update for NZBHydra. If all goes well I will be able to release compiled binaries instead of java libraries, meaning that you don't need to have java installed. Everything you need is in the binary. Apart from the hassle of needing java this also promises some drastic improvements on startup time and memory usage.

One problem I encountered is that the binary is not a "static image" but a "mostly static image", e.g. it needs glibc to run which is why an alpine base image won't work. I've tried the steps described here: https://wiki.alpinelinux.org/wiki/Running_glibc_programs but didn't have any luck. Instead I was able to get it to run using an ubuntu base image and installing libfreetype6.

Apart from that the docker file should mostly look the same. The python wrapper will still be included and just run a binary instead of java.

I've made a minimal example here: https://ufile.io/mzbsci6q Please do not release this as it's just a test version.

The proposed next steps:

Thanks!

binhex commented 1 year ago

sounds good to me!, i'm a big fan of statically compiled binaries, btw the base of the docker images i produce are 100% Arch Linux, fingers crossed it should be easy enough to get this working.

theotherp commented 1 year ago

Hi. This should be close to final: https://ufile.io/drby73fu

Since my post I realised that we still need java for the migration from old versions (I need to call java in a separate process to migrate the old database). After everybody has successfully migrated we can finally get rid of java. Also hydra should not run in the root folder but instead /app or something like that.

I'm planning to release the update at the weekend of 20th.

Thanks.