linuxserver / docker-radarr

GNU General Public License v3.0
640 stars 103 forks source link

Switch to alpine linux containers #159

Closed tkreindler closed 2 years ago

tkreindler commented 2 years ago

linuxserver.io



Description:

Transitioned Dockerfiles to use Alpine linux containers with the musl built self-contained executable.

Benefits of this PR and context:

The benefits of using alpine for containers are well known in size and security. In this case the container size goes down from 308 MB -> 200 MB. All users will benefit from lower memory overhead and a smaller container size.

How Has This Been Tested?

I simply build it locally and then ran it on a Ubuntu 20.04 x64 host, and accessed the web portal to make sure it was working properly, and checked the settings menu to make sure there were no errors.

I haven't tested this in production yet, if that's necessary I can do so and report back.

Source / References:

tkreindler commented 2 years ago

Forgot to add additional context: previously this container used a Ubuntu base likely because of the mono dependency, but as the program has transitioned to dotnet core this dependency is no longer an issue and a self-contained musl build is provided.

tkreindler commented 2 years ago

Update: had a minor typo in my reformatting, fixed in latest commit.

tkreindler commented 2 years ago

Realized that the Radarr team doesn't provide a prebuilt armhf musl binary, so I reverted that Dockerfile to its original Ubuntu state. I still think the benefits of shipping this for x64 and arm64 are great enough to justify splitting this, but will be reaching out to the Radarr team to see if we can get a armhf musl binary built.

tkreindler commented 2 years ago

It would seem that Radarr v4 that is currently in pre-release builds the armhf musl binaries we need, it might make sense to delay this pull request until that time that that becomes stable and the Dockerfiles can have parity.

LinuxServer-CI commented 2 years ago

I am a bot, here are the test results for this PR: https://ci-tests.linuxserver.io/lspipepr/radarr/3.2.2.5080-pkg-8e187032-pr-159/index.html https://ci-tests.linuxserver.io/lspipepr/radarr/3.2.2.5080-pkg-8e187032-pr-159/shellcheck-result.xml

Roxedus commented 2 years ago

This is already in the works. Radarr do output armhf binaries.

https://github.com/linuxserver/docker-radarr/tree/nightly-alpine