Compare commits

...

446 Commits

Author SHA1 Message Date
991aa8231e Update docker-compose.yml
Some checks failed
External Trigger Scheduler / external-trigger-scheduler (push) Has been cancelled
Mark stale issues and pull requests / stale (push) Has been cancelled
Package Trigger Scheduler / package-trigger-scheduler (push) Has been cancelled
Updated Time zone and config path
2025-05-20 20:12:24 -04:00
6ff4914d76 Add docker-compose.yml
Some checks failed
External Trigger Scheduler / external-trigger-scheduler (push) Has been cancelled
Creation
2025-05-20 18:56:57 -04:00
LinuxServer-CI
549a522c87 Bot Updating Package Versions 2025-05-20 13:07:36 +00:00
LinuxServer-CI
10702c93c3 Bot Updating Templated Files 2025-05-20 13:02:44 +00:00
LinuxServer-CI
29fa36d5b5 Bot Updating Package Versions 2025-05-06 13:03:33 +00:00
LinuxServer-CI
910ac59ce9 Bot Updating Package Versions 2025-04-29 13:05:00 +00:00
LinuxServer-CI
6396eae137 Bot Updating Package Versions 2025-04-19 00:39:26 +00:00
LinuxServer-CI
022c39305a Bot Updating Templated Files 2025-04-19 00:35:15 +00:00
Roxedus
caec076a39 Merge pull request #291 from EsmailELBoBDev2/patch-2 2025-04-19 02:32:48 +02:00
Esmail EL BoB
b91970f33f Update readme-vars.yml 2025-04-18 23:04:14 +00:00
LinuxServer-CI
c2ae6e2e46 Bot Updating Package Versions 2025-04-15 13:01:37 +00:00
LinuxServer-CI
464b549dfd Bot Updating Package Versions 2025-04-08 12:59:18 +00:00
LinuxServer-CI
39b2bb3529 Bot Updating Package Versions 2025-04-05 20:14:15 +00:00
quietsy
192b16d257 Merge pull request #285 from linuxserver/add-malloc-trim
Add malloc trim
2025-04-01 15:27:37 +03:00
quietsy
893213b389 Add malloc trim 2025-04-01 11:45:39 +03:00
LinuxServer-CI
36448dd152 Bot Updating Package Versions 2025-03-25 12:56:30 +00:00
LinuxServer-CI
f59db6bef4 Bot Updating Package Versions 2025-03-11 12:58:20 +00:00
LinuxServer-CI
aafa958711 Bot Updating Package Versions 2025-03-04 12:56:47 +00:00
LinuxServer-CI
bdabdc739d Bot Updating Package Versions 2025-02-25 12:55:10 +00:00
LinuxServer-CI
b925097ae9 Bot Updating Package Versions 2025-02-16 23:13:36 +00:00
LinuxServer-CI
baf72a48ab Bot Updating Package Versions 2025-02-11 12:56:01 +00:00
LinuxServer-CI
bf19804b44 Bot Updating Templated Files 2025-02-11 12:52:02 +00:00
LinuxServer-CI
b73f6a6c67 Bot Updating Package Versions 2025-02-04 13:19:00 +00:00
LinuxServer-CI
5060bc5081 Bot Updating Templated Files 2025-02-04 13:14:53 +00:00
LinuxServer-CI
c6dcfffa96 Bot Updating Templated Files 2025-02-04 13:12:40 +00:00
LinuxServer-CI
fbbc4acc71 Bot Updating Package Versions 2025-01-28 12:51:56 +00:00
LinuxServer-CI
144eb37b33 Bot Updating Package Versions 2025-01-25 20:14:08 +00:00
quietsy
2e0208e89d Merge pull request #277 from linuxserver/add-project-categories
Add categories to readme-vars.yml
2025-01-22 15:18:05 +02:00
quietsy
59af1fdcc6 Add categories to readme-vars.yml 2025-01-22 14:53:44 +02:00
LinuxServer-CI
6878f713c5 Bot Updating Package Versions 2025-01-22 03:17:27 +00:00
LinuxServer-CI
a676cad649 Bot Updating Package Versions 2024-12-24 12:52:52 +00:00
LinuxServer-CI
88a7bb963d Bot Updating Package Versions 2024-12-17 13:08:26 +00:00
LinuxServer-CI
5956ab08c2 Bot Updating Templated Files 2024-12-17 12:59:51 +00:00
LinuxServer-CI
053fc4d974 Bot Updating Templated Files 2024-12-17 12:57:26 +00:00
LinuxServer-CI
42f5e536ac Bot Updating Package Versions 2024-12-10 13:04:38 +00:00
LinuxServer-CI
60a1f64727 Bot Updating Templated Files 2024-12-10 12:59:14 +00:00
LinuxServer-CI
a0dc044a0e Bot Updating Templated Files 2024-12-10 12:57:17 +00:00
LinuxServer-CI
149b9729b9 Bot Updating Templated Files 2024-12-03 12:59:46 +00:00
LinuxServer-CI
a6e87623bc Bot Updating Templated Files 2024-12-03 12:57:36 +00:00
LinuxServer-CI
654e47a9a6 Bot Updating Templated Files 2024-12-03 12:55:29 +00:00
LinuxServer-CI
132af6b940 Bot Updating Package Versions 2024-11-19 04:17:38 +00:00
LinuxServer-CI
cde6776b6d Bot Updating Package Versions 2024-11-16 21:12:04 +00:00
LinuxServer-CI
954b05b733 Bot Updating Package Versions 2024-11-12 12:58:27 +00:00
LinuxServer-CI
064f46f3e6 Bot Updating Templated Files 2024-11-12 12:55:00 +00:00
LinuxServer-CI
125ae9fe1a Bot Updating Templated Files 2024-11-12 12:53:13 +00:00
LinuxServer-CI
2802f00552 Bot Updating Package Versions 2024-11-03 17:11:50 +00:00
LinuxServer-CI
b8e751f8cc Bot Updating Package Versions 2024-10-26 18:15:51 +00:00
LinuxServer-CI
41bbff25b9 Bot Updating Templated Files 2024-10-15 13:54:15 +00:00
driz
11a9ee3384 Merge pull request #272 from linuxserver/readme
update readme
2024-10-15 09:52:34 -04:00
LinuxServer-CI
d477e32b69 Bot Updating Package Versions 2024-10-15 12:53:47 +00:00
driz
88c5be200a update readme 2024-10-15 08:31:53 -04:00
aptalca
03ab1ec8f1 Merge pull request #269 from linuxserver/home
fix fontconfig cache path
2024-10-07 16:42:18 -04:00
aptalca
7e2706a035 fix fontconfig cache path 2024-10-06 16:18:30 -04:00
LinuxServer-CI
0e99c5f7aa Bot Updating Package Versions 2024-10-01 13:00:41 +00:00
LinuxServer-CI
81d6faeac3 Bot Updating Templated Files 2024-10-01 12:56:57 +00:00
LinuxServer-CI
047a233fc8 Bot Updating Templated Files 2024-10-01 12:54:51 +00:00
LinuxServer-CI
279eac826a Bot Updating Templated Files 2024-10-01 12:53:14 +00:00
LinuxServer-CI
68f4741971 Bot Updating Package Versions 2024-09-24 12:53:46 +00:00
LinuxServer-CI
830149a5e8 Bot Updating Package Versions 2024-09-17 12:51:54 +00:00
LinuxServer-CI
a82f52c8a7 Bot Updating Package Versions 2024-09-07 23:12:51 +00:00
LinuxServer-CI
462a18084c Bot Updating Package Versions 2024-09-03 12:50:33 +00:00
LinuxServer-CI
be32ff4228 Bot Updating Package Versions 2024-08-25 07:12:25 +00:00
LinuxServer-CI
63296e0009 Bot Updating Package Versions 2024-08-20 12:53:54 +00:00
LinuxServer-CI
1ae7b88dff Bot Updating Templated Files 2024-08-20 12:50:05 +00:00
LinuxServer-CI
eaa175ad0a Bot Updating Templated Files 2024-08-20 12:47:33 +00:00
LinuxServer-CI
ac78c099ce Bot Updating Package Versions 2024-08-13 19:13:01 +00:00
LinuxServer-CI
ab59e8009c Bot Updating Templated Files 2024-08-13 19:09:43 +00:00
Roxedus
c03c466bcc Merge pull request #260 from linuxserver/master-noble 2024-08-13 20:29:23 +02:00
thespad
542c653960 Rebase to noble 2024-08-13 17:29:26 +01:00
LinuxServer-CI
300986d08d Bot Updating Package Versions 2024-08-13 12:50:42 +00:00
LinuxServer-CI
538ca09535 Bot Updating Package Versions 2024-08-05 03:13:06 +00:00
LinuxServer-CI
47d1c4d015 Bot Updating Package Versions 2024-07-30 12:51:20 +00:00
LinuxServer-CI
4da6ce3a47 Bot Updating Package Versions 2024-07-21 06:15:17 +00:00
LinuxServer-CI
b72bba5cbf Bot Updating Package Versions 2024-07-16 12:48:05 +00:00
LinuxServer-CI
8e8c4697eb Bot Updating Templated Files 2024-07-16 12:45:00 +00:00
LinuxServer-CI
bf077aeb0f Bot Updating Templated Files 2024-07-16 12:43:27 +00:00
LinuxServer-CI
c77c882d9e Bot Updating Package Versions 2024-07-09 12:49:06 +00:00
LinuxServer-CI
0778f4cbd1 Bot Updating Package Versions 2024-06-25 00:42:44 +00:00
LinuxServer-CI
8b9f24ac5e Bot Updating Package Versions 2024-06-06 19:16:11 +00:00
LinuxServer-CI
fcc8319208 Bot Updating Package Versions 2024-06-05 23:13:10 +00:00
LinuxServer-CI
40f93f0fe3 Bot Updating Package Versions 2024-06-01 23:15:00 +00:00
LinuxServer-CI
e089601051 Bot Updating Package Versions 2024-05-27 00:42:48 +00:00
LinuxServer-CI
1c8483967c Bot Updating Templated Files 2024-05-21 12:45:51 +00:00
LinuxServer-CI
fc23fea9d3 Bot Updating Templated Files 2024-05-21 12:42:55 +00:00
Adam
1488417625 Merge pull request #249 from linuxserver/master-ffmpeg
Check ffmepg path, use proper health endpoint
2024-05-18 20:07:19 +01:00
thespad
1c26852563 Don't try and read network.xml if it doesn't exist (like on first run) 2024-05-18 19:36:27 +01:00
thespad
048fd11f09 Oh, it was already using the health endpoint 2024-05-18 17:15:41 +01:00
thespad
f70926cb0e Check ffmepg path, use proper health endpoint 2024-05-18 17:13:40 +01:00
LinuxServer-CI
bdc4079d0e Bot Updating Package Versions 2024-05-17 21:10:31 +00:00
LinuxServer-CI
6b27ac0bde Bot Updating Package Versions 2024-05-13 00:42:35 +00:00
LinuxServer-CI
ab722d2cbd Bot Updating Package Versions 2024-05-11 19:12:08 +00:00
LinuxServer-CI
2d8da99de5 Bot Updating Templated Files 2024-05-11 19:08:02 +00:00
LinuxServer-CI
64f56e0507 Bot Updating Templated Files 2024-05-07 12:41:00 +00:00
LinuxServer-CI
c07605bae8 Bot Updating Package Versions 2024-05-03 23:17:33 +00:00
aptalca
b595c340ab Merge pull request #243 from linuxserver/init-video
increase verbosity of init-video
2024-05-03 19:12:41 -04:00
aptalca
6b5e610b23 remove TZ var 2024-05-01 11:28:52 -04:00
aptalca
7dca33c221 increase verbosity of init-video 2024-05-01 11:02:24 -04:00
LinuxServer-CI
a0fc72b1fc Bot Updating Package Versions 2024-04-30 12:45:02 +00:00
LinuxServer-CI
07da3eedec Bot Updating Templated Files 2024-04-30 12:41:35 +00:00
LinuxServer-CI
3b2f303316 Bot Updating Package Versions 2024-04-23 12:44:43 +00:00
LinuxServer-CI
0a8d201316 Bot Updating Package Versions 2024-04-09 12:42:34 +00:00
LinuxServer-CI
e238be1fc6 Bot Updating Package Versions 2024-03-26 12:43:51 +00:00
LinuxServer-CI
2515311658 Bot Updating Package Versions 2024-03-19 12:44:05 +00:00
LinuxServer-CI
82313fdb4a Bot Updating Templated Files 2024-03-19 12:39:49 +00:00
LinuxServer-CI
4a5f505d64 Bot Updating Package Versions 2024-03-12 12:40:58 +00:00
LinuxServer-CI
651079bafd Bot Updating Package Versions 2024-03-05 12:42:17 +00:00
LinuxServer-CI
5b682272ec Bot Updating Package Versions 2024-02-27 12:46:27 +00:00
LinuxServer-CI
7896519126 Bot Updating Templated Files 2024-02-27 12:42:00 +00:00
LinuxServer-CI
8bcfc77991 Bot Updating Templated Files 2024-02-27 12:38:37 +00:00
LinuxServer-CI
c9f43b6ae0 Bot Updating Package Versions 2024-02-20 12:39:47 +00:00
Roxedus
a626477b34 Merge pull request #233 from linuxserver/readme_hwaccel 2024-02-13 17:15:37 +01:00
LinuxServer-CI
91ee7c5830 Bot Updating Package Versions 2024-02-13 12:39:26 +00:00
Roxedus
bff495cd63 Update wording 2024-02-13 10:09:52 +01:00
Roxedus
41951259d2 Sync readme 2024-02-12 19:25:11 +01:00
Roxedus
7bb0cf1bc9 Switch to readme_hwaccel
Closes #226, #228
2024-02-12 18:41:53 +01:00
LinuxServer-CI
71bbb460bf Bot Updating Package Versions 2024-02-06 13:43:48 +00:00
LinuxServer-CI
083be7e99c Bot Updating Package Versions 2024-01-30 12:39:49 +00:00
LinuxServer-CI
f70f1831a8 Bot Updating Package Versions 2024-01-23 12:46:10 +00:00
LinuxServer-CI
d2ca6c23dc Bot Updating Package Versions 2024-01-16 12:51:46 +00:00
LinuxServer-CI
feffdc1a45 Bot Updating Templated Files 2024-01-16 12:48:06 +00:00
LinuxServer-CI
2e044de543 Bot Updating Templated Files 2024-01-16 12:43:33 +00:00
LinuxServer-CI
56e94b2733 Bot Updating Package Versions 2023-12-26 12:41:34 +00:00
LinuxServer-CI
d9082b5bea Bot Updating Package Versions 2023-12-19 12:44:35 +00:00
LinuxServer-CI
f0b9632b06 Bot Updating Package Versions 2023-12-04 15:46:40 +00:00
aptalca
8226f2170d Merge pull request #221 from linuxserver/repos
clean up repos and packages
2023-12-04 10:42:09 -05:00
aptalca
cc32e3e6c4 clean up repos and packages 2023-12-03 17:15:21 -05:00
LinuxServer-CI
61c3357699 Bot Updating Package Versions 2023-12-03 01:54:32 +00:00
LinuxServer-CI
ee64f0a310 Bot Updating Package Versions 2023-11-29 04:13:50 +00:00
LinuxServer-CI
c91f0bd562 Bot Updating Package Versions 2023-11-28 12:44:58 +00:00
LinuxServer-CI
327e8c2671 Bot Updating Package Versions 2023-11-21 12:47:35 +00:00
LinuxServer-CI
fcaec151ad Bot Updating Templated Files 2023-11-21 12:44:29 +00:00
LinuxServer-CI
d2c10dcac0 Bot Updating Package Versions 2023-11-14 12:43:14 +00:00
LinuxServer-CI
48a647e6ae Bot Updating Package Versions 2023-11-05 18:12:49 +00:00
LinuxServer-CI
2ee96aecf5 Bot Updating Package Versions 2023-10-31 12:42:43 +00:00
LinuxServer-CI
b753a47d58 Bot Updating Package Versions 2023-10-24 12:45:06 +00:00
LinuxServer-CI
2bbfa9e36f Bot Updating Package Versions 2023-10-10 12:51:17 +00:00
LinuxServer-CI
bae4436beb Bot Updating Templated Files 2023-10-10 12:46:09 +00:00
LinuxServer-CI
8071da0bcf Bot Updating Templated Files 2023-10-10 12:42:57 +00:00
LinuxServer-CI
d9a99fc742 Bot Updating Package Versions 2023-10-03 12:46:58 +00:00
LinuxServer-CI
15a1ebf10e Bot Updating Package Versions 2023-09-24 03:11:27 +00:00
LinuxServer-CI
2bf2748680 Bot Updating Package Versions 2023-09-19 12:45:23 +00:00
LinuxServer-CI
c8e83fb19c Bot Updating Templated Files 2023-09-12 19:02:26 +00:00
Adam
a40fcd9709 Merge pull request #214 from ReenigneArcher/patch-1
fix: take ownership of plugin directories
2023-09-12 19:59:40 +01:00
ReenigneArcher
6ac83bf02d docs: update changelog 2023-09-12 12:36:52 -04:00
LinuxServer-CI
a1c5bd5dd6 Bot Updating Package Versions 2023-09-05 12:44:19 +00:00
ReenigneArcher
8a8c8e695c fix: take ownership of plugin directories 2023-08-29 17:51:20 -04:00
LinuxServer-CI
d6acf7194b Bot Updating Package Versions 2023-08-29 12:44:21 +00:00
LinuxServer-CI
0f9825c78d Bot Updating Package Versions 2023-08-22 12:43:55 +00:00
LinuxServer-CI
deaf7c89f5 Bot Updating Package Versions 2023-08-08 12:44:11 +00:00
LinuxServer-CI
d81909152d Bot Updating Package Versions 2023-08-01 12:46:21 +00:00
LinuxServer-CI
c2e2e93104 Bot Updating Package Versions 2023-07-11 12:51:17 +00:00
LinuxServer-CI
4775527a6a Bot Updating Package Versions 2023-07-05 19:54:36 +00:00
Adam
fb8ab3f9ec Merge pull request #203 from linuxserver/readme-and-readiness 2023-07-05 20:50:30 +01:00
TheSpad
5784bb194d Fix check logic 2023-07-05 20:38:02 +01:00
TheSpad
eacf1b24dc Remove old check command from service file 2023-07-05 20:36:46 +01:00
TheSpad
93fb4ac22e Update readme links and readiness check 2023-07-05 20:20:17 +01:00
LinuxServer-CI
a60b4529c5 Bot Updating Package Versions 2023-07-04 12:58:06 +00:00
LinuxServer-CI
bf37565e50 Bot Updating Templated Files 2023-07-04 12:55:06 +00:00
LinuxServer-CI
73d23bd148 Bot Updating Templated Files 2023-07-04 12:52:42 +00:00
LinuxServer-CI
530f4c9ee2 Bot Updating Templated Files 2023-07-04 12:50:59 +00:00
LinuxServer-CI
83ee5ddbe1 Bot Updating Package Versions 2023-06-20 12:47:22 +00:00
LinuxServer-CI
010f7f8ba2 Bot Updating Package Versions 2023-06-13 12:45:07 +00:00
LinuxServer-CI
c6671bf9f8 Bot Updating Package Versions 2023-06-06 12:48:19 +00:00
LinuxServer-CI
6aa2ce5fbf Bot Updating Package Versions 2023-05-30 12:47:39 +00:00
LinuxServer-CI
5e5352e13a Bot Updating Package Versions 2023-05-23 12:47:58 +00:00
LinuxServer-CI
f38652cb93 Bot Updating Templated Files 2023-05-23 12:42:42 +00:00
LinuxServer-CI
e36ba81dd9 Bot Updating Package Versions 2023-05-09 13:19:56 +00:00
LinuxServer-CI
3ded884a0d Bot Updating Package Versions 2023-05-02 12:47:19 +00:00
LinuxServer-CI
3047af22ae Bot Updating Templated Files 2023-05-02 12:44:29 +00:00
LinuxServer-CI
9cb14e2dbb Bot Updating Templated Files 2023-05-02 12:43:13 +00:00
LinuxServer-CI
b3f50821c0 Bot Updating Templated Files 2023-04-23 21:05:34 +02:00
LinuxServer-CI
f109676f2e Bot Updating Templated Files 2023-04-23 21:04:02 +02:00
Adam
e4a9a8674d Merge pull request #199 from linuxserver/master-fix-version-checks 2023-04-23 20:02:28 +01:00
TheSpad
b9162b70a4 Fix version check to use correct repo, update dockerfiles 2023-04-23 18:45:59 +01:00
LinuxServer-CI
78440b4824 Bot Updating Package Versions 2023-04-23 15:59:36 +00:00
LinuxServer-CI
c355c69ecb Bot Updating Package Versions 2023-04-18 07:46:31 -05:00
LinuxServer-CI
7a94bad362 Bot Updating Package Versions 2023-04-11 14:45:58 +02:00
LinuxServer-CI
6753b2d45a Bot Updating Templated Files 2023-04-05 21:33:56 -05:00
LinuxServer-CI
db3221de81 Bot Updating Templated Files 2023-04-05 21:32:16 -05:00
LinuxServer-CI
7a8d9d971c Bot Updating Templated Files 2023-04-05 21:30:43 -05:00
LinuxServer-CI
d2394b7479 Bot Updating Package Versions 2023-03-22 21:34:12 -05:00
LinuxServer-CI
ba55178b00 Bot Updating Package Versions 2023-03-09 03:54:59 +01:00
LinuxServer-CI
351b77362b Bot Updating Package Versions 2023-03-02 03:58:45 +01:00
LinuxServer-CI
7230275e38 Bot Updating Templated Files 2023-03-02 03:54:22 +01:00
LinuxServer-CI
cd9b728a1b Bot Updating Package Versions 2023-02-22 20:47:37 -06:00
LinuxServer-CI
27592de904 Bot Updating Package Versions 2023-02-16 03:53:21 +01:00
LinuxServer-CI
23e7e1a51e Bot Updating Templated Files 2023-02-16 03:49:26 +01:00
LinuxServer-CI
2a68a13f58 Bot Updating Templated Files 2023-02-16 03:48:04 +01:00
LinuxServer-CI
c975de2171 Bot Updating Package Versions 2023-02-09 03:49:42 +01:00
LinuxServer-CI
81ea9bed6d Bot Updating Package Versions 2023-02-01 20:46:11 -06:00
LinuxServer-CI
6aabd03519 Bot Updating Package Versions 2023-01-22 20:58:21 +01:00
LinuxServer-CI
9b8625a72f Bot Updating Templated Files 2023-01-16 03:28:11 +01:00
aptalca
ed23d04d1b Merge pull request #186 from nyanmisaka/patch-1
Hint the OpenCL mod for tone-mapping on QSV
2023-01-15 21:26:47 -05:00
nyanmisaka
9f1c287bc0 Hint the OpenCL mod for Intel tone-mapping
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2023-01-16 02:10:55 +08:00
LinuxServer-CI
5001470f5c Bot Updating Package Versions 2023-01-12 03:42:31 +01:00
LinuxServer-CI
3a6f318c96 Bot Updating Package Versions 2023-01-05 03:42:12 +01:00
LinuxServer-CI
f24d7a57b6 Bot Updating Package Versions 2022-12-14 20:49:37 -06:00
LinuxServer-CI
5f00752521 Bot Updating Package Versions 2022-12-10 20:05:12 +01:00
Adam
7bcf7f77fa Merge pull request #177 from linuxserver/master-jammy 2022-12-10 19:02:37 +00:00
LinuxServer-CI
9f93895458 Bot Updating Package Versions 2022-12-08 03:46:36 +01:00
TheSpad
4b07d0d417 Rebase master to Jammy, migrate to s6v3 2022-12-07 14:19:21 +00:00
LinuxServer-CI
834c22d2f8 Bot Updating Package Versions 2022-11-29 21:02:50 +01:00
LinuxServer-CI
458f441d90 Bot Updating Templated Files 2022-11-29 20:59:57 +01:00
LinuxServer-CI
daa25416e9 Bot Updating Templated Files 2022-11-29 20:58:37 +01:00
LinuxServer-CI
514effa67b Bot Updating Templated Files 2022-11-29 20:57:14 +01:00
LinuxServer-CI
d949100f05 Bot Updating Package Versions 2022-11-23 20:55:20 -06:00
LinuxServer-CI
a8d4229a22 Bot Updating Templated Files 2022-11-17 04:13:55 +01:00
LinuxServer-CI
6f2ef7631d Bot Updating Package Versions 2022-11-09 21:29:04 -06:00
LinuxServer-CI
1ed6c970b8 Bot Updating Package Versions 2022-11-01 06:07:37 +01:00
LinuxServer-CI
2ff50259c5 Bot Updating Package Versions 2022-10-28 23:26:15 -05:00
LinuxServer-CI
8f328b0d2d Bot Updating Package Versions 2022-10-27 05:49:00 +02:00
LinuxServer-CI
59e1abd8f1 Bot Updating Package Versions 2022-10-20 06:07:23 +02:00
LinuxServer-CI
ccde1e9af3 Bot Updating Package Versions 2022-10-13 06:19:21 +02:00
LinuxServer-CI
8bfb062d34 Bot Updating Package Versions 2022-09-28 23:22:36 -05:00
LinuxServer-CI
6ac08f238d Bot Updating Package Versions 2022-09-24 22:32:14 -05:00
LinuxServer-CI
a5079877d1 Bot Updating Package Versions 2022-09-21 23:20:49 -05:00
LinuxServer-CI
f7d2626b9a Bot Updating Templated Files 2022-09-21 23:17:30 -05:00
LinuxServer-CI
e7bb1c9dc2 Bot Updating Package Versions 2022-09-07 23:12:52 -05:00
LinuxServer-CI
bc6ccdba30 Bot Updating Package Versions 2022-08-17 23:05:54 -05:00
LinuxServer-CI
15970d08a6 Bot Updating Package Versions 2022-08-14 05:03:59 +02:00
LinuxServer-CI
38f8063eb2 Bot Updating Package Versions 2022-08-11 05:21:28 +02:00
LinuxServer-CI
c3fa5af3c7 Bot Updating Package Versions 2022-08-03 22:29:50 -05:00
LinuxServer-CI
39e19b73e6 Bot Updating Package Versions 2022-08-01 22:25:03 -05:00
LinuxServer-CI
d9773b48de Bot Updating Package Versions 2022-08-01 22:00:13 +02:00
LinuxServer-CI
3c6d46fdb1 Bot Updating Package Versions 2022-07-20 22:43:57 -05:00
LinuxServer-CI
67ad819aa2 Bot Updating Package Versions 2022-07-13 22:54:24 -05:00
LinuxServer-CI
7e2dec21ee Bot Updating Package Versions 2022-07-07 05:51:33 +02:00
LinuxServer-CI
2eac4aeb03 Bot Updating Package Versions 2022-06-30 05:45:42 +02:00
LinuxServer-CI
923e287493 Bot Updating Package Versions 2022-06-27 05:06:23 +02:00
LinuxServer-CI
0e370887a2 Bot Updating Package Versions 2022-06-22 22:39:31 -05:00
LinuxServer-CI
074d73d41f Bot Updating Package Versions 2022-06-15 22:25:49 -05:00
LinuxServer-CI
203ef42b6f Bot Updating Package Versions 2022-06-11 20:15:11 +02:00
aptalca
e223df5016 Merge pull request #157 from joshuaboniface/ffmpeg5
Update jellyfin-ffmpeg to jellyfin-ffmpeg5
2022-06-11 14:11:57 -04:00
aptalca
f0b9e3ac54 remove pinned intel drivers, update readme 2022-06-11 13:58:12 -04:00
Joshua M. Boniface
0173237bd1 Update jellyfin-ffmpeg to jellyfin-ffmpeg5
The package name in our repos was updated to ensure backwards
compatibility with ffmpeg4 for 10.7.z and older. Thus, the latest
version for 10.8.0 is actually "jellyfin-ffmpeg5" instead. Update this
in the various dockerfiles and in the package_versions.txt file.
2022-06-11 00:04:22 -04:00
LinuxServer-CI
622d437b3a Bot Updating Package Versions 2022-06-11 05:39:08 +02:00
LinuxServer-CI
59e1b154ac Bot Updating Package Versions 2022-06-09 05:27:59 +02:00
LinuxServer-CI
02227bfbae Bot Updating Package Versions 2022-05-26 05:27:12 +02:00
LinuxServer-CI
3b81084395 Bot Updating Package Versions 2022-05-19 05:28:39 +02:00
LinuxServer-CI
8796f76ba8 Bot Updating Package Versions 2022-05-11 22:16:37 -05:00
LinuxServer-CI
df1d56c75e Bot Updating Package Versions 2022-05-04 22:28:55 -05:00
LinuxServer-CI
2fabd79b34 Bot Updating Templated Files 2022-05-05 05:25:20 +02:00
LinuxServer-CI
5f3f304e5f Bot Updating Templated Files 2022-05-05 05:23:59 +02:00
LinuxServer-CI
3f6e32fb94 Bot Updating Package Versions 2022-04-06 21:55:29 -05:00
LinuxServer-CI
c1bc4d2e00 Bot Updating Package Versions 2022-03-31 04:56:05 +02:00
LinuxServer-CI
449059065d Bot Updating Package Versions 2022-03-23 21:51:26 -05:00
LinuxServer-CI
3adae9c38d Bot Updating Package Versions 2022-03-17 03:42:38 +01:00
LinuxServer-CI
e624c504d3 Bot Updating Package Versions 2022-03-10 03:48:53 +01:00
LinuxServer-CI
0a1d2a91f3 Bot Updating Package Versions 2022-03-03 03:44:45 +01:00
LinuxServer-CI
b051994e38 Bot Updating Package Versions 2022-02-24 03:37:09 +01:00
LinuxServer-CI
777c25befd Bot Updating Package Versions 2022-02-17 03:27:31 +01:00
LinuxServer-CI
5570d809e4 Bot Updating Package Versions 2022-01-20 03:39:46 +01:00
LinuxServer-CI
18a1e7e309 Bot Updating Package Versions 2022-01-13 03:40:39 +01:00
aptalca
b315bec504 Merge pull request #137 from linuxserver/intel
update readme
2022-01-05 14:30:13 -05:00
aptalca
78684b4ebc remove deprecated image mention 2022-01-05 13:05:59 -05:00
aptalca
74b6205d3a update readme 2022-01-05 13:01:19 -05:00
LinuxServer-CI
6760904a2d Bot Updating Package Versions 2022-01-05 18:58:06 +01:00
LinuxServer-CI
91b9474f42 Bot Updating Templated Files 2022-01-05 18:53:58 +01:00
aptalca
12b95df99d Merge pull request #136 from nyanmisaka/intel-driver
Specify Intel iHD driver versions to avoid mismatched libva errors
2022-01-05 12:52:38 -05:00
nyanmisaka
08f8192c49 Specify Intel iHD driver versions to avoid mismatched libva errors 2022-01-06 00:56:25 +08:00
Roxedus
9df379b9a6 Merge pull request #134 from linuxserver/master-gid 2021-12-26 18:19:49 +00:00
aptalca
39d6a2091e fix video perm error message 2021-12-25 14:28:17 -05:00
LinuxServer-CI
a87e789bc7 Bot Updating Package Versions 2021-12-23 03:42:00 +01:00
LinuxServer-CI
84778f6809 Bot Updating Templated Files 2021-12-23 03:38:05 +01:00
LinuxServer-CI
0e821bf6af Bot Updating Templated Files 2021-12-23 03:36:40 +01:00
LinuxServer-CI
04e3bf4030 Bot Updating Package Versions 2021-12-16 03:35:10 +01:00
LinuxServer-CI
3faa140306 Bot Updating Templated Files 2021-12-10 11:44:51 +01:00
Roxedus
74afcbe23a Merge pull request #132 from linuxserver/var-update 2021-12-10 10:43:34 +00:00
Roxedus
a086f541c5 Disable template sync 2021-12-10 08:50:06 +01:00
Roxedus
a98e4e5ff8 Move hardware transcoding instruction to app setup 2021-12-10 08:30:42 +01:00
LinuxServer-CI
ab52a025b8 Bot Updating Package Versions 2021-12-09 03:35:27 +01:00
LinuxServer-CI
ea7f9df18c Bot Updating Package Versions 2021-12-02 03:33:46 +01:00
LinuxServer-CI
7434a9a420 Bot Updating Package Versions 2021-11-25 03:33:37 +01:00
LinuxServer-CI
02a3169863 Bot Updating Package Versions 2021-11-18 03:32:08 +01:00
LinuxServer-CI
cba50df164 Bot Updating Package Versions 2021-11-11 03:32:03 +01:00
LinuxServer-CI
8d8e49dd15 Bot Updating Package Versions 2021-11-04 03:32:25 +01:00
LinuxServer-CI
8b95850d37 Bot Updating Package Versions 2021-10-21 04:35:44 +02:00
LinuxServer-CI
62bf3251b0 Bot Updating Package Versions 2021-10-14 04:31:11 +02:00
LinuxServer-CI
b7ad3317f6 Bot Updating Templated Files 2021-10-07 04:32:54 +02:00
LinuxServer-CI
6e7b9b4cbe Bot Updating Templated Files 2021-10-07 04:31:46 +02:00
LinuxServer-CI
17f8f20d6e Bot Updating Package Versions 2021-09-30 04:32:16 +02:00
LinuxServer-CI
47b3dbe016 Bot Updating Package Versions 2021-09-22 19:02:08 +02:00
Eric Nemchik
99ae5028c3 Merge pull request #127 from linuxserver/master-packages
pull individual packages instead of the wrapper
2021-09-22 11:58:43 -05:00
aptalca
9c9f04e661 pull individual packages instead of the wrapper 2021-09-22 09:40:16 -04:00
LinuxServer-CI
f0b75eea09 Bot Updating Package Versions 2021-09-16 04:31:59 +02:00
LinuxServer-CI
ebc9880789 Bot Updating Package Versions 2021-09-06 05:21:38 +02:00
LinuxServer-CI
873b9b4539 Bot Updating Package Versions 2021-09-02 04:30:20 +02:00
LinuxServer-CI
8ad2ee33d2 Bot Updating Templated Files 2021-09-02 04:27:11 +02:00
LinuxServer-CI
960d9891af Bot Updating Package Versions 2021-08-26 04:29:10 +02:00
LinuxServer-CI
baf777bf49 Bot Updating Templated Files 2021-08-26 04:25:50 +02:00
LinuxServer-CI
3a6bd3b5b5 Bot Updating Package Versions 2021-08-19 04:28:15 +02:00
Roxedus
2dfacd91fb Merge pull request #124 from kaysond/master
Don't chown /data
2021-08-12 09:40:03 +02:00
LinuxServer-CI
246a3af184 Bot Updating Package Versions 2021-08-12 04:28:59 +02:00
Aram Akhavan
2a9d55779a Don't chown /data 2021-08-10 22:00:20 -07:00
LinuxServer-CI
d0049b49f4 Bot Updating Package Versions 2021-08-05 04:29:16 +02:00
LinuxServer-CI
863c6ea10d Bot Updating Package Versions 2021-07-29 04:31:08 +02:00
LinuxServer-CI
db0bfc741e Bot Updating Package Versions 2021-07-22 04:34:08 +02:00
LinuxServer-CI
4062bf1f6b Bot Updating Package Versions 2021-07-08 02:34:49 +00:00
LinuxServer-CI
1b98e82474 Bot Updating Templated Files 2021-07-08 02:30:22 +00:00
LinuxServer-CI
65fdf92787 Bot Updating Templated Files 2021-07-08 02:28:48 +00:00
LinuxServer-CI
f3730ac76c Bot Updating Package Versions 2021-07-01 02:34:00 +00:00
LinuxServer-CI
2eda656063 Bot Updating Package Versions 2021-06-23 13:47:01 -04:00
aptalca
e3819e0008 Merge pull request #117 from linuxserver/master-deps
pin dep versions, log message about device perms
2021-06-23 13:40:30 -04:00
aptalca
6789facbb8 add bionic deprecation notice 2021-06-23 11:48:34 -04:00
aptalca
36f190bd08 pin dep versions, log message about device perms 2021-06-23 10:56:31 -04:00
LinuxServer-CI
99b6efd14c Bot Updating Package Versions 2021-06-18 02:04:19 +00:00
LinuxServer-CI
58b5a9d679 Bot Updating Package Versions 2021-06-17 02:49:39 +00:00
LinuxServer-CI
e9a00d30bf Bot Updating Package Versions 2021-06-10 02:57:08 +00:00
LinuxServer-CI
007f37407d Bot Updating Package Versions 2021-06-03 05:02:00 +00:00
LinuxServer-CI
205f5a3fa0 Bot Updating Package Versions 2021-05-27 03:59:46 +00:00
LinuxServer-CI
7dc47cf5d4 Bot Updating Package Versions 2021-05-20 03:06:43 +00:00
LinuxServer-CI
e7db51e940 Bot Updating Package Versions 2021-05-13 03:59:56 +01:00
LinuxServer-CI
2baa5d7e0d Bot Updating Package Versions 2021-05-05 04:21:35 +01:00
LinuxServer-CI
1ad884e409 Bot Updating Package Versions 2021-05-04 22:52:42 -04:00
LinuxServer-CI
ede49b2339 Bot Updating Package Versions 2021-05-04 22:34:30 -04:00
LinuxServer-CI
180a2430c6 Bot Updating Package Versions 2021-04-29 02:53:33 +00:00
LinuxServer-CI
3d2200fca9 Bot Updating Package Versions 2021-04-24 06:28:14 -04:00
LinuxServer-CI
c831204939 Bot Updating Package Versions 2021-04-21 20:11:00 +00:00
Roxedus
58f7872d35 Merge pull request #104 from linuxserver/icdeadpeople
Add nvidia.icd file to fix missing tonemapping using Nvidia HW
2021-04-21 22:02:35 +02:00
tobbenb
de528b2ad0 Add nvidia.icd file to fix missing tonemapping using Nvidia HW 2021-04-21 21:28:29 +02:00
LinuxServer-CI
8c8ce2e642 Bot Updating Package Versions 2021-04-15 08:18:46 -04:00
aptalca
8f1458cd77 Merge pull request #102 from nyanmisaka/patch-1
Pull the lastest iHD driver from Intel repository
2021-04-15 08:10:56 -04:00
LinuxServer-CI
408001242b Bot Updating Package Versions 2021-04-15 02:55:32 +00:00
LinuxServer-CI
1df5058933 Bot Updating Package Versions 2021-04-11 23:12:21 +00:00
LinuxServer-CI
276e08c134 Bot Updating Package Versions 2021-04-07 22:53:22 -04:00
Nyanmisaka
da482b3e74 pull the lastest iHD driver from Intel repository 2021-04-03 21:18:07 +08:00
LinuxServer-CI
974f89c259 Bot Updating Package Versions 2021-03-31 23:25:20 -04:00
LinuxServer-CI
734d77a528 Bot Updating Package Versions 2021-03-21 20:18:19 -04:00
LinuxServer-CI
a45f02f3f5 Bot Updating Package Versions 2021-03-21 20:05:12 -04:00
LinuxServer-CI
698ceed921 Bot Updating Package Versions 2021-03-17 22:47:07 -04:00
LinuxServer-CI
0a677ca831 Bot Updating Package Versions 2021-03-10 21:43:49 -05:00
LinuxServer-CI
4a3b423f35 Bot Updating Package Versions 2021-03-09 01:38:27 +00:00
LinuxServer-CI
771c1c7b74 Bot Updating Package Versions 2021-02-25 02:48:25 +00:00
LinuxServer-CI
e95a3ec865 Bot Updating Package Versions 2021-02-17 21:38:13 -05:00
LinuxServer-CI
9537022996 Bot Updating Templated Files 2021-02-17 21:31:40 -05:00
LinuxServer-CI
0a7b207fb4 Bot Updating Templated Files 2021-02-17 21:30:24 -05:00
LinuxServer-CI
c8d9830e6d Bot Updating Package Versions 2021-02-11 02:34:23 +00:00
LinuxServer-CI
4d96439793 Bot Updating Package Versions 2021-02-04 02:35:34 +00:00
LinuxServer-CI
1ace1290b9 Bot Updating Package Versions 2021-01-28 02:53:37 +00:00
LinuxServer-CI
e8f8860fd0 Bot Updating Templated Files 2021-01-20 15:39:15 +00:00
aptalca
07c67748a6 Merge pull request #82 from Artiume/patch-2
Add Jellyfin binary environmentals
2021-01-20 10:37:32 -05:00
aptalca
69bfcee879 Merge branch 'master' into patch-2 2021-01-20 10:15:13 -05:00
LinuxServer-CI
bfdbf0c542 Bot Updating Package Versions 2021-01-20 13:10:39 +00:00
aptalca
c0e5e02d5f Merge pull request #92 from linuxserver/master-deprecate-umask_set
Deprecate UMASK_SET in favor of UMASK in baseimage
2021-01-20 08:02:59 -05:00
Roxedus
54c0c895e1 Deprecate UMASK_SET in favor of UMASK in baseimage 2021-01-20 13:07:49 +01:00
LinuxServer-CI
c95a3de23f Bot Updating Package Versions 2021-01-15 01:31:46 -05:00
LinuxServer-CI
b51ea7831c Bot Updating Templated Files 2021-01-15 01:22:39 -05:00
LinuxServer-CI
aaa85325f6 Bot Updating Package Versions 2021-01-08 01:16:46 -05:00
aptalca
1fc1a08fb9 update rpi repo, add rpi libs to aarch64 2020-12-22 13:02:40 -08:00
artiume
911b1c606f Update readme-vars.yml 2020-12-18 22:11:14 -05:00
artiume
d0542ed5f8 add migration environmentals 2020-12-18 21:51:41 -05:00
LinuxServer-CI
355cbdc7e1 Bot Updating Templated Files 2020-12-18 00:58:53 -05:00
LinuxServer-CI
32628cf9b0 Bot Updating Templated Files 2020-12-18 00:57:33 -05:00
artiume
b9aa696afd Update readme-vars.yml 2020-12-14 07:44:52 -05:00
artiume
f6583b712d Add Jellyfin binary environmentals 2020-12-14 07:40:37 -05:00
LinuxServer-CI
844bf1c2e1 Bot Updating Package Versions 2020-12-11 01:02:23 -05:00
LinuxServer-CI
5ac6945b00 Bot Updating Package Versions 2020-12-03 09:13:43 -05:00
aptalca
584833e378 Merge pull request #77 from hotio/intel-master
add intel driver
2020-12-03 09:04:47 -05:00
hotio
b2b19bef56 make the order alphabetical 2020-12-03 14:23:49 +01:00
hotio
5ba578cee7 add intel driver 2020-12-03 11:28:39 +01:00
LinuxServer-CI
a8380b4545 Bot Updating Package Versions 2020-11-24 03:59:47 +00:00
aptalca
57041d9234 Merge pull request #67 from linuxserver/focal
rebase to focal
2020-11-23 22:54:08 -05:00
aptalca
44197d77da fix repos 2020-11-23 21:55:54 -05:00
aptalca
c2919e6d2d rebase to focal 2020-11-23 21:40:53 -05:00
LinuxServer-CI
4d03dee3c5 Bot Updating Package Versions 2020-11-22 02:20:06 -05:00
LinuxServer-CI
b24d1806a7 Bot Updating Package Versions 2020-11-15 07:18:51 +00:00
LinuxServer-CI
db207765b8 Bot Updating Package Versions 2020-11-08 02:20:04 -05:00
LinuxServer-CI
f0ff8d628f Bot Updating Package Versions 2020-11-02 15:28:23 +00:00
LinuxServer-CI
be0d9a4f5f Bot Updating Templated Files 2020-11-02 10:16:35 -05:00
thelamer
775c799175 update baseimages 2020-11-02 07:12:14 -08:00
LinuxServer-CI
1a1b941890 Bot Updating Package Versions 2020-11-01 07:20:26 +00:00
LinuxServer-CI
0b91c530fe Bot Updating Package Versions 2020-10-25 03:18:33 -04:00
LinuxServer-CI
5f7a20a3ab Bot Updating Templated Files 2020-10-04 19:48:51 +01:00
driz
3fb5d2bee6 Merge pull request #64 from Roxedus/patch-1
Fix incorrect syntax from #61
2020-10-04 14:45:34 -04:00
Roxedus
8421351b95 Fix incorrect syntax from #61 2020-10-04 18:54:13 +02:00
LinuxServer-CI
9b92ecb2c6 Bot Updating Templated Files 2020-10-04 07:14:51 +01:00
LinuxServer-CI
d2d47e2a88 Bot Updating Templated Files 2020-10-04 02:13:49 -04:00
LinuxServer-CI
005c13fcc3 Bot Updating Package Versions 2020-09-27 07:18:06 +01:00
LinuxServer-CI
29f31f2b37 Bot Updating Templated Files 2020-09-22 00:11:07 +01:00
Eric Nemchik
b345d18afb Merge pull request #61 from IronicBadger/master
proposed changes for extra optional ports as per #60
2020-09-21 18:10:07 -05:00
alexktz
8614537e31 incorporates changes from PR60 discussed with original author 2020-09-20 15:48:53 -04:00
LinuxServer-CI
c5ae0a99a2 Bot Updating Package Versions 2020-09-20 02:18:03 -04:00
IronicBadger
33482b68ef proposed changes for extra optional ports as per #60 2020-09-17 21:24:09 -04:00
LinuxServer-CI
5f88768171 Bot Updating Package Versions 2020-09-13 07:19:20 +01:00
LinuxServer-CI
dee71ac3e9 Bot Updating Package Versions 2020-09-06 07:18:05 +01:00
LinuxServer-CI
10447ea630 Bot Updating Package Versions 2020-08-30 19:06:30 -04:00
LinuxServer-CI
ef90716eee Bot Updating Package Versions 2020-08-23 02:19:52 -04:00
LinuxServer-CI
11ad747cbc Bot Updating Templated Files 2020-08-23 02:13:48 -04:00
LinuxServer-CI
d1f20a9744 Bot Updating Package Versions 2020-08-16 21:06:58 -04:00
LinuxServer-CI
c8794ff553 Bot Updating Package Versions 2020-08-16 02:19:01 -04:00
LinuxServer-CI
2db1b45267 Bot Updating Package Versions 2020-08-02 22:07:18 -04:00
LinuxServer-CI
0cefe54aa0 Bot Updating Package Versions 2020-08-02 06:20:40 +00:00
LinuxServer-CI
d9327f51e5 Bot Updating Templated Files 2020-08-02 06:15:15 +00:00
LinuxServer-CI
bd402174b9 Bot Updating Templated Files 2020-08-02 06:14:05 +00:00
LinuxServer-CI
bfbba03ce0 Bot Updating Package Versions 2020-07-28 01:07:23 +00:00
LinuxServer-CI
53e3b07f04 Bot Updating Package Versions 2020-07-26 02:18:00 -04:00
aptalca
c8e55441e4 Merge pull request #54 from linuxserver/repofixes
use bionic repo for version command
2020-07-21 11:41:37 -04:00
LinuxServer-CI
4bbf461bf3 Bot Updating Package Versions 2020-07-21 15:26:23 +00:00
thelamer
7fc983e36f use bionic repo for version command 2020-07-21 08:21:04 -07:00
aptalca
af3fa3a5c0 Merge pull request #53 from linuxserver/repofixes
Repofixes
2020-07-21 11:20:41 -04:00
thelamer
a6f6d7bde0 update readme 2020-07-21 07:47:52 -07:00
thelamer
c406a696a1 forgot pulling out gnupg when testing rebase to focal 2020-07-21 07:46:38 -07:00
thelamer
075f0925fd templating 2020-07-21 07:43:36 -07:00
thelamer
1b313bdbf3 ingest from repos and add web path to run 2020-07-21 07:42:55 -07:00
LinuxServer-CI
6402055710 Bot Updating Package Versions 2020-07-19 02:18:03 -04:00
LinuxServer-CI
930c177831 Bot Updating Package Versions 2020-07-12 02:18:52 -04:00
LinuxServer-CI
af3413a695 Bot Updating Package Versions 2020-07-05 08:18:22 +02:00
LinuxServer-CI
d5bcb612ea Bot Updating Package Versions 2020-06-28 02:18:02 -04:00
LinuxServer-CI
9c4124b5e4 Bot Updating Package Versions 2020-06-21 06:19:16 +00:00
LinuxServer-CI
feee635019 Bot Updating Package Versions 2020-06-14 06:17:58 +00:00
LinuxServer-CI
072bca12a1 Bot Updating Package Versions 2020-06-07 08:18:59 +02:00
LinuxServer-CI
2f93ec8a03 Bot Updating Templated Files 2020-06-07 02:13:57 -04:00
LinuxServer-CI
8d22268be4 Bot Updating Package Versions 2020-05-31 06:20:51 +00:00
LinuxServer-CI
68ee0c5660 Bot Updating Templated Files 2020-05-31 02:14:01 -04:00
LinuxServer-CI
e5b65ba5c0 Bot Updating Package Versions 2020-05-24 06:25:16 +00:00
LinuxServer-CI
86eaa1ca2f Bot Updating Package Versions 2020-05-17 06:23:56 +00:00
Eric Nemchik
3569bbdddf Merge pull request #42 from linuxserver/mmal
Update MMAL device in readme
2020-04-28 16:04:39 -05:00
aptalca
f8323051cc Update MMAL device in readme 2020-04-28 16:10:17 -04:00
LinuxServer-CI
32434df5a2 Bot Updating Package Versions 2020-04-27 01:08:43 +00:00
LinuxServer-CI
0da0a00b55 Bot Updating Package Versions 2020-04-26 08:23:29 +02:00
LinuxServer-CI
296c6e5337 Bot Updating Templated Files 2020-04-19 18:35:45 +00:00
thelamer
fd34aceac9 turning ci web back on 2020-04-19 11:34:31 -07:00
LinuxServer-CI
a5868beab4 Bot Updating Package Versions 2020-04-13 13:35:57 +00:00
aptalca
13aa0a9773 Merge pull request #34 from linuxserver/typo
fix typo in folder location
2020-04-11 20:12:06 -04:00
aptalca
8f8a80294b fix typo in folder location 2020-04-11 18:31:42 -04:00
LinuxServer-CI
5e6b95ac1d Bot Updating Package Versions 2020-04-11 22:09:00 +00:00
aptalca
afe45e17f1 Merge pull request #32 from linuxserver/hwdecode
enable rpi hw decode, readme updates
2020-04-11 17:56:59 -04:00
aptalca
45cb4581eb docs doesn't render three backticks for a single line correctly 2020-04-11 17:12:46 -04:00
aptalca
50fb13f879 fix typo 2020-04-11 16:56:08 -04:00
aptalca
445de2ba01 enable rpi hw decode, readme updates
also create missing default transcodes folder
2020-04-11 16:51:58 -04:00
LinuxServer-CI
07516c8f80 Bot Updating Package Versions 2020-04-05 18:11:01 -04:00
LinuxServer-CI
39d8d8ded2 Bot Updating Package Versions 2020-03-29 06:18:51 +00:00
LinuxServer-CI
443e77c33e Bot Updating Package Versions 2020-03-23 01:28:31 +00:00
LinuxServer-CI
cfb5e6967a Bot Updating Package Versions 2020-03-11 20:22:11 +00:00
aptalca
c4f5a13750 update readme 2020-03-11 13:17:33 -07:00
aptalca
2cac61779c improve vide gid fix 2020-03-11 13:17:33 -07:00
aptalca
08a4008bdf Add v4l2 support, remove transcode volume 2020-03-11 13:17:33 -07:00
LinuxServer-CI
fac2a1c16f Bot Updating Package Versions 2020-03-09 01:06:13 +00:00
LinuxServer-CI
1c8d80072d Bot Updating Package Versions 2020-03-08 07:22:58 +00:00
LinuxServer-CI
dafb899d5e Bot Updating Package Versions 2020-02-23 07:23:33 +00:00
LinuxServer-CI
b750681b64 Bot Updating Package Versions 2020-02-16 02:22:36 -05:00
LinuxServer-CI
c5def97012 Bot Updating Package Versions 2020-02-09 07:23:59 +00:00
LinuxServer-CI
490a9d6e3c Bot Updating Package Versions 2020-02-02 07:20:38 +00:00
LinuxServer-CI
fb5ac701e7 Bot Updating Package Versions 2020-01-30 19:30:35 +00:00
aptalca
e37a324168 Merge pull request #17 from linuxserver/readme
adding nightly tag to readme
2020-01-30 14:20:01 -05:00
thelamer
cb73b5e5ef adding nightly tag to readme 2020-01-30 08:38:12 -08:00
47 changed files with 2282 additions and 959 deletions

20
.editorconfig Executable file
View File

@@ -0,0 +1,20 @@
# This file is globally distributed to all container image projects from
# https://github.com/linuxserver/docker-jenkins-builder/blob/master/.editorconfig
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
# trim_trailing_whitespace may cause unintended issues and should not be globally set true
trim_trailing_whitespace = false
[{Dockerfile*,**.yml}]
indent_style = space
indent_size = 2
[{**.sh,root/etc/s6-overlay/s6-rc.d/**,root/etc/cont-init.d/**,root/etc/services.d/**}]
indent_style = space
indent_size = 4

123
.github/CONTRIBUTING.md vendored Executable file
View File

@@ -0,0 +1,123 @@
# Contributing to jellyfin
## Gotchas
* While contributing make sure to make all your changes before creating a Pull Request, as our pipeline builds each commit after the PR is open.
* Read, and fill the Pull Request template
* If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR
* If the PR is addressing an existing issue include, closes #\<issue number>, in the body of the PR commit message
* If you want to discuss changes, you can also bring it up in [#dev-talk](https://discordapp.com/channels/354974912613449730/757585807061155840) in our [Discord server](https://linuxserver.io/discord)
## Common files
| File | Use case |
| :----: | --- |
| `Dockerfile` | Dockerfile used to build amd64 images |
| `Dockerfile.aarch64` | Dockerfile used to build 64bit ARM architectures |
| `Dockerfile.armhf` | Dockerfile used to build 32bit ARM architectures |
| `Jenkinsfile` | This file is a product of our builder and should not be edited directly. This is used to build the image |
| `jenkins-vars.yml` | This file is used to generate the `Jenkinsfile` mentioned above, it only affects the build-process |
| `package_versions.txt` | This file is generated as a part of the build-process and should not be edited directly. It lists all the installed packages and their versions |
| `README.md` | This file is a product of our builder and should not be edited directly. This displays the readme for the repository and image registries |
| `readme-vars.yml` | This file is used to generate the `README.md` |
## Readme
If you would like to change our readme, please __**do not**__ directly edit the readme, as it is auto-generated on each commit.
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-jellyfin/edit/master/readme-vars.yml).
These variables are used in a template for our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) as part of an ansible play.
Most of these variables are also carried over to [docs.linuxserver.io](https://docs.linuxserver.io/images/docker-jellyfin)
### Fixing typos or clarify the text in the readme
There are variables for multiple parts of the readme, the most common ones are:
| Variable | Description |
| :----: | --- |
| `project_blurb` | This is the short excerpt shown above the project logo. |
| `app_setup_block` | This is the text that shows up under "Application Setup" if enabled |
### Parameters
The compose and run examples are also generated from these variables.
We have a [reference file](https://github.com/linuxserver/docker-jenkins-builder/blob/master/vars/_container-vars-blank) in our Jenkins Builder.
These are prefixed with `param_` for required parameters, or `opt_param` for optional parameters, except for `cap_add`.
Remember to enable param, if currently disabled. This differs between parameters, and can be seen in the reference file.
Devices, environment variables, ports and volumes expects its variables in a certain way.
### Devices
```yml
param_devices:
- { device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "For hardware transcoding" }
opt_param_devices:
- { device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "For hardware transcoding" }
```
### Environment variables
```yml
param_env_vars:
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London." }
opt_param_env_vars:
- { env_var: "VERSION", env_value: "latest", desc: "Supported values are LATEST, PLEXPASS or a specific version number." }
```
### Ports
```yml
param_ports:
- { external_port: "80", internal_port: "80", port_desc: "Application WebUI" }
opt_param_ports:
- { external_port: "80", internal_port: "80", port_desc: "Application WebUI" }
```
### Volumes
```yml
param_volumes:
- { vol_path: "/config", vol_host_path: "</path/to/appdata/config>", desc: "Configuration files." }
opt_param_volumes:
- { vol_path: "/config", vol_host_path: "</path/to/appdata/config>", desc: "Configuration files." }
```
### Testing template changes
After you make any changes to the templates, you can use our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) to have the files updated from the modified templates. Please use the command found under `Running Locally` [on this page](https://github.com/linuxserver/docker-jenkins-builder/blob/master/README.md) to generate them prior to submitting a PR.
## Dockerfiles
We use multiple Dockerfiles in our repos, this is because sometimes some CPU architectures needs different packages to work.
If you are proposing additional packages to be added, ensure that you added the packages to all the Dockerfiles in alphabetical order.
### Testing your changes
```bash
git clone https://github.com/linuxserver/docker-jellyfin.git
cd docker-jellyfin
docker build \
--no-cache \
--pull \
-t linuxserver/jellyfin:latest .
```
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`
```bash
docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
```
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
## Update the changelog
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-jellyfin/tree/master/root), add an entry to the changelog
```yml
changelogs:
- { date: "DD.MM.YY:", desc: "Added some love to templates" }
```

2
.github/FUNDING.yml vendored
View File

@@ -1 +1,3 @@
github: linuxserver
open_collective: linuxserver
custom: ["https://opencollective.com/jellyfin",]

View File

@@ -1,34 +0,0 @@
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
If you are new to Docker or this application our issue tracker is **ONLY** used for reporting bugs or requesting features. Please use [our discord server](https://discord.gg/YWrKVTn) for general support.
<!--- Provide a general summary of the issue in the Title above -->
------------------------------
## Expected Behavior
<!--- Tell us what should happen -->
## Current Behavior
<!--- Tell us what happens instead of the expected behavior -->
## Steps to Reproduce
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
<!--- reproduce this bug. Include code to reproduce, if relevant -->
1.
2.
3.
4.
## Environment
**OS:**
**CPU architecture:** x86_64/arm32/arm64
**How docker service was installed:**
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
## Command used to create docker container (run/create/compose/screenshot)
<!--- Provide your docker create/run command or compose yaml snippet, or a screenshot of settings if using a gui to create the container -->
## Docker logs
<!--- Provide a full docker log, output of "docker logs jellyfin" -->

13
.github/ISSUE_TEMPLATE/config.yml vendored Executable file
View File

@@ -0,0 +1,13 @@
blank_issues_enabled: false
contact_links:
- name: Discord chat support
url: https://linuxserver.io/discord
about: Realtime support / chat with the community and the team.
- name: Discourse discussion forum
url: https://discourse.linuxserver.io
about: Post on our community forum.
- name: Documentation
url: https://docs.linuxserver.io/images/docker-jellyfin
about: Documentation - information about all of our containers.

76
.github/ISSUE_TEMPLATE/issue.bug.yml vendored Executable file
View File

@@ -0,0 +1,76 @@
# Based on the issue template
name: Bug report
description: Create a report to help us improve
title: "[BUG] <title>"
labels: [Bug]
body:
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the bug you encountered.
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Current Behavior
description: Tell us what happens instead of the expected behavior.
validations:
required: true
- type: textarea
attributes:
label: Expected Behavior
description: Tell us what should happen.
validations:
required: false
- type: textarea
attributes:
label: Steps To Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. In this environment...
2. With this config...
3. Run '...'
4. See error...
validations:
required: true
- type: textarea
attributes:
label: Environment
description: |
examples:
- **OS**: Ubuntu 20.04
- **How docker service was installed**: distro's packagemanager
value: |
- OS:
- How docker service was installed:
render: markdown
validations:
required: false
- type: dropdown
attributes:
label: CPU architecture
options:
- x86-64
- arm64
validations:
required: true
- type: textarea
attributes:
label: Docker creation
description: |
Command used to create docker container
Provide your docker create/run command or compose yaml snippet, or a screenshot of settings if using a gui to create the container
render: bash
validations:
required: true
- type: textarea
attributes:
description: |
Provide a full docker log, output of "docker logs jellyfin"
label: Container logs
placeholder: |
Output of `docker logs jellyfin`
render: bash
validations:
required: true

31
.github/ISSUE_TEMPLATE/issue.feature.yml vendored Executable file
View File

@@ -0,0 +1,31 @@
# Based on the issue template
name: Feature request
description: Suggest an idea for this project
title: "[FEAT] <title>"
labels: [enhancement]
body:
- type: checkboxes
attributes:
label: Is this a new feature request?
description: Please search to see if a feature request already exists.
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Wanted change
description: Tell us what you want to happen.
validations:
required: true
- type: textarea
attributes:
label: Reason for change
description: Justify your request, why do you want it, what is the benefit.
validations:
required: true
- type: textarea
attributes:
label: Proposed code change
description: Do you have a potential code change in mind?
validations:
required: false

View File

@@ -2,11 +2,11 @@
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
<!--- Before submitting a pull request please check the following -->
<!--- If this is a fix for a typo in code or documentation in the README please file an issue and let us sort it out we do not need a PR -->
<!--- If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR -->
<!--- Ask yourself if this modification is something the whole userbase will benefit from, if this is a specific change for corner case functionality or plugins please look at making a Docker Mod or local script https://blog.linuxserver.io/2019/09/14/customizing-our-containers/ -->
<!--- That if the PR is addressing an existing issue include, closes #<issue number> , in the body of the PR commit message -->
<!--- You have included links to any files / patches etc your PR may be using in the body of the PR commit message -->
@@ -21,7 +21,11 @@
------------------------------
We welcome all PRs though this doesnt guarantee it will be accepted.
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-jellyfin/blob/master/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
------------------------------
<!--- We welcome all PRs though this doesnt guarantee it will be accepted. -->
## Description:
<!--- Describe your changes in detail -->

16
.github/workflows/call_issue_pr_tracker.yml vendored Executable file
View File

@@ -0,0 +1,16 @@
name: Issue & PR Tracker
on:
issues:
types: [opened,reopened,labeled,unlabeled,closed]
pull_request_target:
types: [opened,reopened,review_requested,review_request_removed,labeled,unlabeled,closed]
pull_request_review:
types: [submitted,edited,dismissed]
jobs:
manage-project:
permissions:
issues: write
uses: linuxserver/github-workflows/.github/workflows/issue-pr-tracker.yml@v1
secrets: inherit

13
.github/workflows/call_issues_cron.yml vendored Executable file
View File

@@ -0,0 +1,13 @@
name: Mark stale issues and pull requests
on:
schedule:
- cron: '46 10 * * *'
workflow_dispatch:
jobs:
stale:
permissions:
issues: write
pull-requests: write
uses: linuxserver/github-workflows/.github/workflows/issues-cron.yml@v1
secrets: inherit

144
.github/workflows/external_trigger.yml vendored Normal file
View File

@@ -0,0 +1,144 @@
name: External Trigger Main
on:
workflow_dispatch:
jobs:
external-trigger-master:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- name: External Trigger
if: github.ref == 'refs/heads/master'
env:
SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }}
run: |
printf "# External trigger for docker-jellyfin\n\n" >> $GITHUB_STEP_SUMMARY
if grep -q "^jellyfin_master_" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`jellyfin_master_\`; will skip trigger if version matches." >> $GITHUB_STEP_SUMMARY
elif grep -q "^jellyfin_master" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`jellyfin_master\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0
fi
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo "> External trigger running off of master branch. To disable this trigger, add \`jellyfin_master\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $GITHUB_STEP_SUMMARY
printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY
EXT_RELEASE=$(curl -sX GET https://repo.jellyfin.org/ubuntu/dists/noble/main/binary-amd64/Packages |grep -A 7 -m 1 'Package: jellyfin-server' | awk -F ': ' '/Version/{print $2;exit}')
echo "Type is \`custom_version_command\`" >> $GITHUB_STEP_SUMMARY
if grep -q "^jellyfin_master_${EXT_RELEASE}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` matches current external release; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0
fi
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Can't retrieve external version, exiting" >> $GITHUB_STEP_SUMMARY
FAILURE_REASON="Can't retrieve external version for jellyfin branch master"
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-jellyfin/actions/runs/${{ github.run_id }}"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n**Trigger URL:** '"${GHA_TRIGGER_URL}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
exit 1
fi
EXT_RELEASE=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
echo "External version: \`${EXT_RELEASE}\`" >> $GITHUB_STEP_SUMMARY
echo "Retrieving last pushed version" >> $GITHUB_STEP_SUMMARY
image="linuxserver/jellyfin"
tag="latest"
token=$(curl -sX GET \
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fjellyfin%3Apull" \
| jq -r '.token')
multidigest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Accept: application/vnd.oci.image.index.v1+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${tag}")
if jq -e '.layers // empty' <<< "${multidigest}" >/dev/null 2>&1; then
# If there's a layer element it's a single-arch manifest so just get that digest
digest=$(jq -r '.config.digest' <<< "${multidigest}")
else
# Otherwise it's multi-arch or has manifest annotations
if jq -e '.manifests[]?.annotations // empty' <<< "${multidigest}" >/dev/null 2>&1; then
# Check for manifest annotations and delete if found
multidigest=$(jq 'del(.manifests[] | select(.annotations))' <<< "${multidigest}")
fi
if [[ $(jq '.manifests | length' <<< "${multidigest}") -gt 1 ]]; then
# If there's still more than one digest, it's multi-arch
multidigest=$(jq -r ".manifests[] | select(.platform.architecture == \"amd64\").digest?" <<< "${multidigest}")
else
# Otherwise it's single arch
multidigest=$(jq -r ".manifests[].digest?" <<< "${multidigest}")
fi
if digest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Accept: application/vnd.oci.image.manifest.v1+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${multidigest}"); then
digest=$(jq -r '.config.digest' <<< "${digest}");
fi
fi
image_info=$(curl -sL \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/blobs/${digest}")
if [[ $(echo $image_info | jq -r '.container_config') == "null" ]]; then
image_info=$(echo $image_info | jq -r '.config')
else
image_info=$(echo $image_info | jq -r '.container_config')
fi
IMAGE_RELEASE=$(echo ${image_info} | jq -r '.Labels.build_version' | awk '{print $3}')
IMAGE_VERSION=$(echo ${IMAGE_RELEASE} | awk -F'-ls' '{print $1}')
if [ -z "${IMAGE_VERSION}" ]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "Can't retrieve last pushed version, exiting" >> $GITHUB_STEP_SUMMARY
FAILURE_REASON="Can't retrieve last pushed version for jellyfin tag latest"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
exit 1
fi
echo "Last pushed version: \`${IMAGE_VERSION}\`" >> $GITHUB_STEP_SUMMARY
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
echo "Version \`${EXT_RELEASE}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY
exit 0
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-jellyfin/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then
echo "New version \`${EXT_RELEASE}\` found; but there already seems to be an active build on Jenkins; exiting" >> $GITHUB_STEP_SUMMARY
exit 0
else
if [[ "${artifacts_found}" == "false" ]]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> New version detected, but not all artifacts are published yet; skipping trigger" >> $GITHUB_STEP_SUMMARY
FAILURE_REASON="New version ${EXT_RELEASE} for jellyfin tag latest is detected, however not all artifacts are uploaded to upstream release yet. Will try again later."
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
else
printf "\n## Trigger new build\n\n" >> $GITHUB_STEP_SUMMARY
echo "New version \`${EXT_RELEASE}\` found; old version was \`${IMAGE_VERSION}\`. Triggering new build" >> $GITHUB_STEP_SUMMARY
if [[ "${artifacts_found}" == "true" ]]; then
echo "All artifacts seem to be uploaded." >> $GITHUB_STEP_SUMMARY
fi
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-jellyfin/job/master/buildWithParameters?PACKAGE_CHECK=false \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY
echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY
sleep 10
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}"
echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY
echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY
curl -iX POST \
"${buildurl}submitDescription" \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
--data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
--data-urlencode "Submit=Submit"
echo "**** Notifying Discord ****"
TRIGGER_REASON="A version change was detected for jellyfin tag latest. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE}"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
fi
fi

View File

@@ -0,0 +1,45 @@
name: External Trigger Scheduler
on:
schedule:
- cron: '56 * * * *'
workflow_dispatch:
jobs:
external-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
with:
fetch-depth: '0'
- name: External Trigger Scheduler
run: |
printf "# External trigger scheduler for docker-jellyfin\n\n" >> $GITHUB_STEP_SUMMARY
printf "Found the branches:\n\n%s\n" "$(git for-each-ref --format='- %(refname:lstrip=3)' refs/remotes)" >> $GITHUB_STEP_SUMMARY
for br in $(git for-each-ref --format='%(refname:lstrip=3)' refs/remotes)
do
if [[ "${br}" == "HEAD" ]]; then
printf "\nSkipping %s.\n" ${br} >> $GITHUB_STEP_SUMMARY
continue
fi
printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY
ls_jenkins_vars=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-jellyfin/${br}/jenkins-vars.yml)
ls_branch=$(echo "${ls_jenkins_vars}" | yq -r '.ls_branch')
ls_trigger=$(echo "${ls_jenkins_vars}" | yq -r '.external_type')
if [[ "${br}" == "${ls_branch}" ]] && [[ "${ls_trigger}" != "os" ]]; then
echo "Branch appears to be live and trigger is not os; checking workflow." >> $GITHUB_STEP_SUMMARY
if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-jellyfin/${br}/.github/workflows/external_trigger.yml > /dev/null 2>&1; then
echo "Triggering external trigger workflow for branch." >> $GITHUB_STEP_SUMMARY
curl -iX POST \
-H "Authorization: token ${{ secrets.CR_PAT }}" \
-H "Accept: application/vnd.github.v3+json" \
-d "{\"ref\":\"refs/heads/${br}\"}" \
https://api.github.com/repos/linuxserver/docker-jellyfin/actions/workflows/external_trigger.yml/dispatches
else
echo "Skipping branch due to no external trigger workflow present." >> $GITHUB_STEP_SUMMARY
fi
else
echo "Skipping branch due to being detected as dev branch or having no external version." >> $GITHUB_STEP_SUMMARY
fi
done

13
.github/workflows/greetings.yml vendored Executable file
View File

@@ -0,0 +1,13 @@
name: Greetings
on: [pull_request_target, issues]
jobs:
greeting:
runs-on: ubuntu-latest
steps:
- uses: actions/first-interaction@v1
with:
issue-message: 'Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.'
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-jellyfin/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -0,0 +1,100 @@
name: Package Trigger Scheduler
on:
schedule:
- cron: '15 12 * * 2'
workflow_dispatch:
jobs:
package-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
with:
fetch-depth: '0'
- name: Package Trigger Scheduler
env:
SKIP_PACKAGE_TRIGGER: ${{ vars.SKIP_PACKAGE_TRIGGER }}
run: |
printf "# Package trigger scheduler for docker-jellyfin\n\n" >> $GITHUB_STEP_SUMMARY
printf "Found the branches:\n\n%s\n" "$(git for-each-ref --format='- %(refname:lstrip=3)' refs/remotes)" >> $GITHUB_STEP_SUMMARY
for br in $(git for-each-ref --format='%(refname:lstrip=3)' refs/remotes)
do
if [[ "${br}" == "HEAD" ]]; then
printf "\nSkipping %s.\n" ${br} >> $GITHUB_STEP_SUMMARY
continue
fi
printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY
JENKINS_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-jellyfin/${br}/jenkins-vars.yml)
if ! curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-jellyfin/${br}/Jenkinsfile >/dev/null 2>&1; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> No Jenkinsfile found. Branch is either deprecated or is an early dev branch." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif [[ "${br}" == $(yq -r '.ls_branch' <<< "${JENKINS_VARS}") ]]; then
echo "Branch appears to be live; checking workflow." >> $GITHUB_STEP_SUMMARY
README_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-jellyfin/${br}/readme-vars.yml)
if [[ $(yq -r '.project_deprecation_status' <<< "${README_VARS}") == "true" ]]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Branch appears to be deprecated; skipping trigger." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif [[ $(yq -r '.skip_package_check' <<< "${JENKINS_VARS}") == "true" ]]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Skipping branch ${br} due to \`skip_package_check\` being set in \`jenkins-vars.yml\`." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif grep -q "^jellyfin_${br}" <<< "${SKIP_PACKAGE_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_PACKAGE_TRIGGER\` contains \`jellyfin_${br}\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-jellyfin/job/${br}/lastBuild/api/json | jq -r '.building' 2>/dev/null) == "true" ]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> There already seems to be an active build on Jenkins; skipping package trigger for ${br}" >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
else
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo "> Triggering package trigger for branch ${br}" >> $GITHUB_STEP_SUMMARY
printf "> To disable, add \`jellyfin_%s\` into the Github organizational variable \`SKIP_PACKAGE_TRIGGER\`.\n\n" "${br}" >> $GITHUB_STEP_SUMMARY
triggered_branches="${triggered_branches}${br} "
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-jellyfin/job/${br}/buildWithParameters?PACKAGE_CHECK=true \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
if [[ -z "${response}" ]]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Jenkins build could not be triggered. Skipping branch."
continue
fi
echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY
echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY
sleep 10
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}"
echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY
echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY
if ! curl -ifX POST \
"${buildurl}submitDescription" \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
--data-urlencode "description=GHA package trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
--data-urlencode "Submit=Submit"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Unable to change the Jenkins job description."
fi
sleep 20
fi
else
echo "Skipping branch ${br} due to being detected as dev branch." >> $GITHUB_STEP_SUMMARY
fi
done
if [[ -n "${triggered_branches}" ]] || [[ -n "${skipped_branches}" ]]; then
if [[ -n "${triggered_branches}" ]]; then
NOTIFY_BRANCHES="**Triggered:** ${triggered_branches} \n"
NOTIFY_BUILD_URL="**Build URL:** https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-jellyfin/activity/ \n"
echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****"
fi
if [[ -n "${skipped_branches}" ]]; then
NOTIFY_BRANCHES="${NOTIFY_BRANCHES}**Skipped:** ${skipped_branches} \n"
fi
echo "**** Notifying Discord ****"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Package Check Build(s) for jellyfin** \n'"${NOTIFY_BRANCHES}"''"${NOTIFY_BUILD_URL}"'"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
fi

12
.github/workflows/permissions.yml vendored Executable file
View File

@@ -0,0 +1,12 @@
name: Permission check
on:
pull_request_target:
paths:
- '**/run'
- '**/finish'
- '**/check'
- 'root/migrations/*'
jobs:
permission_check:
uses: linuxserver/github-workflows/.github/workflows/init-svc-executable-permissions.yml@v1

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.jenkins-external

View File

@@ -1,4 +1,6 @@
FROM lsiobase/ubuntu:bionic
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-ubuntu:noble
# set version label
ARG BUILD_DATE
@@ -10,43 +12,31 @@ LABEL maintainer="thelamer"
# environment settings
ARG DEBIAN_FRONTEND="noninteractive"
ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility"
# https://github.com/dlemstra/Magick.NET/issues/707#issuecomment-785351620
ENV MALLOC_TRIM_THRESHOLD_=131072
RUN \
echo "**** install packages ****" && \
apt-get update && \
apt-get install -y --no-install-recommends \
gnupg && \
echo "**** add jellyfin deps *****" && \
curl -s https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | apt-key add - && \
echo 'deb [arch=amd64] https://repo.jellyfin.org/ubuntu bionic main' > /etc/apt/sources.list.d/jellyfin.list && \
apt-get update && \
apt-get install -y --no-install-recommends \
at \
i965-va-driver \
jellyfin-ffmpeg \
libfontconfig1 \
libfreetype6 \
libssl1.0.0 \
mesa-va-drivers && \
echo "**** install jellyfin *****" && \
if [ -z ${JELLYFIN_RELEASE+x} ]; then \
JELLYFIN_RELEASE=$(curl -sX GET "https://api.github.com/repos/jellyfin/jellyfin/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \
VERSION=$(echo "${JELLYFIN_RELEASE}" | sed 's/^v//g') && \
curl -o \
/tmp/jellyfin.deb -L \
"https://github.com/jellyfin/jellyfin/releases/download/v${VERSION}/jellyfin_${VERSION}-1_ubuntu-amd64.deb" && \
dpkg -i /tmp/jellyfin.deb && \
echo "**** cleanup ****" && \
rm -rf \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
echo "**** install jellyfin *****" && \
curl -s https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | gpg --dearmor | tee /usr/share/keyrings/jellyfin.gpg >/dev/null && \
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu noble main' > /etc/apt/sources.list.d/jellyfin.list && \
if [ -z ${JELLYFIN_RELEASE+x} ]; then \
JELLYFIN_RELEASE=$(curl -sX GET https://repo.jellyfin.org/ubuntu/dists/noble/main/binary-amd64/Packages |grep -A 7 -m 1 'Package: jellyfin-server' | awk -F ': ' '/Version/{print $2;exit}'); \
fi && \
apt-get update && \
apt-get install -y --no-install-recommends \
at \
jellyfin=${JELLYFIN_RELEASE} \
mesa-va-drivers \
xmlstarlet && \
echo "**** cleanup ****" && \
rm -rf \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
# add local files
COPY root/ /
COPY root/ /
# ports and volumes
EXPOSE 8096 8920
VOLUME /config /transcode
VOLUME /config

View File

@@ -1,4 +1,6 @@
FROM lsiobase/ubuntu:arm64v8-bionic
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-noble
# set version label
ARG BUILD_DATE
@@ -10,43 +12,34 @@ LABEL maintainer="thelamer"
# environment settings
ARG DEBIAN_FRONTEND="noninteractive"
ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility"
# https://github.com/dlemstra/Magick.NET/issues/707#issuecomment-785351620
ENV MALLOC_TRIM_THRESHOLD_=131072
RUN \
echo "**** install packages ****" && \
apt-get update && \
apt-get install -y --no-install-recommends \
gnupg && \
echo "**** add jellyfin deps *****" && \
curl -s https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | apt-key add - && \
echo 'deb [arch=arm64] https://repo.jellyfin.org/ubuntu bionic main' > /etc/apt/sources.list.d/jellyfin.list && \
apt-get update && \
apt-get install -y --no-install-recommends \
at \
jellyfin-ffmpeg \
libfontconfig1 \
libfreetype6 \
libomxil-bellagio0 \
libomxil-bellagio-bin \
libssl1.0.0 && \
echo "**** install jellyfin *****" && \
if [ -z ${JELLYFIN_RELEASE+x} ]; then \
JELLYFIN_RELEASE=$(curl -sX GET "https://api.github.com/repos/jellyfin/jellyfin/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \
VERSION=$(echo "${JELLYFIN_RELEASE}" | sed 's/^v//g') && \
curl -o \
/tmp/jellyfin.deb -L \
"https://github.com/jellyfin/jellyfin/releases/download/v${VERSION}/jellyfin_${VERSION}-1_ubuntu-arm64.deb" && \
dpkg -i /tmp/jellyfin.deb && \
echo "**** cleanup ****" && \
rm -rf \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
echo "**** install jellyfin *****" && \
curl -s https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | gpg --dearmor | tee /usr/share/keyrings/jellyfin.gpg >/dev/null && \
echo 'deb [arch=arm64 signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu noble main' > /etc/apt/sources.list.d/jellyfin.list && \
if [ -z ${JELLYFIN_RELEASE+x} ]; then \
JELLYFIN_RELEASE=$(curl -sX GET https://repo.jellyfin.org/ubuntu/dists/noble/main/binary-amd64/Packages |grep -A 7 -m 1 'Package: jellyfin-server' | awk -F ': ' '/Version/{print $2;exit}'); \
fi && \
apt-get update && \
apt-get install -y --no-install-recommends \
at \
jellyfin=${JELLYFIN_RELEASE} \
libomxil-bellagio0 \
libomxil-bellagio-bin \
libraspberrypi0 \
xmlstarlet && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
echo "**** cleanup ****" && \
rm -rf \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
# add local files
COPY root/ /
COPY root/ /
# ports and volumes
EXPOSE 8096 8920
VOLUME /config /transcode
VOLUME /config

View File

@@ -1,55 +0,0 @@
FROM lsiobase/ubuntu:arm32v7-bionic
# set version label
ARG BUILD_DATE
ARG VERSION
ARG JELLYFIN_RELEASE
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="thelamer"
# environment settings
ARG DEBIAN_FRONTEND="noninteractive"
ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility"
RUN \
echo "**** install packages ****" && \
apt-get update && \
apt-get install -y --no-install-recommends \
gnupg && \
echo "**** add jellyfin deps *****" && \
curl -s https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | apt-key add - && \
curl -s https://keyserver.ubuntu.com/pks/lookup?op=get\&search=0x6587ffd6536b8826e88a62547876ae518cbcf2f2 | apt-key add - && \
echo 'deb [arch=armhf] https://repo.jellyfin.org/ubuntu bionic main' > /etc/apt/sources.list.d/jellyfin.list && \
echo "deb http://ppa.launchpad.net/ubuntu-raspi2/ppa/ubuntu bionic main">> /etc/apt/sources.list.d/raspbins.list && \
apt-get update && \
apt-get install -y --no-install-recommends \
at \
jellyfin-ffmpeg \
libfontconfig1 \
libfreetype6 \
libomxil-bellagio0 \
libomxil-bellagio-bin \
libraspberrypi0 \
libssl1.0.0 && \
echo "**** install jellyfin *****" && \
if [ -z ${JELLYFIN_RELEASE+x} ]; then \
JELLYFIN_RELEASE=$(curl -sX GET "https://api.github.com/repos/jellyfin/jellyfin/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \
VERSION=$(echo "${JELLYFIN_RELEASE}" | sed 's/^v//g') && \
curl -o \
/tmp/jellyfin.deb -L \
"https://github.com/jellyfin/jellyfin/releases/download/v${VERSION}/jellyfin_${VERSION}-1_ubuntu-armhf.deb" && \
dpkg -i /tmp/jellyfin.deb && \
echo "**** cleanup ****" && \
rm -rf \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
# add local files
COPY root/ /
# ports and volumes
EXPOSE 8096 8920
VOLUME /config /transcode

1028
Jenkinsfile vendored

File diff suppressed because it is too large Load Diff

509
README.md
View File

@@ -1,23 +1,26 @@
<!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read https://github.com/linuxserver/docker-jellyfin/blob/master/.github/CONTRIBUTING.md -->
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io)
[![Blog](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=Blog)](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
[![Discord](https://img.shields.io/discord/354974912613449730.svg?style=flat-square&color=E68523&label=Discord&logo=discord&logoColor=FFFFFF)](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
[![Discourse](https://img.shields.io/discourse/https/discourse.linuxserver.io/topics.svg?style=flat-square&color=E68523&logo=discourse&logoColor=FFFFFF)](https://discourse.linuxserver.io "post on our community forum.")
[![Fleet](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=Fleet)](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
[![GitHub](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=GitHub&logo=github&logoColor=FFFFFF)](https://github.com/linuxserver "view the source for all of our repositories.")
[![Open Collective](https://img.shields.io/opencollective/all/linuxserver.svg?style=flat-square&color=E68523&label=Supporters&logo=open%20collective&logoColor=FFFFFF)](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
[![Blog](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Blog)](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
[![Discord](https://img.shields.io/discord/354974912613449730.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Discord&logo=discord)](https://linuxserver.io/discord "realtime support / chat with the community and the team.")
[![Discourse](https://img.shields.io/discourse/https/discourse.linuxserver.io/topics.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=discourse)](https://discourse.linuxserver.io "post on our community forum.")
[![Fleet](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Fleet)](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
[![GitHub](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub&logo=github)](https://github.com/linuxserver "view the source for all of our repositories.")
[![Open Collective](https://img.shields.io/opencollective/all/linuxserver.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Supporters&logo=open%20collective)](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring :-
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring:
* regular and timely application updates
* easy user mappings (PGID, PUID)
* custom base image with s6 overlay
* weekly base OS updates with common layers across the entire LinuxServer.io ecosystem to minimise space usage, down time and bandwidth
* regular security updates
* regular and timely application updates
* easy user mappings (PGID, PUID)
* custom base image with s6 overlay
* weekly base OS updates with common layers across the entire LinuxServer.io ecosystem to minimise space usage, down time and bandwidth
* regular security updates
Find us at:
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
* [Discord](https://linuxserver.io/discord) - realtime support / chat with the community and the team.
* [Discourse](https://discourse.linuxserver.io) - post on our community forum.
* [Fleet](https://fleet.linuxserver.io) - an online web interface which displays all of our maintained images.
* [GitHub](https://github.com/linuxserver) - view the source for all of our repositories.
@@ -25,240 +28,376 @@ Find us at:
# [linuxserver/jellyfin](https://github.com/linuxserver/docker-jellyfin)
[![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-jellyfin.svg?style=flat-square&color=E68523&logo=github&logoColor=FFFFFF)](https://github.com/linuxserver/docker-jellyfin)
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-jellyfin.svg?style=flat-square&color=E68523&logo=github&logoColor=FFFFFF)](https://github.com/linuxserver/docker-jellyfin/releases)
[![GitHub Package Repository](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=GitHub%20Package&logo=github&logoColor=FFFFFF)](https://github.com/linuxserver/docker-jellyfin/packages)
[![GitLab Container Registry](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=GitLab%20Registry&logo=gitlab&logoColor=FFFFFF)](https://gitlab.com/Linuxserver.io/docker-jellyfin/container_registry)
[![Quay.io](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=Quay.io)](https://quay.io/repository/linuxserver.io/jellyfin)
[![MicroBadger Layers](https://img.shields.io/microbadger/layers/linuxserver/jellyfin.svg?style=flat-square&color=E68523)](https://microbadger.com/images/linuxserver/jellyfin "Get your own version badge on microbadger.com")
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/jellyfin.svg?style=flat-square&color=E68523&label=pulls&logo=docker&logoColor=FFFFFF)](https://hub.docker.com/r/linuxserver/jellyfin)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/jellyfin.svg?style=flat-square&color=E68523&label=stars&logo=docker&logoColor=FFFFFF)](https://hub.docker.com/r/linuxserver/jellyfin)
[![Build Status](https://ci.linuxserver.io/view/all/job/Docker-Pipeline-Builders/job/docker-jellyfin/job/master/badge/icon?style=flat-square)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-jellyfin/job/master/)
[![](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/jellyfin/latest/badge.svg)](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/jellyfin/latest/index.html)
[![Scarf.io pulls](https://scarf.sh/installs-badge/linuxserver-ci/linuxserver%2Fjellyfin?color=94398d&label-color=555555&logo-color=ffffff&style=for-the-badge&package-type=docker)](https://scarf.sh)
[![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-jellyfin.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-jellyfin)
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-jellyfin.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-jellyfin/releases)
[![GitHub Package Repository](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub%20Package&logo=github)](https://github.com/linuxserver/docker-jellyfin/packages)
[![GitLab Container Registry](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitLab%20Registry&logo=gitlab)](https://gitlab.com/linuxserver.io/docker-jellyfin/container_registry)
[![Quay.io](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Quay.io)](https://quay.io/repository/linuxserver.io/jellyfin)
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/jellyfin.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/jellyfin)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/jellyfin.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/jellyfin)
[![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-jellyfin%2Fjob%2Fmaster%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-jellyfin/job/master/)
[![LSIO CI](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=CI&query=CI&url=https%3A%2F%2Fci-tests.linuxserver.io%2Flinuxserver%2Fjellyfin%2Flatest%2Fci-status.yml)](https://ci-tests.linuxserver.io/linuxserver/jellyfin/latest/index.html)
[Jellyfin](https://jellyfin.github.io/) is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps. Jellyfin is descended from Emby's 3.5.2 release and ported to the .NET Core framework to enable full cross-platform support. There are no strings attached, no premium licenses or features, and no hidden agendas: just a team who want to build something better and work together to achieve it.
[Jellyfin](https://github.com/jellyfin/jellyfin) is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps. Jellyfin is descended from Emby's 3.5.2 release and ported to the .NET Core framework to enable full cross-platform support. There are no strings attached, no premium licenses or features, and no hidden agendas: just a team who want to build something better and work together to achieve it.
[![jellyfin](https://raw.githubusercontent.com/jellyfin/jellyfin-ux/master/branding/SVG/banner-logo-solid.svg?sanitize=true)](https://jellyfin.github.io/)
[![jellyfin](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jellyfin-logo.png)](https://github.com/jellyfin/jellyfin)
## Supported Architectures
Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://distribution.github.io/distribution/spec/manifest-v2-2/#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
Simply pulling `linuxserver/jellyfin` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
Simply pulling `lscr.io/linuxserver/jellyfin:latest` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
The architectures supported by this image are:
| Architecture | Tag |
| :----: | --- |
| x86-64 | amd64-latest |
| arm64 | arm64v8-latest |
| armhf | arm32v7-latest |
| Architecture | Available | Tag |
| :----: | :----: | ---- |
| x86-64 | ✅ | amd64-\<version tag\> |
| arm64 | ✅ | arm64v8-\<version tag\> |
| armhf | ❌ | |
## Version Tags
## Usage
This image provides various versions that are available via tags. Please read the descriptions carefully and exercise caution when using unstable or development tags.
Here are some example snippets to help you get started creating a container.
| Tag | Available | Description |
| :----: | :----: |--- |
| latest | ✅ | Stable Jellyfin releases |
| nightly | ✅ | Nightly Jellyfin releases |
### docker
```
docker create \
--name=jellyfin \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-e UMASK_SET=<022> `#optional` \
-p 8096:8096 \
-p 8920:8920 `#optional` \
-v </path/to/library>:/config \
-v <path/to/tvseries>:/data/tvshows \
-v </path/to/movies>:/data/movies \
-v </path for transcoding>:/transcode `#optional` \
-v /opt/vc/lib:/opt/vc/lib `#optional` \
--device /dev/dri:/dev/dri `#optional` \
--device /dev/vchiq:/dev/vchiq `#optional` \
--restart unless-stopped \
linuxserver/jellyfin
```
### docker-compose
Compatible with docker-compose v2 schemas.
```
---
version: "2"
services:
jellyfin:
image: linuxserver/jellyfin
container_name: jellyfin
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- UMASK_SET=<022> #optional
volumes:
- </path/to/library>:/config
- <path/to/tvseries>:/data/tvshows
- </path/to/movies>:/data/movies
- </path for transcoding>:/transcode #optional
- /opt/vc/lib:/opt/vc/lib #optional
ports:
- 8096:8096
- 8920:8920 #optional
devices:
- /dev/dri:/dev/dri #optional
- /dev/vchiq:/dev/vchiq #optional
restart: unless-stopped
```
## Parameters
Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>:<internal>` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container.
| Parameter | Function |
| :----: | --- |
| `-p 8096` | Http webUI. |
| `-p 8920` | Https webUI (you need to setup your own certificate). |
| `-e PUID=1000` | for UserID - see below for explanation |
| `-e PGID=1000` | for GroupID - see below for explanation |
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London |
| `-e UMASK_SET=<022>` | for umask setting of Emby, default if left unset is 022. |
| `-v /config` | Jellyfin data storage location. *This can grow very large, 50gb+ is likely for a large collection.* |
| `-v /data/tvshows` | Media goes here. Add as many as needed e.g. `/data/movies`, `/data/tv`, etc. |
| `-v /data/movies` | Media goes here. Add as many as needed e.g. `/data/movies`, `/data/tv`, etc. |
| `-v /transcode` | Path for transcoding folder, *optional*. |
| `-v /opt/vc/lib` | Path for Raspberry Pi OpenMAX libs *optional*. |
| `--device /dev/dri` | Only needed if you want to use your Intel GPU for hardware accelerated video encoding (vaapi). |
| `--device /dev/vchiq` | Only needed if you want to use your Raspberry Pi OpenMax video encoding (Bellagio). |
## Environment variables from files (Docker secrets)
You can set any environment variable from a file by using a special prepend `FILE__`.
As an example:
```
-e FILE__PASSWORD=/run/secrets/mysecretpassword
```
Will set the environment variable `PASSWORD` based on the contents of the `/run/secrets/mysecretpassword` file.
## User / Group Identifiers
When using volumes (`-v` flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`.
Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id user` as below:
```
$ id username
uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
```
&nbsp;
## Application Setup
Webui can be found at `http://<your-ip>:8096`
More information can be found in their official documentation [here](https://github.com/MediaBrowser/Wiki/wiki) .
More information can be found on the official documentation [here](https://jellyfin.org/docs/general/quick-start.html).
## Hardware Acceleration
### Hardware Acceleration Enhancements
This section lists the enhancements we have made for hardware acceleration in this image specifically.
### Intel
Hardware acceleration users for Intel Quicksync will need to mount their /dev/dri video device inside of the container by passing the following command when running or creating the container:
To enable the OpenCL based DV, HDR10 and HLG tone-mapping, please refer to the OpenCL-Intel mod from here:
```--device=/dev/dri:/dev/dri```
https://mods.linuxserver.io/?mod=jellyfin
We will automatically ensure the abc user inside of the container has the proper permissions to access this device.
And follow this guide even if you are using iGPU: https://jellyfin.org/docs/general/administration/hardware-acceleration/intel/#configure-and-verify-lp-mode-on-linux
### Nvidia
#### OpenMAX (Raspberry Pi)
Hardware acceleration users for Nvidia will need to install the container runtime provided by Nvidia on their host, instructions can be found here:
https://github.com/NVIDIA/nvidia-docker
We automatically add the necessary environment variable that will utilise all the features available on a GPU on the host. Once nvidia-docker is installed on your host you will need to re/create the docker container with the nvidia container runtime `--runtime=nvidia` and add an environment variable `-e NVIDIA_VISIBLE_DEVICES=all` (can also be set to a specific gpu's UUID, this can be discovered by running `nvidia-smi --query-gpu=gpu_name,gpu_uuid --format=csv` ). NVIDIA automatically mounts the GPU and drivers from your host into the jellyfin docker container.
### OpenMAX (Raspberry Pi)
Hardware acceleration users for Raspberry Pi OpenMAX will need to mount their /dev/vchiq video device inside of the container and their system OpenMax libs by passing the following options when running or creating the container:
Hardware acceleration users for Raspberry Pi MMAL/OpenMAX will need to mount their `/dev/vcsm` and `/dev/vchiq` video devices inside of the container and their system OpenMax libs by passing the following options when running or creating the container:
```
--device=/dev/vcsm:/dev/vcsm
--device=/dev/vchiq:/dev/vchiq
-v /opt/vc/lib:/opt/vc/lib
```
#### V4L2 (Raspberry Pi)
Hardware acceleration users for Raspberry Pi V4L2 will need to mount their `/dev/video1X` devices inside of the container by passing the following options when running or creating the container:
```
--device=/dev/video10:/dev/video10
--device=/dev/video11:/dev/video11
--device=/dev/video12:/dev/video12
```
### Hardware Acceleration
Many desktop applications need access to a GPU to function properly and even some Desktop Environments have compositor effects that will not function without a GPU. However this is not a hard requirement and all base images will function without a video device mounted into the container.
#### Intel/ATI/AMD
To leverage hardware acceleration you will need to mount /dev/dri video device inside of the container.
```text
--device=/dev/dri:/dev/dri
```
We will automatically ensure the abc user inside of the container has the proper permissions to access this device.
#### Nvidia
Hardware acceleration users for Nvidia will need to install the container runtime provided by Nvidia on their host, instructions can be found here:
https://github.com/NVIDIA/nvidia-container-toolkit
We automatically add the necessary environment variable that will utilise all the features available on a GPU on the host. Once nvidia-container-toolkit is installed on your host you will need to re/create the docker container with the nvidia container runtime `--runtime=nvidia` and add an environment variable `-e NVIDIA_VISIBLE_DEVICES=all` (can also be set to a specific gpu's UUID, this can be discovered by running `nvidia-smi --query-gpu=gpu_name,gpu_uuid --format=csv` ). NVIDIA automatically mounts the GPU and drivers from your host into the container.
#### Arm Devices
Best effort is made to install tools to allow mounting in /dev/dri on Arm devices. In most cases if /dev/dri exists on the host it should just work. If running a Raspberry Pi 4 be sure to enable `dtoverlay=vc4-fkms-v3d` in your usercfg.txt.
## Usage
To help you get started creating a container from this image you can either use docker-compose or the docker cli.
>[!NOTE]
>Unless a parameter is flaged as 'optional', it is *mandatory* and a value must be provided.
### docker-compose (recommended, [click here for more info](https://docs.linuxserver.io/general/docker-compose))
```yaml
---
services:
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- JELLYFIN_PublishedServerUrl=http://192.168.0.5 #optional
volumes:
- /path/to/jellyfin/library:/config
- /path/to/tvseries:/data/tvshows
- /path/to/movies:/data/movies
ports:
- 8096:8096
- 8920:8920 #optional
- 7359:7359/udp #optional
- 1900:1900/udp #optional
restart: unless-stopped
```
### docker cli ([click here for more info](https://docs.docker.com/engine/reference/commandline/cli/))
```bash
docker run -d \
--name=jellyfin \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Etc/UTC \
-e JELLYFIN_PublishedServerUrl=http://192.168.0.5 `#optional` \
-p 8096:8096 \
-p 8920:8920 `#optional` \
-p 7359:7359/udp `#optional` \
-p 1900:1900/udp `#optional` \
-v /path/to/jellyfin/library:/config \
-v /path/to/tvseries:/data/tvshows \
-v /path/to/movies:/data/movies \
--restart unless-stopped \
lscr.io/linuxserver/jellyfin:latest
```
## Parameters
Containers are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>:<internal>` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container.
| Parameter | Function |
| :----: | --- |
| `-p 8096:8096` | Http webUI. |
| `-p 8920` | Optional - Https webUI (you need to set up your own certificate). |
| `-p 7359/udp` | Optional - Allows clients to discover Jellyfin on the local network. |
| `-p 1900/udp` | Optional - Service discovery used by DNLA and clients. |
| `-e PUID=1000` | for UserID - see below for explanation |
| `-e PGID=1000` | for GroupID - see below for explanation |
| `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). |
| `-e JELLYFIN_PublishedServerUrl=http://192.168.0.5` | Set the autodiscovery response domain or IP address, include http(s)://. |
| `-v /config` | Jellyfin data storage location. *This can grow very large, 50gb+ is likely for a large collection.* |
| `-v /data/tvshows` | Media goes here. Add as many as needed e.g. `/data/movies`, `/data/tv`, etc. |
| `-v /data/movies` | Media goes here. Add as many as needed e.g. `/data/movies`, `/data/tv`, etc. |
## Environment variables from files (Docker secrets)
You can set any environment variable from a file by using a special prepend `FILE__`.
As an example:
```bash
-e FILE__MYVAR=/run/secrets/mysecretvariable
```
Will set the environment variable `MYVAR` based on the contents of the `/run/secrets/mysecretvariable` file.
## Umask for running applications
For all of our images we provide the ability to override the default umask settings for services started within the containers using the optional `-e UMASK=022` setting.
Keep in mind umask is not chmod it subtracts from permissions based on it's value it does not add. Please read up [here](https://en.wikipedia.org/wiki/Umask) before asking for support.
## Optional Parameters
The [official documentation for ports](https://jellyfin.org/docs/general/networking/index.html) has additional ports that can provide auto discovery.
Service Discovery (`1900/udp`) - Since client auto-discover would break if this option were configurable, you cannot change this in the settings at this time. DLNA also uses this port and is required to be in the local subnet.
Client Discovery (`7359/udp`) - Allows clients to discover Jellyfin on the local network. A broadcast message to this port with "Who is Jellyfin Server?" will get a JSON response that includes the server address, ID, and name.
```
-p 7359:7359/udp \
-p 1900:1900/udp \
```
The [official documentation for environmentals](https://jellyfin.org/docs/general/administration/configuration.html) has additional environmentals that can provide additional configurability such as migrating to the native Jellyfin image.
## User / Group Identifiers
When using volumes (`-v` flags), permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`.
Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id your_user` as below:
```bash
id your_user
```
Example output:
```text
uid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
```
## Docker Mods
[![Docker Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=jellyfin&query=%24.mods%5B%27jellyfin%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=jellyfin "view available mods for this container.") [![Docker Universal Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=universal&query=%24.mods%5B%27universal%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=universal "view available universal mods.")
We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to enable additional functionality within the containers. The list of Mods available for this image (if any) as well as universal mods that can be applied to any one of our images can be accessed via the dynamic badges above.
## Support Info
* Shell access whilst the container is running: `docker exec -it jellyfin /bin/bash`
* To monitor the logs of the container in realtime: `docker logs -f jellyfin`
* container version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' jellyfin`
* image version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/jellyfin`
* Shell access whilst the container is running:
```bash
docker exec -it jellyfin /bin/bash
```
* To monitor the logs of the container in realtime:
```bash
docker logs -f jellyfin
```
* Container version number:
```bash
docker inspect -f '{{ index .Config.Labels "build_version" }}' jellyfin
```
* Image version number:
```bash
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/jellyfin:latest
```
## Updating Info
Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (ie. nextcloud, plex), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image.
Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (noted in the relevant readme.md), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image.
Below are the instructions for updating containers:
### Via Docker Run/Create
* Update the image: `docker pull linuxserver/jellyfin`
* Stop the running container: `docker stop jellyfin`
* Delete the container: `docker rm jellyfin`
* Recreate a new container with the same docker create parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
* Start the new container: `docker start jellyfin`
* You can also remove the old dangling images: `docker image prune`
### Via Docker Compose
* Update all images: `docker-compose pull`
* or update a single image: `docker-compose pull jellyfin`
* Let compose update all containers as necessary: `docker-compose up -d`
* or update a single container: `docker-compose up -d jellyfin`
* You can also remove the old dangling images: `docker image prune`
### Via Watchtower auto-updater (especially useful if you don't remember the original parameters)
* Pull the latest image at its tag and replace it with the same env variables in one run:
```
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--run-once jellyfin
```
* Update images:
* All images:
**Note:** We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using Docker Compose.
```bash
docker-compose pull
```
* You can also remove the old dangling images: `docker image prune`
* Single image:
```bash
docker-compose pull jellyfin
```
* Update containers:
* All containers:
```bash
docker-compose up -d
```
* Single container:
```bash
docker-compose up -d jellyfin
```
* You can also remove the old dangling images:
```bash
docker image prune
```
### Via Docker Run
* Update the image:
```bash
docker pull lscr.io/linuxserver/jellyfin:latest
```
* Stop the running container:
```bash
docker stop jellyfin
```
* Delete the container:
```bash
docker rm jellyfin
```
* Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
* You can also remove the old dangling images:
```bash
docker image prune
```
### Image Update Notifications - Diun (Docker Image Update Notifier)
>[!TIP]
>We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
## Building locally
If you want to make local modifications to these images for development purposes or just to customize the logic:
```
```bash
git clone https://github.com/linuxserver/docker-jellyfin.git
cd docker-jellyfin
docker build \
--no-cache \
--pull \
-t linuxserver/jellyfin:latest .
-t lscr.io/linuxserver/jellyfin:latest .
```
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
```
docker run --rm --privileged multiarch/qemu-user-static:register --reset
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`
```bash
docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
```
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
## Versions
* **06.10.24:** - Fix fontconfig cache path.
* **13.08.24:** - Rebase to Ubuntu Noble.
* **01.05.24:** - Increase verbosity of device permissions fixing.
* **12.02.24:** - Use universal hardware acceleration blurb.
* **12.09.23:** - Take ownership of plugin directories.
* **04.07.23:** - Deprecate armhf. As announced [here](https://www.linuxserver.io/blog/a-farewell-to-arm-hf)
* **07.12.22:** - Rebase master to Jammy, migrate to s6v3.
* **11.06.22:** - Switch to upstream repo's ffmpeg5 build.
* **05.01.22:** - Specify Intel iHD driver versions to avoid mismatched libva errors.
* **25.12.21:** - Fix video device group perms error message.
* **10.12.21:** - Rework readme, disable template sync.
* **22.09.21:** - Pull only the server, web and ffmpeg packages instead of the wrapper.
* **23.06.21:** - Add log message if device permissions are incorrect. Pin jellyfin dependency versions to prevent upstream apt repo issues. Deprecate the `bionic` tag.
* **21.05.21:** - Add nvidia.icd file to fix missing tonemapping using Nvidia HW.
* **20.01.21:** - Add Jellyfin Binary Environmentals
* **20.01.21:** - Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information.
* **23.11.20:** - Rebase to Focal, branch off Bionic.
* **22.07.20:** - Ingest releases from Jellyfin repo.
* **28.04.20:** - Replace MMAL/OMX dependency device `/dev/vc-mem` with `/dev/vcsm` as the former was not sufficient for raspbian.
* **11.04.20:** - Enable hw decode (mmal) on Raspberry Pi, update readme instructions, add donation info, create missing default transcodes folder.
* **11.03.20:** - Add Pi V4L2 support, remove optional transcode mapping (location is selected in the gui, defaults to path under `/config`).
* **30.01.20:** - Add nightly tag.
* **09.01.20:** - Add Pi OpenMax support.
* **02.10.19:** - Improve permission fixing for render & dvb devices.
* **31.07.19:** - Add AMD drivers for vaapi support on x86.

24
docker-compose.yml Normal file
View File

@@ -0,0 +1,24 @@
services:
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin
environment:
- PUID=1000
- PGID=1000
- TZ=America/Kentucky/Louisville
- JELLYFIN_PublishedServerUrl=http://10.10.10.142 #optional
volumes:
- /opt/stacks/jellyfin/jellyfin/config:/config
- /mnt/8tbraid/video/tv:/data/tvshows
- /mnt/8tbraid/video/movie:/data/movies
ports:
- 9096:8096
- 9920:8920 #optional
- 7359:7359/udp #optional
- 1900:1900/udp #optional
restart: unless-stopped
networks:
- Video
networks:
Video:
external: true

View File

@@ -2,14 +2,12 @@
# jenkins variables
project_name: docker-jellyfin
external_type: github_stable
external_type: na
custom_version_command: "curl -sX GET https://repo.jellyfin.org/ubuntu/dists/noble/main/binary-amd64/Packages |grep -A 7 -m 1 'Package: jellyfin-server' | awk -F ': ' '/Version/{print $2;exit}'"
release_type: stable
release_tag: latest
ls_branch: master
repo_vars:
- EXT_GIT_BRANCH = 'master'
- EXT_USER = 'jellyfin'
- EXT_REPO = 'jellyfin'
- BUILD_VERSION_ARG = 'JELLYFIN_RELEASE'
- LS_USER = 'linuxserver'
- LS_REPO = 'docker-jellyfin'
@@ -20,10 +18,12 @@ repo_vars:
- DIST_IMAGE = 'ubuntu'
- MULTIARCH='true'
- CI='true'
- CI_WEB='false'
- CI_WEB='true'
- CI_PORT='8096'
- CI_SSL='false'
- CI_DELAY='120'
- CI_DOCKERENV='TZ=US/Pacific'
- CI_AUTH='user:password'
- CI_DOCKERENV=''
- CI_AUTH=''
- CI_WEBPATH=''
sponsor_links:
- { name: "Jellyfin", url: "https://opencollective.com/jellyfin" }

View File

@@ -1,206 +1,305 @@
adduser3.116ubuntu1
apt1.6.12
apt-utils1.6.12
at3.1.20-3.1ubuntu2
base-files10.1ubuntu2.7
base-passwd3.5.44
bash4.4.18-2ubuntu1.2
bsdutils1:2.31.1-0.4ubuntu3.4
bzip21.0.6-8.1ubuntu0.2
ca-certificates20180409
coreutils8.28-1ubuntu1
curl7.58.0-2ubuntu3.8
dash0.5.8-2.10
debconf1.5.66ubuntu1
debianutils4.8.4
diffutils1:3.6-1
dirmngr2.2.4-1ubuntu1.2
dpkg1.19.0.5ubuntu2.3
e2fsprogs1.44.1-1ubuntu1.2
fdisk2.31.1-0.4ubuntu3.4
findutils4.6.0+git+20170828-2
fontconfig-config2.12.6-0ubuntu2
fonts-dejavu-core2.37-1
gcc-8-base8.3.0-6ubuntu1~18.04.1
gnupg2.2.4-1ubuntu1.2
gnupg-l10n2.2.4-1ubuntu1.2
gnupg-utils2.2.4-1ubuntu1.2
gpg2.2.4-1ubuntu1.2
gpg-agent2.2.4-1ubuntu1.2
gpgconf2.2.4-1ubuntu1.2
gpgsm2.2.4-1ubuntu1.2
gpgv2.2.4-1ubuntu1.2
gpg-wks-client2.2.4-1ubuntu1.2
gpg-wks-server2.2.4-1ubuntu1.2
grep3.1-2build1
gzip1.6-5ubuntu1
hostname3.20
i965-va-driver2.1.0-0ubuntu1
init-system-helpers1.51
jellyfin10.4.3-1
jellyfin-ffmpeg4.2.1-3-bionic
krb5-locales1.16-2ubuntu0.1
libacl12.2.52-3build1
libapt-inst2.01.6.12
libapt-pkg5.01.6.12
libasn1-8-heimdal7.5.0+dfsg-1
libass91:0.14.0-1
libassuan02.5.1-2
libattr11:2.4.47-2build1
libaudit11:2.8.2-1ubuntu1
libaudit-common1:2.8.2-1ubuntu1
libblkid12.31.1-0.4ubuntu3.4
libbluray21:1.0.2-3
libbsd00.8.7-1ubuntu0.1
libbz2-1.01.0.6-8.1ubuntu0.2
libc62.27-3ubuntu1
libcairo21.15.10-2ubuntu0.1
libcap-ng00.7.7-3.1
libc-bin2.27-3ubuntu1
libcom-err21.44.1-1ubuntu1.2
libcurl47.58.0-2ubuntu3.8
libdb5.35.3.28-13.1ubuntu1.1
libdebconfclient00.213ubuntu1
libdrm22.4.99-1ubuntu1~18.04.1
libdrm-amdgpu12.4.99-1ubuntu1~18.04.1
libdrm-common2.4.99-1ubuntu1~18.04.1
libdrm-intel12.4.99-1ubuntu1~18.04.1
libdrm-nouveau22.4.99-1ubuntu1~18.04.1
libdrm-radeon12.4.99-1ubuntu1~18.04.1
libedit23.1-20170329-1
libelf10.170-0.4ubuntu0.1
libexpat12.2.5-3ubuntu0.2
libext2fs21.44.1-1ubuntu1.2
libfdisk12.31.1-0.4ubuntu3.4
libffi63.2.1-8
libfontconfig12.12.6-0ubuntu2
libfreetype62.8.1-2ubuntu2
libfribidi00.19.7-2
libgcc11:8.3.0-6ubuntu1~18.04.1
libgcrypt201.8.1-4ubuntu1.2
libglib2.0-02.56.4-0ubuntu0.18.04.4
libgmp102:6.1.2+dfsg-2
libgnutls303.5.18-1ubuntu1.2
libgpg-error01.27-6
libgraphite2-31.3.11-2
libgssapi3-heimdal7.5.0+dfsg-1
libgssapi-krb5-21.16-2ubuntu0.1
libharfbuzz0b1.7.2-1ubuntu1
libhcrypto4-heimdal7.5.0+dfsg-1
libheimbase1-heimdal7.5.0+dfsg-1
libheimntlm0-heimdal7.5.0+dfsg-1
libhogweed43.4-1
libhx509-5-heimdal7.5.0+dfsg-1
libicu6060.2-3ubuntu3
libidn2-02.0.4-1.1ubuntu0.2
libk5crypto31.16-2ubuntu0.1
libkeyutils11.5.9-9.2ubuntu2
libkrb5-26-heimdal7.5.0+dfsg-1
libkrb5-31.16-2ubuntu0.1
libkrb5support01.16-2ubuntu0.1
libksba81.3.5-2
libldap-2.4-22.4.45+dfsg-1ubuntu1.4
libldap-common2.4.45+dfsg-1ubuntu1.4
libllvm91:9-2~ubuntu18.04.1
liblz4-10.0~r131-2ubuntu3
liblzma55.2.2-1.3
libmount12.31.1-0.4ubuntu3.4
libmp3lame03.100-2
libncurses56.1-1ubuntu1.18.04
libncursesw56.1-1ubuntu1.18.04
libnettle63.4-1
libnghttp2-141.30.0-1ubuntu1
libnpth01.5-3
libnuma12.0.11-2.1ubuntu0.1
libogg01.3.2-1
libopus01.1.2-1ubuntu1
libp11-kit00.23.9-2
libpam0g1.1.8-3.6ubuntu2.18.04.1
libpam-modules1.1.8-3.6ubuntu2.18.04.1
libpam-modules-bin1.1.8-3.6ubuntu2.18.04.1
libpam-runtime1.1.8-3.6ubuntu2.18.04.1
libpciaccess00.14-1
libpcre32:8.39-9
libpixman-1-00.34.0-2
libpng16-161.6.34-1ubuntu0.18.04.2
libprocps62:3.3.12-3ubuntu1.2
libpsl50.19.1-5build1
libreadline77.0-3
libroken18-heimdal7.5.0+dfsg-1
librtmp12.4+20151223.gitfa8646d.1-1
libsasl2-22.1.27~101-g0780600+dfsg-3ubuntu2
libsasl2-modules2.1.27~101-g0780600+dfsg-3ubuntu2
libsasl2-modules-db2.1.27~101-g0780600+dfsg-3ubuntu2
libseccomp22.4.1-0ubuntu0.18.04.2
libselinux12.7-2build2
libsemanage12.7-2build2
libsemanage-common2.7-2build2
libsepol12.7-1
libsmartcols12.31.1-0.4ubuntu3.4
libsqlite3-03.22.0-1ubuntu0.2
libss21.44.1-1ubuntu1.2
libssl1.0.01.0.2n-1ubuntu5.3
libssl1.11.1.1-1ubuntu2.1~18.04.5
libstdc++68.3.0-6ubuntu1~18.04.1
libsystemd0237-3ubuntu10.33
libtasn1-64.13-2
libtheora01.1.1+dfsg.1-14
libtinfo56.1-1ubuntu1.18.04
libudev1237-3ubuntu10.33
libunistring20.9.9-0ubuntu2
libuuid12.31.1-0.4ubuntu3.4
libva22.1.0-3
libva-drm22.1.0-3
libvdpau11.1.1-3ubuntu1
libvorbis0a1.3.5-4.2
libvorbisenc21.3.5-4.2
libwebp60.6.1-2
libwebpmux30.6.1-2
libwind0-heimdal7.5.0+dfsg-1
libx11-62:1.6.4-3ubuntu0.2
libx11-data2:1.6.4-3ubuntu0.2
libx11-xcb12:1.6.4-3ubuntu0.2
libx264-1522:0.152.2854+gite9a5903-2
libx265-1462.6-3
libxau61:1.0.8-1
libxcb11.13-2~ubuntu18.04
libxcb-dri2-01.13-2~ubuntu18.04
libxcb-dri3-01.13-2~ubuntu18.04
libxcb-present01.13-2~ubuntu18.04
libxcb-render01.13-2~ubuntu18.04
libxcb-shm01.13-2~ubuntu18.04
libxcb-sync11.13-2~ubuntu18.04
libxcb-xfixes01.13-2~ubuntu18.04
libxdmcp61:1.1.2-3
libxext62:1.3.3-1
libxml22.9.4+dfsg1-6.1ubuntu1.2
libxrender11:0.9.10-1
libxshmfence11.3-1
libzstd11.3.3+dfsg-2ubuntu1.1
libzvbi00.2.35-13
libzvbi-common0.2.35-13
locales2.27-3ubuntu1
login1:4.5-1ubuntu2
lsb-base9.20170808ubuntu1
mawk1.3.3-17ubuntu3
mesa-va-drivers19.2.1-1ubuntu1~18.04.1
mount2.31.1-0.4ubuntu3.4
multiarch-support2.27-3ubuntu1
ncurses-base6.1-1ubuntu1.18.04
ncurses-bin6.1-1ubuntu1.18.04
openssl1.1.1-1ubuntu2.1~18.04.5
passwd1:4.5-1ubuntu2
perl-base5.26.1-6ubuntu0.3
pinentry-curses1.1.0-1
procps2:3.3.12-3ubuntu1.2
publicsuffix20180223.1310-1
readline-common7.0-3
sed4.4-2
sensible-utils0.0.12
sysvinit-utils2.88dsf-59.10ubuntu1
tar1.29b-2ubuntu0.1
tzdata2019c-0ubuntu0.18.04
ubuntu-keyring2018.09.18.1~18.04.0
ucf3.0038
util-linux2.31.1-0.4ubuntu3.4
zlib1g1:1.2.11.dfsg-0ubuntu2
NAME VERSION TYPE
AsyncKeyedLock 7.0.2 dotnet
BDInfo 0.8.0 dotnet
BlurHashSharp 1.3.4 dotnet
BlurHashSharp.SkiaSharp 1.3.4 dotnet
CommandLineParser 2.9.1 dotnet
Diacritics 3.3.29 dotnet
DiscUtils.Core 0.16.13 dotnet
DiscUtils.Iso9660 0.16.13 dotnet
DiscUtils.Streams 0.16.13 dotnet
DiscUtils.Udf 0.16.13 dotnet
DotNet.Glob 3.1.3 dotnet
Emby.Naming 10.10.7.0 dotnet
Emby.Photos 24.4.0 dotnet
Emby.Server.Implementations 24.4.0 dotnet
ExCSS 4.2.3 dotnet
HarfBuzzSharp 7.3.0.3 dotnet
HarfBuzzSharp.NativeAssets.Linux 7.3.0.3 dotnet
ICU4N 60.1.0-alpha.356 dotnet
ICU4N.Transliterator 60.1.0-alpha.356 dotnet
J2N 2.0.0 dotnet
Jellyfin.Api 24.4.0 dotnet
Jellyfin.Common 24.4.0 dotnet
Jellyfin.Controller 24.4.0 dotnet
Jellyfin.Data 24.4.0 dotnet
Jellyfin.Drawing 24.4.0 dotnet
Jellyfin.Drawing.Skia 24.4.0 dotnet
Jellyfin.Extensions 24.4.0 dotnet
Jellyfin.LiveTv 24.4.0 dotnet
Jellyfin.MediaEncoding.Hls 24.4.0 dotnet
Jellyfin.MediaEncoding.Keyframes 24.4.0 dotnet
Jellyfin.Model 24.4.0 dotnet
Jellyfin.Naming 24.4.0 dotnet
Jellyfin.Networking 24.4.0 dotnet
Jellyfin.Server.Implementations 24.4.0 dotnet
Jellyfin.XmlTv 10.8.0 dotnet
LrcParser 2025.228.1 dotnet
MediaBrowser.Common 10.10.7.0 dotnet
MediaBrowser.Controller 10.10.7.0 dotnet
MediaBrowser.LocalMetadata 24.4.0 dotnet
MediaBrowser.MediaEncoding 24.4.0 dotnet
MediaBrowser.Model 10.10.7.0 dotnet
MediaBrowser.Providers 24.4.0 dotnet
MediaBrowser.XbmcMetadata 24.4.0 dotnet
MetaBrainz.Common 3.0.0 dotnet
MetaBrainz.Common.Json 6.0.2 dotnet
MetaBrainz.MusicBrainz 6.1.0 dotnet
Microsoft.Bcl.AsyncInterfaces 6.0.0 dotnet
Microsoft.Data.Sqlite 8.0.11 dotnet
Microsoft.Data.Sqlite.Core 8.0.11 dotnet
Microsoft.EntityFrameworkCore 8.0.11 dotnet
Microsoft.EntityFrameworkCore.Abstractions 8.0.11 dotnet
Microsoft.EntityFrameworkCore.Relational 8.0.11 dotnet
Microsoft.EntityFrameworkCore.Sqlite 8.0.11 dotnet
Microsoft.EntityFrameworkCore.Sqlite.Core 8.0.11 dotnet
Microsoft.Extensions.DependencyModel 8.0.2 dotnet
Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore 8.0.11 dotnet
Microsoft.OpenApi 1.2.3 dotnet
Microsoft.Win32.SystemEvents 8.0.0 dotnet
Mono.Nat 3.0.4 dotnet
NEbml 0.12.0 dotnet
Newtonsoft.Json 13.0.3 dotnet
PlaylistsNET 1.4.1 dotnet
SQLitePCLRaw.bundle_e_sqlite3 2.1.6 dotnet
SQLitePCLRaw.core 2.1.6 dotnet
SQLitePCLRaw.lib.e_sqlite3 2.1.6 dotnet
SQLitePCLRaw.provider.e_sqlite3 2.1.6 dotnet
Serilog 4.1.0 dotnet
Serilog.AspNetCore 8.0.3 dotnet
Serilog.Enrichers.Thread 4.0.0 dotnet
Serilog.Extensions.Hosting 8.0.0 dotnet
Serilog.Extensions.Logging 8.0.0 dotnet
Serilog.Formatting.Compact 2.0.0 dotnet
Serilog.Settings.Configuration 8.0.4 dotnet
Serilog.Sinks.Async 2.1.0 dotnet
Serilog.Sinks.Console 6.0.0 dotnet
Serilog.Sinks.Debug 2.0.0 dotnet
Serilog.Sinks.File 6.0.0 dotnet
Serilog.Sinks.Graylog 3.1.1 dotnet
ShimSkiaSharp 2.0.0.1 dotnet
SkiaSharp 2.88.9 dotnet
SkiaSharp.HarfBuzz 2.88.9 dotnet
SkiaSharp.NativeAssets.Linux 2.88.9 dotnet
Svg.Custom 2.0.0.1 dotnet
Svg.Model 2.0.0.1 dotnet
Svg.Skia 2.0.0.1 dotnet
Swashbuckle.AspNetCore 6.2.3 dotnet
Swashbuckle.AspNetCore.ReDoc 6.5.0 dotnet
Swashbuckle.AspNetCore.Swagger 6.2.3 dotnet
Swashbuckle.AspNetCore.SwaggerGen 6.2.3 dotnet
Swashbuckle.AspNetCore.SwaggerUI 6.2.3 dotnet
System.Drawing.Common 8.0.8 dotnet
System.Linq.Async 6.0.1 dotnet
TMDbLib 2.2.0 dotnet
TagLibSharp 2.3.0 dotnet
UTF.Unknown 2.5.1 dotnet
Ude.NetStandard 1.2.0 dotnet
adduser 3.137ubuntu1 deb
apt 2.7.14build2 deb
apt-utils 2.7.14build2 deb
at 3.2.5-2.1ubuntu3 deb
base-files 13ubuntu10.2 deb
base-passwd 3.6.3build1 deb
bash 5.2.21-2ubuntu4 deb
bsdutils 1:2.39.3-9ubuntu6.2 deb
ca-certificates 20240203 deb
catatonit 0.1.7-1 deb
coreutils 9.4-3ubuntu6 deb
cron 3.0pl1-184ubuntu2 deb
cron-daemon-common 3.0pl1-184ubuntu2 deb
curl 8.5.0-2ubuntu10.6 deb
dash 0.5.12-6ubuntu5 deb
debconf 1.5.86ubuntu1 deb
debianutils 5.17build1 deb
diffutils 1:3.10-1build1 deb
dirmngr 2.4.4-2ubuntu17.2 deb
dpkg 1.22.6ubuntu6.1 deb
e2fsprogs 1.47.0-2.4~exp1ubuntu4.1 deb
findutils 4.9.0-5build1 deb
fontconfig-config 2.15.0-1.1ubuntu2 deb
fonts-dejavu-core 2.37-8 deb
fonts-dejavu-mono 2.37-8 deb
gcc-14-base 14.2.0-4ubuntu2~24.04 deb
gnupg 2.4.4-2ubuntu17.2 deb
gnupg-l10n 2.4.4-2ubuntu17.2 deb
gnupg-utils 2.4.4-2ubuntu17.2 deb
gpg 2.4.4-2ubuntu17.2 deb
gpg-agent 2.4.4-2ubuntu17.2 deb
gpg-wks-client 2.4.4-2ubuntu17.2 deb
gpgconf 2.4.4-2ubuntu17.2 deb
gpgsm 2.4.4-2ubuntu17.2 deb
gpgv 2.4.4-2ubuntu17.2 deb
grep 3.11-4build1 deb
gzip 1.12-1ubuntu3 deb
hostname 3.23+nmu2ubuntu2 deb
init-system-helpers 1.66ubuntu1 deb
jellyfin 10.10.7+ubu2404 deb
jellyfin 24.04 dotnet
jellyfin-ffmpeg7 7.1.1-3-noble deb
jellyfin-server 10.10.7+ubu2404 deb
jellyfin-web 10.10.7+ubu2404 deb
jq 1.7.1-3build1 deb
keyboxd 2.4.4-2ubuntu17.2 deb
krb5-locales 1.20.1-6ubuntu2.5 deb
libacl1 2.3.2-1build1.1 deb
libapt-pkg6.0t64 2.7.14build2 deb
libassuan0 2.5.6-1build1 deb
libattr1 1:2.5.2-1build1.1 deb
libaudit-common 1:3.1.2-2.1build1.1 deb
libaudit1 1:3.1.2-2.1build1.1 deb
libblkid1 2.39.3-9ubuntu6.2 deb
libbluray2 1:1.3.4-1build1 deb
libbrotli1 1.1.0-2build2 deb
libbsd0 0.12.1-1build1.1 deb
libbz2-1.0 1.0.8-5.1build0.1 deb
libc-bin 2.39-0ubuntu8.4 deb
libc6 2.39-0ubuntu8.4 deb
libcairo2 1.18.0-3build1 deb
libcap-ng0 0.8.4-2build2 deb
libcap2 1:2.66-5ubuntu2.2 deb
libcom-err2 1.47.0-2.4~exp1ubuntu4.1 deb
libcrypt1 1:4.4.36-4build1 deb
libcurl4t64 8.5.0-2ubuntu10.6 deb
libdb5.3t64 5.3.28+dfsg2-7 deb
libdebconfclient0 0.271ubuntu3 deb
libelf1t64 0.190-1.1ubuntu0.1 deb
libexpat1 2.6.1-2ubuntu0.3 deb
libext2fs2t64 1.47.0-2.4~exp1ubuntu4.1 deb
libffi8 3.4.6-1build1 deb
libfontconfig1 2.15.0-1.1ubuntu2 deb
libfreetype6 2.13.2+dfsg-1build3 deb
libgcc-s1 14.2.0-4ubuntu2~24.04 deb
libgcrypt20 1.10.3-2build1 deb
libgmp10 2:6.3.0+dfsg-2ubuntu6.1 deb
libgnutls30t64 3.8.3-1.1ubuntu3.3 deb
libgpg-error0 1.47-3build2.1 deb
libgssapi-krb5-2 1.20.1-6ubuntu2.5 deb
libhogweed6t64 3.9.1-2.2build1.1 deb
libicu74 74.2-1ubuntu3.1 deb
libidn2-0 2.3.7-2build1.1 deb
libjq1 1.7.1-3build1 deb
libk5crypto3 1.20.1-6ubuntu2.5 deb
libkeyutils1 1.6.3-3build1 deb
libkrb5-3 1.20.1-6ubuntu2.5 deb
libkrb5support0 1.20.1-6ubuntu2.5 deb
libksba8 1.6.6-1build1 deb
libldap-common 2.6.7+dfsg-1~exp1ubuntu8.2 deb
libldap2 2.6.7+dfsg-1~exp1ubuntu8.2 deb
liblz4-1 1.9.4-1build1.1 deb
liblzma5 5.6.1+really5.4.5-1ubuntu0.2 deb
libmd0 1.1.0-2build1.1 deb
libmount1 2.39.3-9ubuntu6.2 deb
libmp3lame0 3.100-6build1 deb
libmpg123-0t64 1.32.5-1ubuntu1.1 deb
libncursesw6 6.4+20240113-1ubuntu2 deb
libnettle8t64 3.9.1-2.2build1.1 deb
libnghttp2-14 1.59.0-1ubuntu0.2 deb
libnpth0t64 1.6-3.1build1 deb
libnuma1 2.0.18-1build1 deb
libogg0 1.3.5-3build1 deb
libonig5 6.9.9-1build1 deb
libopenmpt0t64 0.7.3-1.1build3 deb
libopus0 1.4-1build1 deb
libp11-kit0 0.25.3-4ubuntu2.1 deb
libpam-modules 1.5.3-5ubuntu5.1 deb
libpam-modules-bin 1.5.3-5ubuntu5.1 deb
libpam-runtime 1.5.3-5ubuntu5.1 deb
libpam0g 1.5.3-5ubuntu5.1 deb
libpciaccess0 0.17-3build1 deb
libpcre2-8-0 10.42-4ubuntu2.1 deb
libpixman-1-0 0.42.2-1build1 deb
libpng16-16t64 1.6.43-5build1 deb
libproc2-0 2:4.0.4-4ubuntu3.2 deb
libpsl5t64 0.21.2-1.1build1 deb
libreadline8t64 8.2-4build1 deb
librtmp1 2.4+20151223.gitfa8646d.1-2build7 deb
libsasl2-2 2.1.28+dfsg1-5ubuntu3.1 deb
libsasl2-modules 2.1.28+dfsg1-5ubuntu3.1 deb
libsasl2-modules-db 2.1.28+dfsg1-5ubuntu3.1 deb
libse 4.0.8 dotnet
libseccomp2 2.5.5-1ubuntu3.1 deb
libselinux1 3.5-2ubuntu2.1 deb
libsemanage-common 3.5-1build5 deb
libsemanage2 3.5-1build5 deb
libsepol2 3.5-2build1 deb
libsharpyuv0 1.3.2-0.4build3 deb
libsmartcols1 2.39.3-9ubuntu6.2 deb
libsqlite3-0 3.45.1-1ubuntu2.1 deb
libss2 1.47.0-2.4~exp1ubuntu4.1 deb
libssh-4 0.10.6-2build2 deb
libssl3t64 3.0.13-0ubuntu3.5 deb
libstdc++6 14.2.0-4ubuntu2~24.04 deb
libsystemd0 255.4-1ubuntu8.6 deb
libtasn1-6 4.19.0-3ubuntu0.24.04.1 deb
libtheora0 1.1.1+dfsg.1-16.1build3 deb
libtinfo6 6.4+20240113-1ubuntu2 deb
libudev1 255.4-1ubuntu8.6 deb
libudfread0 1.1.2-1build1 deb
libunistring5 1.1-2build1.1 deb
libuuid1 2.39.3-9ubuntu6.2 deb
libvorbis0a 1.3.7-1build3 deb
libvorbisenc2 1.3.7-1build3 deb
libvorbisfile3 1.3.7-1build3 deb
libvpx9 1.14.0-1ubuntu2.1 deb
libwebp7 1.3.2-0.4build3 deb
libwebpmux3 1.3.2-0.4build3 deb
libx11-6 2:1.8.7-1build1 deb
libx11-data 2:1.8.7-1build1 deb
libx11-xcb1 2:1.8.7-1build1 deb
libx264-164 2:0.164.3108+git31e19f9-1 deb
libx265-199 3.5-2build1 deb
libxau6 1:1.0.9-1build6 deb
libxcb-dri3-0 1.15-1ubuntu2 deb
libxcb-present0 1.15-1ubuntu2 deb
libxcb-randr0 1.15-1ubuntu2 deb
libxcb-render0 1.15-1ubuntu2 deb
libxcb-shm0 1.15-1ubuntu2 deb
libxcb-sync1 1.15-1ubuntu2 deb
libxcb-xfixes0 1.15-1ubuntu2 deb
libxcb1 1.15-1ubuntu2 deb
libxdmcp6 1:1.1.3-0ubuntu6 deb
libxext6 2:1.3.4-1build2 deb
libxml2 2.9.14+dfsg-1.3ubuntu3.3 deb
libxrender1 1:0.9.10-1.1build1 deb
libxshmfence1 1.3-1build5 deb
libxslt1.1 1.1.39-0exp1ubuntu0.24.04.2 deb
libxxhash0 0.8.2-2build1 deb
libzstd1 1.5.5+dfsg2-2build1.1 deb
libzvbi-common 0.2.42-2 deb
libzvbi0t64 0.2.42-2 deb
locales 2.39-0ubuntu8.4 deb
login 1:4.13+dfsg1-4ubuntu3.2 deb
logsave 1.47.0-2.4~exp1ubuntu4.1 deb
mawk 1.3.4.20240123-1build1 deb
mesa-va-drivers 24.2.8-1ubuntu1~24.04.1 deb
mount 2.39.3-9ubuntu6.2 deb
ncurses-base 6.4+20240113-1ubuntu2 deb
ncurses-bin 6.4+20240113-1ubuntu2 deb
netcat-openbsd 1.226-1ubuntu2 deb
ocl-icd-libopencl1 2.3.2-1build1 deb
openssl 3.0.13-0ubuntu3.5 deb
passwd 1:4.13+dfsg1-4ubuntu3.2 deb
perl-base 5.38.2-3.2ubuntu0.1 deb
pinentry-curses 1.2.1-3ubuntu5 deb
procps 2:4.0.4-4ubuntu3.2 deb
prometheus-net 8.2.1 dotnet
prometheus-net.AspNetCore 8.2.1 dotnet
prometheus-net.DotNetRuntime 4.4.1 dotnet
publicsuffix 20231001.0357-0.1 deb
readline-common 8.2-4build1 deb
runtimepack.Microsoft.AspNetCore.App.Runtime.linux-x64 8.0.14 dotnet
runtimepack.Microsoft.NETCore.App.Runtime.linux-x64 8.0.14 dotnet
sed 4.9-2build1 deb
sensible-utils 0.0.22 deb
systemd-standalone-sysusers 255.4-1ubuntu8.6 deb
sysvinit-utils 3.08-6ubuntu3 deb
tar 1.35+dfsg-3build1 deb
tzdata 2025b-0ubuntu0.24.04 deb
ubuntu-keyring 2023.11.28.1 deb
unminimize 0.2.1 deb
util-linux 2.39.3-9ubuntu6.2 deb
xmlstarlet 1.6.1-4 deb
z440.atl.core 6.20.0 dotnet
zlib.net-mutliplatform 1.0.8 dotnet
zlib1g 1:1.3.dfsg-3.1ubuntu2.1 deb

View File

@@ -2,86 +2,162 @@
# project information
project_name: jellyfin
project_url: "https://jellyfin.github.io/"
project_logo: "https://raw.githubusercontent.com/jellyfin/jellyfin-ux/master/branding/SVG/banner-logo-solid.svg?sanitize=true"
project_url: "https://github.com/jellyfin/jellyfin"
project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jellyfin-logo.png"
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
project_categories: "Media Servers,Music,Audiobooks"
project_blurb: "[{{ project_name|capitalize }}]({{ project_url }}) is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps. Jellyfin is descended from Emby's 3.5.2 release and ported to the .NET Core framework to enable full cross-platform support. There are no strings attached, no premium licenses or features, and no hidden agendas: just a team who want to build something better and work together to achieve it."
# supported architectures
available_architectures:
- { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"}
- {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
- {arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
# development version
development_versions: true
development_versions_items:
- {tag: "latest", desc: "Stable Jellyfin releases"}
- {tag: "nightly", desc: "Nightly Jellyfin releases"}
# container parameters
common_param_env_vars_enabled: true #PGID, PUID, etc
param_container_name: "{{ project_name }}"
param_usage_include_vols: true
param_volumes:
- { vol_path: "/config", vol_host_path: "</path/to/library>", desc: "Jellyfin data storage location. *This can grow very large, 50gb+ is likely for a large collection.*" }
- { vol_path: "/data/tvshows", vol_host_path: "<path/to/tvseries>", desc: "Media goes here. Add as many as needed e.g. `/data/movies`, `/data/tv`, etc." }
- { vol_path: "/data/movies", vol_host_path: "</path/to/movies>", desc: "Media goes here. Add as many as needed e.g. `/data/movies`, `/data/tv`, etc." }
- {vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/library", desc: "Jellyfin data storage location. *This can grow very large, 50gb+ is likely for a large collection.*"}
- {vol_path: "/data/tvshows", vol_host_path: "/path/to/tvseries", desc: "Media goes here. Add as many as needed e.g. `/data/movies`, `/data/tv`, etc."}
- {vol_path: "/data/movies", vol_host_path: "/path/to/movies", desc: "Media goes here. Add as many as needed e.g. `/data/movies`, `/data/tv`, etc."}
param_usage_include_ports: true
param_ports:
- { external_port: "8096", internal_port: "8096", port_desc: "Http webUI." }
- {external_port: "8096", internal_port: "8096", port_desc: "Http webUI."}
param_usage_include_env: true
param_env_vars:
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"}
# optional container parameters
opt_param_usage_include_env: true
opt_param_env_vars:
- { env_var: "UMASK_SET", env_value: "<022>", desc: "for umask setting of Emby, default if left unset is 022."}
opt_param_usage_include_vols: true
opt_param_volumes:
- { vol_path: "/transcode", vol_host_path: "</path for transcoding>", desc: "Path for transcoding folder, *optional*." }
- { vol_path: "/opt/vc/lib", vol_host_path: "/opt/vc/lib", desc: "Path for Raspberry Pi OpenMAX libs *optional*." }
opt_param_device_map: true
opt_param_devices:
- { device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "Only needed if you want to use your Intel GPU for hardware accelerated video encoding (vaapi)." }
- { device_path: "/dev/vchiq", device_host_path: "/dev/vchiq", desc: "Only needed if you want to use your Raspberry Pi OpenMax video encoding (Bellagio)." }
- {env_var: "JELLYFIN_PublishedServerUrl", env_value: "http://192.168.0.5", desc: "Set the autodiscovery response domain or IP address, include http(s)://."}
opt_param_usage_include_ports: true
opt_param_ports:
- { external_port: "8920", internal_port: "8920", port_desc: "Https webUI (you need to setup your own certificate)." }
- {external_port: "8920", internal_port: "8920", port_desc: "Optional - Https webUI (you need to set up your own certificate)."}
- {external_port: "7359", internal_port: "7359/udp", port_desc: "Optional - Allows clients to discover Jellyfin on the local network."}
- {external_port: "1900", internal_port: "1900/udp", port_desc: "Optional - Service discovery used by DNLA and clients."}
optional_parameters: |
The [official documentation for ports](https://jellyfin.org/docs/general/networking/index.html) has additional ports that can provide auto discovery.
Service Discovery (`1900/udp`) - Since client auto-discover would break if this option were configurable, you cannot change this in the settings at this time. DLNA also uses this port and is required to be in the local subnet.
Client Discovery (`7359/udp`) - Allows clients to discover Jellyfin on the local network. A broadcast message to this port with "Who is Jellyfin Server?" will get a JSON response that includes the server address, ID, and name.
```
-p 7359:7359/udp \
-p 1900:1900/udp \
```
The [official documentation for environmentals](https://jellyfin.org/docs/general/administration/configuration.html) has additional environmentals that can provide additional configurability such as migrating to the native Jellyfin image.
# application setup block
app_setup_block_enabled: true
app_setup_block: |
Webui can be found at `http://<your-ip>:8096`
More information can be found in their official documentation [here](https://github.com/MediaBrowser/Wiki/wiki) .
More information can be found on the official documentation [here](https://jellyfin.org/docs/general/quick-start.html).
### Hardware Acceleration Enhancements
This section lists the enhancements we have made for hardware acceleration in this image specifically.
## Hardware Acceleration
### Intel
Hardware acceleration users for Intel Quicksync will need to mount their /dev/dri video device inside of the container by passing the following command when running or creating the container:
```--device=/dev/dri:/dev/dri```
To enable the OpenCL based DV, HDR10 and HLG tone-mapping, please refer to the OpenCL-Intel mod from here:
We will automatically ensure the abc user inside of the container has the proper permissions to access this device.
### Nvidia
Hardware acceleration users for Nvidia will need to install the container runtime provided by Nvidia on their host, instructions can be found here:
https://mods.linuxserver.io/?mod=jellyfin
https://github.com/NVIDIA/nvidia-docker
And follow this guide even if you are using iGPU: https://jellyfin.org/docs/general/administration/hardware-acceleration/intel/#configure-and-verify-lp-mode-on-linux
We automatically add the necessary environment variable that will utilise all the features available on a GPU on the host. Once nvidia-docker is installed on your host you will need to re/create the docker container with the nvidia container runtime `--runtime=nvidia` and add an environment variable `-e NVIDIA_VISIBLE_DEVICES=all` (can also be set to a specific gpu's UUID, this can be discovered by running `nvidia-smi --query-gpu=gpu_name,gpu_uuid --format=csv` ). NVIDIA automatically mounts the GPU and drivers from your host into the jellyfin docker container.
### OpenMAX (Raspberry Pi)
Hardware acceleration users for Raspberry Pi OpenMAX will need to mount their /dev/vchiq video device inside of the container and their system OpenMax libs by passing the following options when running or creating the container:
#### OpenMAX (Raspberry Pi)
Hardware acceleration users for Raspberry Pi MMAL/OpenMAX will need to mount their `/dev/vcsm` and `/dev/vchiq` video devices inside of the container and their system OpenMax libs by passing the following options when running or creating the container:
```
--device=/dev/vcsm:/dev/vcsm
--device=/dev/vchiq:/dev/vchiq
-v /opt/vc/lib:/opt/vc/lib
```
#### V4L2 (Raspberry Pi)
Hardware acceleration users for Raspberry Pi V4L2 will need to mount their `/dev/video1X` devices inside of the container by passing the following options when running or creating the container:
```
--device=/dev/video10:/dev/video10
--device=/dev/video11:/dev/video11
--device=/dev/video12:/dev/video12
```
readme_hwaccel: true
unraid_template_sync: false
# init diagram
init_diagram: |
"jellyfin:latest": {
docker-mods
base {
fix-attr +\nlegacy cont-init
}
docker-mods -> base
legacy-services
custom services
init-services -> legacy-services
init-services -> custom services
custom services -> legacy-services
legacy-services -> ci-service-check
init-migrations -> init-adduser
init-os-end -> init-config
init-config -> init-config-end
init-crontab-config -> init-config-end
init-jellyfin-video -> init-config-end
init-config -> init-crontab-config
init-mods-end -> init-custom-files
init-adduser -> init-device-perms
base -> init-envfile
init-config -> init-jellyfin-config
init-jellyfin-config -> init-jellyfin-video
base -> init-migrations
init-config-end -> init-mods
init-mods-package-install -> init-mods-end
init-mods -> init-mods-package-install
init-adduser -> init-os-end
init-device-perms -> init-os-end
init-envfile -> init-os-end
init-custom-files -> init-services
init-services -> svc-cron
svc-cron -> legacy-services
init-services -> svc-jellyfin
svc-jellyfin -> legacy-services
}
Base Images: {
"baseimage-ubuntu:noble"
}
"jellyfin:latest" <- Base Images
# changelog
changelogs:
- { date: "09.01.20:", desc: "Add Pi OpenMax support." }
- { date: "02.10.19:", desc: "Improve permission fixing for render & dvb devices." }
- { date: "31.07.19:", desc: "Add AMD drivers for vaapi support on x86." }
- { date: "13.06.19:", desc: "Add Intel drivers for vaapi support on x86." }
- { date: "07.06.19:", desc: "Initial release." }
- {date: "06.10.24:", desc: "Fix fontconfig cache path."}
- {date: "13.08.24:", desc: "Rebase to Ubuntu Noble."}
- {date: "01.05.24:", desc: "Increase verbosity of device permissions fixing."}
- {date: "12.02.24:", desc: "Use universal hardware acceleration blurb."}
- {date: "12.09.23:", desc: "Take ownership of plugin directories."}
- {date: "04.07.23:", desc: "Deprecate armhf. As announced [here](https://www.linuxserver.io/blog/a-farewell-to-arm-hf)"}
- {date: "07.12.22:", desc: "Rebase master to Jammy, migrate to s6v3."}
- {date: "11.06.22:", desc: "Switch to upstream repo's ffmpeg5 build."}
- {date: "05.01.22:", desc: "Specify Intel iHD driver versions to avoid mismatched libva errors."}
- {date: "25.12.21:", desc: "Fix video device group perms error message."}
- {date: "10.12.21:", desc: "Rework readme, disable template sync."}
- {date: "22.09.21:", desc: "Pull only the server, web and ffmpeg packages instead of the wrapper."}
- {date: "23.06.21:", desc: "Add log message if device permissions are incorrect. Pin jellyfin dependency versions to prevent upstream apt repo issues. Deprecate the `bionic` tag."}
- {date: "21.05.21:", desc: "Add nvidia.icd file to fix missing tonemapping using Nvidia HW."}
- {date: "20.01.21:", desc: "Add Jellyfin Binary Environmentals"}
- {date: "20.01.21:", desc: "Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information."}
- {date: "23.11.20:", desc: "Rebase to Focal, branch off Bionic."}
- {date: "22.07.20:", desc: "Ingest releases from Jellyfin repo."}
- {date: "28.04.20:", desc: "Replace MMAL/OMX dependency device `/dev/vc-mem` with `/dev/vcsm` as the former was not sufficient for raspbian."}
- {date: "11.04.20:", desc: "Enable hw decode (mmal) on Raspberry Pi, update readme instructions, add donation info, create missing default transcodes folder."}
- {date: "11.03.20:", desc: "Add Pi V4L2 support, remove optional transcode mapping (location is selected in the gui, defaults to path under `/config`)."}
- {date: "30.01.20:", desc: "Add nightly tag."}
- {date: "09.01.20:", desc: "Add Pi OpenMax support."}
- {date: "02.10.19:", desc: "Improve permission fixing for render & dvb devices."}
- {date: "31.07.19:", desc: "Add AMD drivers for vaapi support on x86."}
- {date: "13.06.19:", desc: "Add Intel drivers for vaapi support on x86."}
- {date: "07.06.19:", desc: "Initial release."}

1
root/donate.txt Normal file
View File

@@ -0,0 +1 @@
Jellyfin: https://opencollective.com/jellyfin

1
root/etc/OpenCL/vendors/nvidia.icd vendored Normal file
View File

@@ -0,0 +1 @@
libnvidia-opencl.so.1

View File

@@ -1,18 +0,0 @@
#!/usr/bin/with-contenv bash
# create directories
mkdir -p \
/config/{log,data,cache} \
/data \
/transcode
# permissions
chown abc:abc \
/config \
/config/* \
/data \
/transcode
if [ -n "$(ls -A /data 2>/dev/null)" ]; then
chown abc:abc \
/data/*
fi

View File

@@ -1,33 +0,0 @@
#!/usr/bin/with-contenv bash
FILES=$(find /dev/dri /dev/dvb /dev/vchiq -type c -print 2>/dev/null)
for i in $FILES
do
VIDEO_GID=$(stat -c '%g' "$i")
if id -G abc | grep -qw "$VIDEO_GID"; then
touch /groupadd
else
if [ ! "${VIDEO_GID}" == '0' ]; then
VIDEO_NAME=$(getent group "${VIDEO_GID}" | awk -F: '{print $1}')
if [ -z "${VIDEO_NAME}" ]; then
VIDEO_NAME="video$(head /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c8)"
groupadd "$VIDEO_NAME"
groupmod -g "$VIDEO_GID" "$VIDEO_NAME"
fi
usermod -a -G "$VIDEO_NAME" abc
touch /groupadd
fi
fi
done
if [ -n "${FILES}" ] && [ ! -f "/groupadd" ]; then
usermod -a -G root abc
fi
# openmax lib loading
if [ -e "/opt/vc/lib" ] && [ ! -e "/etc/ld.so.conf.d/00-vmcs.conf" ]; then
echo "[jellyfin-init] Pi Libs detected loading"
echo "/opt/vc/lib" > "/etc/ld.so.conf.d/00-vmcs.conf"
ldconfig
fi

View File

@@ -0,0 +1,17 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
# create directories
mkdir -p \
/config/{log,data/plugins/configurations,data/transcodes,cache} \
/data \
/transcode
# permissions
lsiown abc:abc \
/config \
/config/* \
/config/data/plugins \
/config/data/plugins/configurations \
/config/data/transcodes \
/transcode

View File

@@ -0,0 +1 @@
oneshot

View File

@@ -0,0 +1 @@
/etc/s6-overlay/s6-rc.d/init-jellyfin-config/run

View File

@@ -0,0 +1,42 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
FILES=$(find /dev/dri /dev/dvb /dev/vchiq /dev/vc-mem /dev/video1? -type c -print 2>/dev/null)
for i in ${FILES}; do
VIDEO_GID=$(stat -c '%g' "${i}")
VIDEO_UID=$(stat -c '%u' "${i}")
# check if user matches device
if id -u abc | grep -qw "${VIDEO_UID}"; then
echo "**** permissions for ${i} are good ****"
else
# check if group matches and that device has group rw
if id -G abc | grep -qw "${VIDEO_GID}" && [[ $(stat -c '%A' "${i}" | cut -b 5,6) == "rw" ]]; then
echo "**** permissions for ${i} are good ****"
# check if device needs to be added to video group
elif ! id -G abc | grep -qw "${VIDEO_GID}"; then
# check if video group needs to be created
VIDEO_NAME=$(getent group "${VIDEO_GID}" | awk -F: '{print $1}')
if [[ -z "${VIDEO_NAME}" ]]; then
VIDEO_NAME="video$(head /dev/urandom | tr -dc 'a-z0-9' | head -c4)"
groupadd "${VIDEO_NAME}"
groupmod -g "${VIDEO_GID}" "${VIDEO_NAME}"
echo "**** creating video group ${VIDEO_NAME} with id ${VIDEO_GID} ****"
fi
echo "**** adding ${i} to video group ${VIDEO_NAME} with id ${VIDEO_GID} ****"
usermod -a -G "${VIDEO_NAME}" abc
fi
# check if device has group rw
if [[ $(stat -c '%A' "${i}" | cut -b 5,6) != "rw" ]]; then
echo -e "**** The device ${i} does not have group read/write permissions, attempting to fix inside the container. ****"
chmod g+rw "${i}"
fi
fi
done
# openmax lib loading
if [[ -e "/opt/vc/lib" ]] && [[ ! -e "/etc/ld.so.conf.d/00-vmcs.conf" ]]; then
echo "[jellyfin-init] Pi Libs detected loading"
echo "/opt/vc/lib" > "/etc/ld.so.conf.d/00-vmcs.conf"
ldconfig
fi

View File

@@ -0,0 +1 @@
oneshot

View File

@@ -0,0 +1 @@
/etc/s6-overlay/s6-rc.d/init-jellyfin-video/run

View File

@@ -0,0 +1,11 @@
#!/bin/bash
if [[ -f "/config/network.xml" ]]; then
PORT=$(xmlstarlet sel -T -t -v /NetworkConfiguration/HttpServerPortNumber /config/network.xml)
fi
if [[ $(curl -sL "http://localhost:${PORT:-8096}/health" 2>/dev/null) = "Healthy" ]]; then
exit 0
else
exit 1
fi

View File

@@ -0,0 +1 @@
3

View File

@@ -0,0 +1,19 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
if [[ -z "${FFMPEG_PATH}" ]] || [[ ! -f "${FFMPEG_PATH}" ]]; then
FFMPEG_PATH=/usr/lib/jellyfin-ffmpeg/ffmpeg
fi
export \
HOME="/config" \
JELLYFIN_DATA_DIR="/config/data" \
JELLYFIN_CONFIG_DIR="/config" \
JELLYFIN_LOG_DIR="/config/log" \
JELLYFIN_CACHE_DIR="/config/cache" \
JELLYFIN_WEB_DIR="/usr/share/jellyfin/web"
exec \
s6-notifyoncheck -d -n 300 -w 1000 \
s6-setuidgid abc /usr/bin/jellyfin \
--ffmpeg="${FFMPEG_PATH}"

View File

@@ -0,0 +1 @@
longrun

View File

@@ -1,14 +0,0 @@
#!/usr/bin/with-contenv bash
export JELLYFIN_DATA_DIR="/config/data" \
JELLYFIN_CONFIG_DIR="/config" \
JELLYFIN_LOG_DIR="/config/log" \
JELLYFIN_CACHE_DIR="/config/cache"
# set umask
UMASK_SET=${UMASK_SET:-022}
umask "$UMASK_SET"
exec \
s6-setuidgid abc /usr/bin/jellyfin \
--ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg