Commit graph

109 commits

Author SHA1 Message Date
matthiasdv 3176a4ddd9 add more hardening to systemd service 2021-12-06 22:40:00 +01:00
Julien Voisin 564990964d
Add a bit of hardening to the systemd service
Tested in an unprivileged lxc container, so it shouldn't™ break anything.
2021-11-04 16:15:42 +01:00
Cody Robibero 4fc3de9b75
Fix builds for dotnet6 (#6595)
* Target net6.0

* Use new Enum.TryParse(ReadOnlySpan<char>) overload

* Replace RNGCryptoServiceProvider with RandomNumberGenerator

* ci - target net6.0 (#6594)

* Update deployment for dotnet6

* Use generic 6.0.x preview for CI

* Update direct dotnet download links

Co-authored-by: Bond_009 <bond.009@outlook.com>
2021-09-25 06:21:48 -06:00
Claus Vium 06242121c5
Merge pull request #4615 from strugee/fix-restart.sh 2021-09-06 13:53:23 +02:00
Joshua M. Boniface 72d3f7020a
Merge branch 'master' into patch-2 2021-08-18 02:46:59 -04:00
Joshua M. Boniface e5cbafdb6b
Merge pull request #5606 from lmnotran/feature/delay-service-start
Delay starting service until after network is online
2021-08-18 02:25:54 -04:00
Cédric Bellegarde 46665168a7 debian: Add maxcpucount option to override_dh_auto_build. Fix #5234 2021-06-21 11:39:51 +02:00
Tobias Krönke 8eee32c8c2
Respect configured JELLYFIN_USER in Debian's postinst
In my setup I configured a different user. But updates keep "stealing" file permissions for my `$PROGRAMDATA $CONFIGDATA $LOGDATA $CACHEDATA` directories.
2021-05-06 18:56:13 +02:00
cvium 01491796a2 Enable Workstation GC mode 2021-04-11 12:57:28 +02:00
Mason Tran 415b03d719
Delay starting services until after network is online 2021-03-24 02:35:44 -04:00
Joshua M. Boniface 5f2cd11199 Bump version to 10.8.0 for next release 2020-12-04 21:56:24 -05:00
AJ Jordan bab389114b
Use a service unit, not a scope unit, to restart
Reportedly `systemd-run --scope` still got killed by the service
manager; see #4615. The suspected cause is that `scope` units are run by
the `systemd-run` process itself and inherit the caller's execution
environment (see systemd-run(1)). To fix this, we use a systemd
`service` unit instead, which is run and managed by PID 1 - hopefully
this will isolate us sufficiently so that we don't get terminated along
with `jellyfin.service`.
2020-12-04 16:33:24 -08:00
AJ Jordan d251c701b9
Use systemd-run(1) in restart.sh
systemd-run(1) runs `systemctl restart` in an isolated systemd unit
that is not subject to process termination as jellyfin.service is shut
down. We adjust the sudoers configuration for this new usage, removing
the old config, since restart.sh is the only user of the sudoers
policy.

Additionally we change `systemctl start` to `systemctl restart` since
there was a race condition where jellyfin.service was not fully
stopped by the time this ran, so `systemctl start` became a noop.
`systemctl restart` on the other hand works whether jellyfin.service is
stopped or not.

The at(1) hack (and the usage of `start` instead of `restart`) is left
in for other init systems since I cannot test on those systems, and
because I don't know of any systemd-run(1) equivalent (although it may
be a non-issue since alternate init systems do not keep track of daemon
children nearly as aggressively as systemd does).
2020-12-04 16:18:26 -08:00
AJ Jordan b528816b2a
Add sudo to package dependencies
It's used in the restart.sh script.

For Debian, this is a Recommends because virtually everyone will need
this (default APT policy is to install recommended packages so this
works ok), but technically you can configure the server to run as root
and then you wouldn't need it.

For Fedora... frankly I got confused by their Weak Dependencies etc. so
I just made it a hard dependency.
2020-11-29 04:15:11 -05:00
AJ Jordan 2911dfc37d
Don't restart with sudo(8) if it's not available
Some environments, like system containers, have no reason to have
sudo(8) installed. In these environments restart.sh will silently fail
because /usr/bin/sudo does not exist to execute, so test that sudo
exists and don't try to use it otherwise.

Note also that hardcoding sudo's path is wrong: it can be installed in
other places. On FreeBSD, for example, it is /usr/local/bin/sudo when
installed from ports.
2020-11-29 04:04:38 -05:00
AJ Jordan ce82932c9a
Remove useless which(1) calls in restart.sh
at(1) runs commandlines with /bin/sh anyway, which resolves paths. No
need to do it ourselves.
2020-11-29 04:04:22 -05:00
AJ Jordan a4e1732e35
Fix restart.sh to look at what's actually booted
The old code was wrong because e.g. systemd can be *installed* on the
system, but not actually used as PID1. In that case we would pick
`systemctl`, but it wouldn't actually work because PID1 was some other
init system.
2020-11-29 03:43:03 -05:00
Cromefire_ 7aef0fce44
Use consistent style 2020-11-24 12:24:42 +01:00
Cromefire_ 7396fcfb84
Removed bash style vars 2020-11-24 12:23:44 +01:00
Cromefire_ 1897455004
Update debian/conf/jellyfin
Co-authored-by: Odd Stråbø <oddstr13@openshell.no>
2020-11-23 20:17:40 +01:00
Joshua M. Boniface 6de79e03a2 Go back to at with lower sleep and start 2020-11-22 18:32:16 -05:00
Joshua M. Boniface 97665c9478 Remove the at now hack 2020-11-22 17:19:39 -05:00
Joshua M. Boniface 1079ddb46c Run explicit service start if restart failed
Should solve the occasional bugs with the restart in the WebUI.
Sometimes the service stops and then doesn't start again; this will run
an explicit start action afterwards. If this doesn't fix it I'm certain
there would be more tweaking that can be done.
2020-11-22 17:12:29 -05:00
crobibero 185fac0677 Upgrade all netcore3.1 to net5.0 2020-11-15 13:31:47 -07:00
Joshua M. Boniface 0bcf4c02b4 Remove jellyfin-ffmpeg dep from server package
Being added to the metapackage instead.
2020-10-31 15:50:56 -04:00
Joshua M. Boniface d454e8710d
Merge pull request #3690 from MichaIng/patch-1
Fix left /usr/bin/jellyfin symlink on removal and typo
2020-10-17 01:51:53 -04:00
crobibero 583f47ea28 Remove GenerateDocumentationFile 2020-09-04 07:04:06 -06:00
crobibero 44fb76bbcf include xml docs when publishing 2020-08-29 10:42:12 -06:00
Cromefire_ 20b1f985f0
Added JELLYFIN_ADDITIONAL_OPTS to default file 2020-08-28 21:24:21 +02:00
Cromefire_ c0a8118c51
Added additional opts to service file 2020-08-28 21:19:42 +02:00
Joshua M. Boniface a511e0ac0b Bump master version to 10.7.0 for next release 2020-07-27 19:10:40 -04:00
MichaIng 1883ecd817
Fix left /usr/bin/jellyfin symlink on removal and typo
After removal of the symlink target file "/usr/lib/jellyfin/bin/jellyfin", file existence check on the symlink "[[ -f /usr/bin/jellyfin ]]" returns false. As a result the symlink is left in place on package purge. The correct check would be "[[ -L /usr/bin/jellyfin ]]", but since it could be a file in cases, e.g. manual fix on file systems with no symlink support or for any other reason, it is easiest to use "rm -f" to assure that it is removed in both cases and not return false even if it does not exist at all.

Additionally this fixes a typo on upstart script check.

Signed-off-by: MichaIng <micha@dietpi.com>
2020-07-24 22:43:32 +02:00
Fernando Fernández 722f6f5a26 fix typo in debian's config file 2020-07-23 20:53:04 +02:00
Joshua M. Boniface b1fe20aac5 Readd sed'd out dotnet-sdk dependency 2020-07-19 23:36:48 -04:00
Joshua M. Boniface 4966ca3616 Remove the old Emby conflicts
It's been long enough that this is no longer an issue. We still conflict
on the ports 8096 and 8190, but this will simply result in a failure to
start; allow users to get themselves into that situation if they wish.
2020-07-19 23:28:25 -04:00
Joshua M. Boniface 4ecedb2a12 Fix bad dependency handling in 10.6.0-1
Fixes the incorrect dependency handling from 10.6.0, which was missing
the Replaces and Breaks entries on jellyfin-server. Thus apt would
complain about /etc/default/jellyfin being in two packages and fail to
upgrade. With this configuration, I've verified that apt now handles
this situation properly.
2020-07-19 23:26:59 -04:00
Joshua M. Boniface 8c9604afba Add Web integration option in default service conf 2020-04-29 16:06:42 -04:00
hauntingEcho 4d949cb38b Specify a version for jellyfin-ffmpeg dependency in .deb
Lower versions cause #2126 in Jellyfin >= 10.4.3
2020-04-09 12:09:40 -04:00
Joshua M. Boniface 7eac368486 Fix missing restart script 2020-04-09 11:55:44 -04:00
Joshua M. Boniface b0e80b486b Use jellyfin.org everywhere 2020-04-09 11:40:04 -04:00
Joshua M. Boniface 8094687b9c Add Debian/Ubuntu metapackage equivs file 2020-03-30 02:40:06 -04:00
Joshua M. Boniface c478a43fd5 Update package description for Debian 2020-03-23 21:44:33 -04:00
Joshua M. Boniface 93d1256a4c Remove web building, rename, bump version 2020-03-23 14:46:16 -04:00
Joshua M. Boniface 8b620ed26a Move Debian folder to root of repo 2020-03-22 16:01:33 -04:00
Erwin de Haan 399a079dd4 Build scripts and build system consolidation.
Squashed commit.
2019-01-10 19:45:30 +01:00
Joshua Boniface f822d1c871 Bump version for 10.0.1 2019-01-08 20:09:33 -05:00
Joshua Boniface 7bee88280c Hotfix to postinst to correct permissions
Without this, if not importing a previous config, the perms are
broken on the config directories. Fixes this.
2019-01-06 15:13:35 -05:00
Joshua M. Boniface 1273da5af9 Merge pull request #440 from joshuaboniface/debian-packaging
Debian packaging for 10.0.0
2019-01-06 14:58:17 -05:00
Joshua Boniface d4182e761c Tweakes based on review feedback 2019-01-06 14:55:24 -05:00
hawken ec2d3ef603 Stop including .git in dpkg source tarball 2019-01-06 12:15:13 +00:00