I view MUSL builds as an "implementation detail" of the official Docker
image. As such, I don't really think they're worth mentioning in the
build matrix on the main README. Most users likely won't care about it
and I want to reduce clutter / confusion.
The builds themselves, however, are still always available on each
release for those that do want them.
Edge builds previously would either download from the latest release on
github or directly compile the code. However, dotnet apparently has some
compatibility issues when run inside of a container built with qemu +
buildx.
The approach chosen going forward is to simply copy the builds from the
github workflow artifacts directly into the container during the build
process. This ended up causing a lot of change, mainly cleanup and
simplifying things.
Single-file builds incur a performance cost. Mainly because the runtime
must extract the contents of the C# application to a temp directory in
order for it to run. In a Docker container, single-file offers no
tangible benefit because the user isn't interacting directly with those
files.
To gain some performance improvement, single-file is disabled for MUSL
builds. Furthermore, the docker image is reconfigured to place the
Recyclarr binary files in a different directory. Previously, as a
single-file binary, it was placed in the container at `/usr/local/bin`,
but now that it is a multiple-file application, it now lives in
`/app/recyclarr`.
The recyclarr docker image no longer requires root.
- `PUID` and `PGID` environment variables are no longer used.
- `recyclarr.yml` is no longer created if it is missing.
Fixes#102
A new `edge` tag will be published for docker builds resulting from
relevant changes on `master`. This provides an opportunity for the
community to test Docker-specific changes prior to the next release of
Recyclarr itself.