Adds a system to build.py which can automatically determine which
version of each upstream framework (.NET, NodeJS, others in the future)
a given HEAD is at in the submodules, and provide that build argument
into the Docker builds.
This will ensure we can reliably build versions on either side of a
framework version transition (i.e. both stable and master) without any
manual work.
For an explanation of how it works, see the comments in `build.yaml`.
Future code framework updates will need the `build.yaml` updated to
include the relevant (merge) commit hash and version.
Also adds better logging, including this new framework version as well
as a record of the Docker build commands for each build.
1. Don't try to unmask the service; that's not in our purview.
1. Don't start the Jellyfin service if the
`DISABLE_JELLYFIN_AUTOSTART` environment variable is set. Allows
explicit disabling of Jellyfin starting during package updates.
1. We should no longer care about Emby sudoers, that is long-since
obsoleted.
2. We shouldn't need to touch existing config dirs. While I've never had
this break things, I don't think we need to worry about this ancient
migration any longer.
Allows reconfiguration of jellyfin/jellyfin#12226 by the administrator
if required for Debuntu. Commented by default to preserve default
operation as this is a DotNET variable.
Both are required for a functional system, so add them as hard
dependencies. Also add ffmpeg as a recommends, in case the Metapackage
is not installed.
Closes#34Closes#33
1. Add examples of overriding the Group and WorkingDirectory; the former
being important if one decides to use an alternate data/working
directory.
2. Simplify the comments around the service hardening options,
especially given that we've now removed the hacky restart.sh restarting
method.
Ensure that "rm -rf" never fails. It may happens when user changed a directory like /var/cache/jellyfin into a mount point.
Without this patch, at any error, the shell script exits (because is has been activated with "-e")
The default is handled by the JELLYFIN_FFMPEG envvar anyways, and by
removing this, that envvar can then by used by containers to set the
path as required.
Using is_stable avoids "not is_unstable" which is confusing. Make
stability the default.
Also clean up the now completely unnecessary version_suffix in Docker
builds, as the only decider is stability.