Compare commits

...

275 commits

Author SHA1 Message Date
LinuxServer-CI
94a34153df
Bot Updating Package Versions 2025-04-23 18:55:02 +00:00
LinuxServer-CI
00f6247b8f
Bot Updating Package Versions 2025-04-20 16:56:53 +00:00
LinuxServer-CI
7efe71b5a8
Bot Updating Package Versions 2025-04-13 16:57:27 +00:00
LinuxServer-CI
bd27ee8a93
Bot Updating Package Versions 2025-04-06 16:57:41 +00:00
LinuxServer-CI
23a40b7899
Bot Updating Package Versions 2025-03-30 16:57:26 +00:00
LinuxServer-CI
18506c3e32
Bot Updating Package Versions 2025-03-24 16:33:23 +00:00
LinuxServer-CI
17844ee8d2
Bot Updating Package Versions 2025-03-23 16:57:29 +00:00
LinuxServer-CI
de1f4735a3
Bot Updating Package Versions 2025-03-18 13:43:39 +00:00
LinuxServer-CI
9e27211081
Bot Updating Package Versions 2025-03-16 16:59:06 +00:00
LinuxServer-CI
5c2fe653eb
Bot Updating Package Versions 2025-03-09 16:56:59 +00:00
LinuxServer-CI
5b78f43a9e
Bot Updating Package Versions 2025-02-25 17:34:28 +00:00
LinuxServer-CI
c2a9433ab0
Bot Updating Package Versions 2025-02-16 17:00:07 +00:00
LinuxServer-CI
e657acba40
Bot Updating Templated Files 2025-02-16 16:56:28 +00:00
LinuxServer-CI
60028b44db
Bot Updating Package Versions 2025-02-09 16:57:00 +00:00
LinuxServer-CI
bf51714473
Bot Updating Package Versions 2025-02-03 12:23:41 +00:00
LinuxServer-CI
25b8727630
Bot Updating Templated Files 2025-02-02 16:58:03 +00:00
LinuxServer-CI
57d1bddd08
Bot Updating Templated Files 2025-02-02 16:56:14 +00:00
quietsy
ffd57f108f
Merge pull request #245 from linuxserver/add-project-categories
Add categories to readme-vars.yml
2025-01-22 22:14:34 +02:00
quietsy
b3fbd06bd9 Add categories to readme-vars.yml 2025-01-22 20:43:57 +02:00
LinuxServer-CI
04fff57a35
Bot Updating Package Versions 2025-01-19 16:58:55 +00:00
LinuxServer-CI
eb5c7e523f
Bot Updating Package Versions 2025-01-12 16:57:50 +00:00
LinuxServer-CI
2992d72bca
Bot Updating Package Versions 2025-01-05 12:29:19 +00:00
LinuxServer-CI
af2b5216a8
Bot Updating Package Versions 2024-12-29 16:59:39 +00:00
LinuxServer-CI
c2433bf370
Bot Updating Package Versions 2024-12-25 23:15:41 +00:00
LinuxServer-CI
24a36f1e0d
Bot Updating Templated Files 2024-12-25 23:07:13 +00:00
Roxedus
f7f263c4b7
Merge pull request #244 from linuxserver/master-3.21 2024-12-26 00:02:21 +01:00
thespad
69376a23e7
Rebase to 3.21 2024-12-23 18:02:48 +00:00
LinuxServer-CI
010edf887f
Bot Updating Package Versions 2024-12-16 18:12:31 +00:00
LinuxServer-CI
f813b598aa
Bot Updating Templated Files 2024-12-16 18:08:39 +00:00
LinuxServer-CI
b6477bfc64
Bot Updating Templated Files 2024-12-15 17:00:31 +00:00
LinuxServer-CI
0d3f0cf1aa
Bot Updating Templated Files 2024-12-15 16:57:12 +00:00
LinuxServer-CI
2762606e65
Bot Updating Package Versions 2024-12-08 17:01:24 +00:00
LinuxServer-CI
75fd94ae0e
Bot Updating Templated Files 2024-12-08 16:58:13 +00:00
LinuxServer-CI
a79dcabe22
Bot Updating Templated Files 2024-12-08 16:55:57 +00:00
LinuxServer-CI
8d4d282394
Bot Updating Templated Files 2024-12-01 17:00:01 +00:00
LinuxServer-CI
d8142ca25f
Bot Updating Templated Files 2024-12-01 16:58:13 +00:00
LinuxServer-CI
56dbfec4dd
Bot Updating Templated Files 2024-12-01 16:56:23 +00:00
LinuxServer-CI
595a380d05
Bot Updating Package Versions 2024-11-19 07:53:00 +00:00
LinuxServer-CI
bbf7c930ec
Bot Updating Templated Files 2024-11-10 16:59:19 +00:00
LinuxServer-CI
a89bc9e999
Bot Updating Templated Files 2024-11-10 16:56:47 +00:00
LinuxServer-CI
ac77aa50d8
Bot Updating Package Versions 2024-10-26 14:43:41 +00:00
LinuxServer-CI
6f44961ead
Bot Updating Package Versions 2024-10-26 06:13:10 +00:00
LinuxServer-CI
e1d1fc38c9
Bot Updating Package Versions 2024-10-12 16:07:31 +00:00
LinuxServer-CI
4d7a883814
Bot Updating Package Versions 2024-09-29 17:03:27 +00:00
LinuxServer-CI
2aa2f9da6e
Bot Updating Templated Files 2024-09-29 17:00:09 +00:00
LinuxServer-CI
27edab6177
Bot Updating Templated Files 2024-09-29 16:58:29 +00:00
LinuxServer-CI
2aa3913fd9
Bot Updating Templated Files 2024-09-29 16:56:12 +00:00
LinuxServer-CI
dba996577f
Bot Updating Package Versions 2024-09-25 08:42:56 +00:00
LinuxServer-CI
d59d5b49fb
Bot Updating Package Versions 2024-09-22 16:57:48 +00:00
LinuxServer-CI
1924934abc
Bot Updating Package Versions 2024-09-21 00:45:08 +00:00
LinuxServer-CI
38317b3a26
Bot Updating Package Versions 2024-09-15 16:57:37 +00:00
LinuxServer-CI
8bd74a0f04
Bot Updating Package Versions 2024-09-08 16:57:54 +00:00
LinuxServer-CI
ea73a8a9c3
Bot Updating Package Versions 2024-09-01 16:56:44 +00:00
LinuxServer-CI
18b8f000de
Bot Updating Package Versions 2024-08-20 18:09:27 +00:00
LinuxServer-CI
c76fe36fd9
Bot Updating Templated Files 2024-08-18 16:58:40 +00:00
LinuxServer-CI
73cb13e87f Bot Updating Templated Files 2024-08-18 16:56:09 +00:00
LinuxServer-CI
05535d853c Bot Updating Package Versions 2024-08-11 16:58:06 +00:00
LinuxServer-CI
7124535660 Bot Updating Package Versions 2024-07-28 16:57:07 +00:00
LinuxServer-CI
cade8f8f5c Bot Updating Package Versions 2024-07-21 15:09:09 +00:00
LinuxServer-CI
3e5907a38b Bot Updating Package Versions 2024-07-14 17:05:27 +00:00
LinuxServer-CI
69d8f62fb7 Bot Updating Templated Files 2024-07-14 17:02:50 +00:00
LinuxServer-CI
39cce378fd Bot Updating Templated Files 2024-07-14 17:00:26 +00:00
Roxedus
78e3ce75ab
Merge pull request #235 from linuxserver/master-ro-tweaks
Move tmpdir, set COMPlus_EnableDiagnostics (master)
2024-07-08 01:17:00 +02:00
thespad
f30bb696ba
Move tmpdir, set COMPlus_EnableDiagnostics 2024-07-03 19:22:13 +01:00
LinuxServer-CI
e5f5908a36 Bot Updating Package Versions 2024-06-30 16:57:00 +00:00
LinuxServer-CI
8e9abba250 Bot Updating Package Versions 2024-06-23 16:56:46 +00:00
LinuxServer-CI
4d436ec198 Bot Updating Package Versions 2024-06-20 14:03:54 +00:00
LinuxServer-CI
d8004a9460 Bot Updating Package Versions 2024-06-16 16:57:14 +00:00
LinuxServer-CI
76010201aa Bot Updating Package Versions 2024-06-09 16:57:12 +00:00
LinuxServer-CI
8330d4204b Bot Updating Package Versions 2024-05-31 16:13:27 +00:00
Adam
78c5b44e2f
Merge pull request #232 from linuxserver/master-3.20
Rebase to 3.20 (master)
2024-05-31 17:10:23 +01:00
thespad
60fce1b1c5
Increase CI timeout for slow arm tests 2024-05-31 15:23:34 +01:00
thespad
f5119d3c66
Rebase to 3.20 2024-05-31 15:09:22 +01:00
LinuxServer-CI
60c4853f78 Bot Updating Package Versions 2024-05-26 17:01:21 +00:00
LinuxServer-CI
205a78c0dc Bot Updating Templated Files 2024-05-26 16:58:40 +00:00
LinuxServer-CI
554cc9b1bb Bot Updating Templated Files 2024-05-26 16:56:43 +00:00
LinuxServer-CI
859d41ea4e Bot Updating Package Versions 2024-05-19 16:58:14 +00:00
LinuxServer-CI
a4dc435ba8 Bot Updating Package Versions 2024-05-14 17:24:03 +00:00
LinuxServer-CI
53052dd9e2 Bot Updating Package Versions 2024-05-13 02:07:14 +00:00
LinuxServer-CI
c1000f11c1 Bot Updating Package Versions 2024-05-12 17:00:18 +00:00
LinuxServer-CI
6f2da27252 Bot Updating Templated Files 2024-05-12 16:57:16 +00:00
LinuxServer-CI
de45423853 Bot Updating Templated Files 2024-05-05 16:56:33 +00:00
LinuxServer-CI
ce08e04a99 Bot Updating Package Versions 2024-04-21 16:56:48 +00:00
LinuxServer-CI
8980f6493f Bot Updating Package Versions 2024-04-14 22:44:09 +00:00
LinuxServer-CI
3ed4adc84b Bot Updating Package Versions 2024-04-13 05:48:42 +00:00
LinuxServer-CI
0486dc1d7b Bot Updating Package Versions 2024-04-07 16:57:10 +00:00
LinuxServer-CI
7e00dda165 Bot Updating Package Versions 2024-03-31 16:56:54 +00:00
LinuxServer-CI
41efeffc56 Bot Updating Package Versions 2024-03-24 16:57:17 +00:00
LinuxServer-CI
bb0a914ab9 Bot Updating Package Versions 2024-03-20 19:16:15 +00:00
Adam
e8889b3f7a
Merge pull request #226 from linuxserver/master-3.19
Rebase to 3.19 (master)
2024-03-20 19:12:41 +00:00
TheSpad
41b40e8185
Rebase to 3.19 2024-03-20 17:28:50 +00:00
LinuxServer-CI
dccdd7fae1 Bot Updating Templated Files 2024-03-17 16:57:28 +00:00
LinuxServer-CI
0cad2849ab Bot Updating Package Versions 2024-03-03 16:57:05 +00:00
driz
df7977e5d0
Merge pull request #223 from linuxserver/ci
fix ci screenshot
2024-02-27 10:37:26 -05:00
aptalca
49ae898103
fix ci screenshot 2024-02-27 10:09:24 -05:00
LinuxServer-CI
6c0bd2df7e Bot Updating Templated Files 2024-02-25 16:58:43 +00:00
LinuxServer-CI
b8dcc57f82 Bot Updating Templated Files 2024-02-25 16:56:32 +00:00
LinuxServer-CI
f0cf35eb43 Bot Updating Package Versions 2024-02-18 17:33:59 +00:00
LinuxServer-CI
a95508d1d2 Bot Updating Package Versions 2024-02-11 16:56:52 +00:00
LinuxServer-CI
56c8fd01db Bot Updating Package Versions 2024-02-04 16:58:18 +00:00
LinuxServer-CI
0344082663 Bot Updating Package Versions 2024-01-28 16:58:33 +00:00
LinuxServer-CI
68ebf1d878 Bot Updating Package Versions 2024-01-21 16:57:17 +00:00
LinuxServer-CI
ca45013865 Bot Updating Package Versions 2024-01-14 17:05:28 +00:00
LinuxServer-CI
54b36c2603 Bot Updating Templated Files 2024-01-14 17:01:40 +00:00
LinuxServer-CI
61592f938d Bot Updating Templated Files 2024-01-14 16:58:01 +00:00
LinuxServer-CI
d27e01a33e Bot Updating Package Versions 2023-12-31 16:56:41 +00:00
LinuxServer-CI
841179d751 Bot Updating Package Versions 2023-12-24 16:58:03 +00:00
LinuxServer-CI
8eae2962ab Bot Updating Package Versions 2023-12-10 16:57:06 +00:00
LinuxServer-CI
59cf4a40b6 Bot Updating Package Versions 2023-12-03 16:57:03 +00:00
LinuxServer-CI
052a0ec4be Bot Updating Package Versions 2023-11-19 16:59:55 +00:00
LinuxServer-CI
8cef9f74af Bot Updating Templated Files 2023-11-19 16:57:17 +00:00
LinuxServer-CI
9956886a8a Bot Updating Package Versions 2023-11-11 21:37:07 +00:00
LinuxServer-CI
2846848dd4 Bot Updating Package Versions 2023-10-29 16:56:53 +00:00
LinuxServer-CI
d51f14b6db Bot Updating Package Versions 2023-10-15 16:56:42 +00:00
LinuxServer-CI
e458652cbb Bot Updating Package Versions 2023-10-08 04:05:34 +00:00
LinuxServer-CI
231d2e4fb7 Bot Updating Templated Files 2023-10-08 04:02:51 +00:00
LinuxServer-CI
7ff1300e09 Bot Updating Templated Files 2023-10-08 03:59:26 +00:00
LinuxServer-CI
217e148d4b Bot Updating Package Versions 2023-10-01 16:56:40 +00:00
LinuxServer-CI
a7125bcdda Bot Updating Package Versions 2023-09-24 16:57:19 +00:00
LinuxServer-CI
828a9f14ae Bot Updating Package Versions 2023-09-03 16:59:54 +00:00
LinuxServer-CI
175703b76a Bot Updating Package Versions 2023-08-20 16:56:49 +00:00
LinuxServer-CI
cf7653e76b Bot Updating Package Versions 2023-08-14 00:42:12 +00:00
LinuxServer-CI
9200a1c7e9 Bot Updating Package Versions 2023-08-13 16:56:44 +00:00
LinuxServer-CI
e5ad1973be Bot Updating Package Versions 2023-08-06 16:56:35 +00:00
LinuxServer-CI
d1d63db219 Bot Updating Package Versions 2023-07-30 16:57:49 +00:00
LinuxServer-CI
4dd2389a36 Bot Updating Package Versions 2023-07-23 16:56:31 +00:00
LinuxServer-CI
7a5a2757e1 Bot Updating Package Versions 2023-07-16 16:56:45 +00:00
LinuxServer-CI
c6c16b4cb1 Bot Updating Package Versions 2023-07-09 16:56:50 +00:00
LinuxServer-CI
8e9ab55d84 Bot Updating Package Versions 2023-07-04 03:31:27 +00:00
LinuxServer-CI
6f40cb383c Bot Updating Package Versions 2023-07-02 16:59:52 +00:00
LinuxServer-CI
4b0e5d798a Bot Updating Templated Files 2023-07-02 16:56:20 +00:00
LinuxServer-CI
46345e9b41 Bot Updating Package Versions 2023-06-21 17:17:40 +00:00
LinuxServer-CI
c548b7dfed Bot Updating Templated Files 2023-06-21 17:15:19 +00:00
Adam
0b4d7cdc29
Merge pull request #207 from linuxserver/master-3.18 2023-06-21 18:13:48 +01:00
LinuxServer-CI
2592ebdf3c Bot Updating Package Versions 2023-06-18 16:58:02 +00:00
TheSpad
48d28e4fca
Add link to armhf deprecation blogpost 2023-06-17 14:39:09 +01:00
TheSpad
2e8c2cda66
Rebase to 3.18 (master) 2023-06-06 15:31:01 +01:00
LinuxServer-CI
5a94c2d1bb Bot Updating Package Versions 2023-06-04 16:56:34 +00:00
LinuxServer-CI
74cd2fdf72 Bot Updating Package Versions 2023-05-28 15:39:04 +00:00
LinuxServer-CI
b5e43e6023 Bot Updating Templated Files 2023-05-28 15:36:39 +00:00
LinuxServer-CI
553a44d22f Bot Updating Package Versions 2023-05-21 16:56:08 +00:00
LinuxServer-CI
bf0a73d8a2 Bot Updating Package Versions 2023-05-07 16:56:02 +00:00
LinuxServer-CI
8e7b83b40f Bot Updating Templated Files 2023-04-30 11:58:25 -05:00
LinuxServer-CI
40748a545d Bot Updating Templated Files 2023-04-30 11:56:37 -05:00
LinuxServer-CI
76b6c295d1 Bot Updating Package Versions 2023-04-23 11:57:24 -05:00
Adam
99c73e2807
Merge pull request #200 from linuxserver/master-ping 2023-04-15 17:42:53 +01:00
LinuxServer-CI
34436c8ee0 Bot Updating Package Versions 2023-04-15 18:00:08 +02:00
LinuxServer-CI
8f9dd9b817 Bot Updating Package Versions 2023-04-09 11:56:51 -05:00
LinuxServer-CI
ecffaa82b0 Bot Updating Package Versions 2023-04-03 11:04:00 -05:00
LinuxServer-CI
a06506c306 Bot Updating Templated Files 2023-04-03 11:01:14 -05:00
LinuxServer-CI
66c9c2305f Bot Updating Templated Files 2023-04-03 10:59:33 -05:00
LinuxServer-CI
1422f3d533 Bot Updating Templated Files 2023-04-03 10:57:59 -05:00
LinuxServer-CI
acededb0cb Bot Updating Package Versions 2023-03-27 17:58:25 +02:00
LinuxServer-CI
9e06068d51 Bot Updating Package Versions 2023-03-06 17:02:40 +01:00
LinuxServer-CI
9549f1a4dc Bot Updating Templated Files 2023-03-06 09:59:04 -06:00
LinuxServer-CI
dcd841ee9c Bot Updating Package Versions 2023-02-27 09:58:35 -06:00
TheSpad
1f41018a92
Use /ping endpoint for readiness checks 2023-02-24 10:05:57 +00:00
LinuxServer-CI
60fbf2502b Bot Updating Package Versions 2023-02-20 09:58:36 -06:00
LinuxServer-CI
139ce6b7b3 Bot Updating Templated Files 2023-02-13 15:58:44 +00:00
LinuxServer-CI
7ceb6a4d96 Bot Updating Templated Files 2023-02-13 15:57:37 +00:00
LinuxServer-CI
22b5969e1f Bot Updating Package Versions 2023-01-18 10:36:26 +01:00
Adam
e66f4ce1ad
Merge pull request #195 from linuxserver/s6v3 2023-01-18 09:33:40 +00:00
TheSpad
65930046a0
Update CI test path 2023-01-18 09:12:39 +00:00
TheSpad
f1b05cdfb6
Rebase to 3.17, migrate to s6v3 2023-01-17 18:01:23 +00:00
LinuxServer-CI
ce75c340c7 Bot Updating Package Versions 2022-12-26 16:58:09 +01:00
LinuxServer-CI
b90d04aa37 Bot Updating Templated Files 2022-12-05 10:00:48 -06:00
LinuxServer-CI
4247f5832e Bot Updating Templated Files 2022-12-05 09:59:22 -06:00
LinuxServer-CI
9317c437bb Bot Updating Templated Files 2022-12-05 09:57:59 -06:00
LinuxServer-CI
309792b90e Bot Updating Package Versions 2022-11-14 17:00:36 +01:00
LinuxServer-CI
0d5fb5449d Bot Updating Templated Files 2022-11-14 16:58:03 +01:00
LinuxServer-CI
dc89ad5776 Bot Updating Package Versions 2022-11-07 09:58:25 -06:00
Adam
6b13011f6c
Merge pull request #189 from linuxserver/servicefile 2022-11-01 14:04:45 +00:00
TheSpad
5648c686cb
Make servicefile executable 2022-11-01 09:03:03 +00:00
LinuxServer-CI
265c11cf1d Bot Updating Package Versions 2022-10-31 15:59:06 +00:00
LinuxServer-CI
534ee73940 Bot Updating Templated Files 2022-09-19 18:00:58 +02:00
LinuxServer-CI
7e13352048 Bot Updating Package Versions 2022-09-05 10:58:27 -05:00
LinuxServer-CI
44a9d2c767 Bot Updating Package Versions 2022-08-29 10:58:18 -05:00
LinuxServer-CI
c0b380852b Bot Updating Package Versions 2022-08-15 17:58:15 +02:00
LinuxServer-CI
4218b2e2fe Bot Updating Package Versions 2022-08-08 17:58:51 +02:00
LinuxServer-CI
3cae9b5a84 Bot Updating Package Versions 2022-08-01 11:00:05 -05:00
LinuxServer-CI
4084034ca9 Bot Updating Package Versions 2022-07-25 10:58:40 -05:00
LinuxServer-CI
d27b8a7b58 Bot Updating Package Versions 2022-07-11 11:02:52 -05:00
LinuxServer-CI
dd854558cb Bot Updating Package Versions 2022-07-04 10:58:13 -05:00
Adam
e9e3c8134f
Merge pull request #178 from linuxserver/remove-warning 2022-06-21 21:15:25 +01:00
TheSpad
4456d1283e
Remove alpine warning message 2022-06-21 18:27:11 +01:00
LinuxServer-CI
c2ea830e49 Bot Updating Package Versions 2022-06-14 11:25:52 -05:00
aptalca
326f88b81a
Merge pull request #173 from linuxserver/master-alpine
Rebase master to Alpine 3.15
2022-06-14 12:17:18 -04:00
LinuxServer-CI
a6bbbcb438 Bot Updating Package Versions 2022-06-13 18:03:30 +02:00
TheSpad
99e75d1230
Actually use alpine baseimages 2022-06-06 21:05:36 +01:00
TheSpad
3a0b5e2917
Use apk 2022-06-06 21:01:33 +01:00
TheSpad
673f843517
Rebase master to Alpine 3.15 2022-06-06 20:58:38 +01:00
LinuxServer-CI
3a15f55495 Bot Updating Package Versions 2022-05-30 18:01:05 +02:00
LinuxServer-CI
9d88ec2328 Bot Updating Package Versions 2022-05-23 10:59:00 -05:00
LinuxServer-CI
aabc95b5d7 Bot Updating Package Versions 2022-05-16 10:59:12 -05:00
LinuxServer-CI
1a00780014 Bot Updating Package Versions 2022-05-09 17:58:48 +02:00
LinuxServer-CI
2599e18a54 Bot Updating Package Versions 2022-05-02 11:04:07 -05:00
LinuxServer-CI
4a9afb69b8 Bot Updating Templated Files 2022-05-02 11:01:21 -05:00
LinuxServer-CI
779a7afa82 Bot Updating Templated Files 2022-05-02 10:59:58 -05:00
LinuxServer-CI
fc2372856b Bot Updating Package Versions 2022-04-04 10:58:23 -05:00
LinuxServer-CI
b8688843e5 Bot Updating Package Versions 2022-03-28 17:58:38 +02:00
LinuxServer-CI
d5edbcd5df Bot Updating Package Versions 2022-03-14 16:58:34 +01:00
LinuxServer-CI
9d1b080895 Bot Updating Package Versions 2022-03-05 05:00:45 +01:00
LinuxServer-CI
429de4b0fd Bot Updating Templated Files 2022-02-21 17:47:30 +01:00
Adam
081333aa71
Merge pull request #166 from linuxserver/readme-develop-alpine 2022-02-21 16:46:26 +00:00
LinuxServer-CI
4828a3d541 Bot Updating Package Versions 2022-02-21 16:58:20 +01:00
TheSpad
feebe3c6b4 Add changelog note for develop Alpine rebase 2022-02-20 12:21:50 +00:00
LinuxServer-CI
8c6f65749d Bot Updating Templated Files 2022-02-05 21:04:01 +01:00
Roxedus
215f13c384
Merge pull request #164 from linuxserver/readme-nightly-alpine 2022-02-05 21:02:42 +01:00
TheSpad
86619dc69b Add changelog notes for nightly rebase/nightly-alpine deprecate 2022-02-04 11:42:21 +00:00
LinuxServer-CI
ce13046b95 Bot Updating Package Versions 2022-01-24 16:58:13 +01:00
LinuxServer-CI
93afb09dfc Bot Updating Package Versions 2022-01-17 16:58:52 +01:00
LinuxServer-CI
746d788889 Bot Updating Templated Files 2021-12-29 21:23:48 +01:00
Adam
dd4291e54f
Merge pull request #155 from linuxserver/update-readme 2021-12-29 20:22:22 +00:00
TheSpad
0b33659239 Add nightly-alpine branch to readme 2021-12-27 20:50:31 +00:00
LinuxServer-CI
434484ab08 Bot Updating Package Versions 2021-12-27 17:11:25 +01:00
LinuxServer-CI
b5857f308c Bot Updating Package Versions 2021-12-20 17:02:05 +01:00
LinuxServer-CI
84aece75eb Bot Updating Templated Files 2021-12-20 16:59:13 +01:00
LinuxServer-CI
0087caba09 Bot Updating Templated Files 2021-12-20 16:57:46 +01:00
LinuxServer-CI
a662f4fe63 Bot Updating Package Versions 2021-11-29 16:58:48 +01:00
LinuxServer-CI
2e34d9bc69 Bot Updating Package Versions 2021-11-22 16:58:54 +01:00
LinuxServer-CI
da14950d8e Bot Updating Package Versions 2021-11-15 16:58:33 +01:00
LinuxServer-CI
d787aec1eb Bot Updating Package Versions 2021-11-08 16:58:59 +01:00
LinuxServer-CI
81d980ddc5 Bot Updating Package Versions 2021-10-17 19:35:01 +02:00
aptalca
359b7ce974
Merge pull request #151 from linuxserver/umask/master
Remove umask_set
2021-10-17 13:32:21 -04:00
Roxedus
2f5b17744e
Remove umask_set 2021-10-17 17:40:34 +02:00
LinuxServer-CI
93c02816a2 Bot Updating Package Versions 2021-10-04 18:01:36 +02:00
LinuxServer-CI
6af2707368 Bot Updating Templated Files 2021-10-04 17:58:54 +02:00
LinuxServer-CI
cbdee9a529 Bot Updating Templated Files 2021-10-04 17:57:38 +02:00
LinuxServer-CI
3d3be90eb1 Bot Updating Package Versions 2021-09-27 17:58:23 +02:00
LinuxServer-CI
a155164fcb Bot Updating Package Versions 2021-09-20 17:58:22 +02:00
LinuxServer-CI
a6108e4307 Bot Updating Package Versions 2021-09-06 17:58:09 +02:00
LinuxServer-CI
7e045d37ee Bot Updating Package Versions 2021-08-30 18:01:35 +02:00
LinuxServer-CI
1aaec63108 Bot Updating Templated Files 2021-08-30 17:58:09 +02:00
LinuxServer-CI
46bce98643 Bot Updating Package Versions 2021-08-23 17:59:30 +02:00
LinuxServer-CI
80b64b7a59 Bot Updating Package Versions 2021-08-09 17:59:18 +02:00
LinuxServer-CI
efcba176a0 Bot Updating Package Versions 2021-08-02 17:59:04 +02:00
LinuxServer-CI
4f2fe8ec5d Bot Updating Package Versions 2021-07-26 17:59:30 +02:00
Roxedus
50e5de2d65
Merge pull request #143 from linuxserver/runtime/master
Use runtime when checking for updates.
2021-07-13 21:12:18 +02:00
LinuxServer-CI
4551d41ee0 Bot Updating Package Versions 2021-07-12 15:59:35 +00:00
Roxedus
573f23d3ab
Use runtime when checking for updates. 2021-07-12 00:30:43 +02:00
LinuxServer-CI
e130655a7e Bot Updating Package Versions 2021-07-05 12:00:36 -04:00
LinuxServer-CI
7126c84d57 Bot Updating Templated Files 2021-07-05 11:58:24 -04:00
LinuxServer-CI
8089e35e64 Bot Updating Templated Files 2021-07-05 11:57:25 -04:00
LinuxServer-CI
4eeb966b6e Bot Updating Package Versions 2021-06-14 12:06:28 -04:00
LinuxServer-CI
fa7c425411 Bot Updating Package Versions 2021-05-28 11:35:38 +00:00
LinuxServer-CI
141ef4eb66 Bot Updating Templated Files 2021-05-09 03:13:51 +00:00
Eric Nemchik
d52de483a9
Merge pull request #141 from linuxserver/media-folders
Make the paths clearer to the user
2021-05-08 22:12:20 -05:00
Roxedus
e9fa651898
Make the paths clearer to the user 2021-05-09 01:30:47 +02:00
LinuxServer-CI
3864489e48 Bot Updating Package Versions 2021-05-04 12:58:18 +01:00
LinuxServer-CI
7ab2900ed0 Bot Updating Package Versions 2021-05-03 16:09:05 +00:00
LinuxServer-CI
6cc31ce967 Bot Updating Package Versions 2021-04-26 16:07:52 +00:00
LinuxServer-CI
e7b02f47ff Bot Updating Package Versions 2021-04-19 12:08:55 -04:00
LinuxServer-CI
144f755a37 Bot Updating Templated Files 2021-04-19 16:05:27 +00:00
LinuxServer-CI
5e6c862d71 Bot Updating Templated Files 2021-04-19 12:03:16 -04:00
LinuxServer-CI
a997e1a59f Bot Updating Package Versions 2021-04-12 16:05:31 +00:00
LinuxServer-CI
1a21efc3b2 Bot Updating Package Versions 2021-04-05 17:14:24 +01:00
LinuxServer-CI
c7951e6d30 Bot Updating Package Versions 2021-03-15 12:04:52 -04:00
LinuxServer-CI
581c0206d5 Bot Updating Package Versions 2021-03-01 11:02:28 -05:00
LinuxServer-CI
9afe4d1cad Bot Updating Package Versions 2021-02-22 16:01:32 +00:00
LinuxServer-CI
c664a142d5 Bot Updating Package Versions 2021-02-15 11:08:55 -05:00
LinuxServer-CI
f478840fae Bot Updating Templated Files 2021-02-15 16:02:15 +00:00
LinuxServer-CI
389621b9bf Bot Updating Templated Files 2021-02-15 16:01:05 +00:00
LinuxServer-CI
9a696df4cd Bot Updating Package Versions 2021-02-05 12:25:40 -05:00
LinuxServer-CI
fae0d9b51f Bot Updating Package Versions 2021-02-01 16:12:17 +00:00
LinuxServer-CI
01ad1c7dbb Bot Updating Package Versions 2021-01-25 16:33:36 +00:00
LinuxServer-CI
1bd5fe1582 Bot Updating Package Versions 2021-01-18 13:36:54 +00:00
aptalca
7c7b039a62
Merge pull request #135 from linuxserver/master-deprecate-umask_set
Deprecate UMASK_SET in favor of UMASK in baseimage
2021-01-18 08:32:01 -05:00
Roxedus
30ed04dcd4
Deprecate UMASK_SET in favor of UMASK in baseimage 2021-01-17 20:25:00 +01:00
LinuxServer-CI
852ac7c6ba Bot Updating Package Versions 2021-01-13 04:20:57 +00:00
LinuxServer-CI
0efde2869a Bot Updating Templated Files 2021-01-12 23:12:21 -05:00
LinuxServer-CI
cfcfaf8a07 Bot Updating Templated Files 2020-12-15 22:47:00 -05:00
LinuxServer-CI
7cf9ec26f6 Bot Updating Templated Files 2020-12-15 22:45:50 -05:00
LinuxServer-CI
d2d72a0d5a Bot Updating Package Versions 2020-12-11 05:03:06 +00:00
saarg
25995fa7dc
Merge pull request #120 from linuxserver/master-readme
update readme with develop tag info
2020-12-02 10:41:26 +01:00
aptalca
cf3e9afb56 update readme with develop tag info 2020-11-30 16:43:42 -05:00
39 changed files with 1663 additions and 866 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

View file

@ -4,9 +4,9 @@
* 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 or documentation in the README please file an issue
* 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://discord.gg/YWrKVTn)
* 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
@ -96,7 +96,7 @@ If you are proposing additional packages to be added, ensure that you added the
### Testing your changes
```
```bash
git clone https://github.com/linuxserver/docker-radarr.git
cd docker-radarr
docker build \
@ -105,14 +105,15 @@ docker build \
-t linuxserver/radarr: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`.
## Update the chagelog
## Update the changelog
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-radarr/tree/master/root), add an entry to the changelog

View file

@ -1,38 +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. --->
<!--- If this acts as a feature request please 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/ -->
<!--- 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:**
<!--- ie. from the official docker repo, from the distro repo, nas OS provided, etc. -->
<!--- 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 radarr" -->

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-radarr
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 radarr"
label: Container logs
placeholder: |
Output of `docker logs radarr`
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

@ -6,7 +6,7 @@
<!--- 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 -->

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: '58 22 * * *'
workflow_dispatch:
jobs:
stale:
permissions:
issues: write
pull-requests: write
uses: linuxserver/github-workflows/.github/workflows/issues-cron.yml@v1
secrets: inherit

View file

@ -7,84 +7,138 @@ jobs:
external-trigger-master:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- uses: actions/checkout@v4.1.1
- name: External Trigger
if: github.ref == 'refs/heads/master'
env:
SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }}
run: |
if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_RADARR_MASTER }}" ]; then
echo "**** Github secret PAUSE_EXTERNAL_TRIGGER_RADARR_MASTER is set; skipping trigger. ****"
printf "# External trigger for docker-radarr\n\n" >> $GITHUB_STEP_SUMMARY
if grep -q "^radarr_master_" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`radarr_master_\`; will skip trigger if version matches." >> $GITHUB_STEP_SUMMARY
elif grep -q "^radarr_master" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`radarr_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 \`radarr_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 -sL https://radarr.servarr.com/v1/update/master/changes?runtime=netcore%26os=linuxmusl | jq -r '.[0].version')
echo "Type is \`custom_version_command\`" >> $GITHUB_STEP_SUMMARY
if grep -q "^radarr_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
echo "**** External trigger running off of master branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_RADARR_MASTER\". ****"
echo "**** Retrieving external version ****"
EXT_RELEASE=$(curl -sL https://radarr.servarr.com/v1/update/master/changes?os=linux | jq -r '.[0].version')
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
echo "**** Can't retrieve external version, exiting ****"
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Can't retrieve external version, exiting" >> $GITHUB_STEP_SUMMARY
FAILURE_REASON="Can't retrieve external version for radarr branch master"
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-radarr/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"}],
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n**Trigger URL:** '"${GHA_TRIGGER_URL}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
exit 1
fi
echo "**** External version: ${EXT_RELEASE} ****"
echo "**** Retrieving last pushed version ****"
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/radarr"
tag="latest"
token=$(curl -sX GET \
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fradarr%3Apull" \
| jq -r '.token')
multidigest=$(curl -s \
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/${tag}" \
| jq -r 'first(.manifests[].digest)')
digest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/manifests/${multidigest}" \
| jq -r '.config.digest')
"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}" \
| jq -r '.container_config')
"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 "**** Can't retrieve last pushed version, exiting ****"
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 radarr 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} ****"
echo "Last pushed version: \`${IMAGE_VERSION}\`" >> $GITHUB_STEP_SUMMARY
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
echo "**** Version ${EXT_RELEASE} already pushed, exiting ****"
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-radarr/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 ****"
echo "New version \`${EXT_RELEASE}\` found; but there already seems to be an active build on Jenkins; exiting" >> $GITHUB_STEP_SUMMARY
exit 0
else
echo "**** New version ${EXT_RELEASE} found; old version was ${IMAGE_VERSION}. Triggering new build ****"
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-radarr/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'} ****"
echo "**** Sleeping 10 seconds until job starts ****"
sleep 10
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}"
echo "**** Jenkins job build url: ${buildurl} ****"
echo "**** Attempting to change the Jenkins job description ****"
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 radarr 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 }}
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 radarr 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-radarr/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 radarr 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

@ -2,42 +2,44 @@ name: External Trigger Scheduler
on:
schedule:
- cron: '51 * * * *'
- cron: '25 * * * *'
workflow_dispatch:
jobs:
external-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- uses: actions/checkout@v4.1.1
with:
fetch-depth: '0'
- name: External Trigger Scheduler
run: |
echo "**** Branches found: ****"
git for-each-ref --format='%(refname:short)' refs/remotes
echo "**** Pulling the yq docker image ****"
docker pull ghcr.io/linuxserver/yq
for br in $(git for-each-ref --format='%(refname:short)' refs/remotes)
printf "# External trigger scheduler for docker-radarr\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
br=$(echo "$br" | sed 's|origin/||g')
echo "**** Evaluating branch ${br} ****"
ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-radarr/${br}/jenkins-vars.yml \
| docker run --rm -i --entrypoint yq ghcr.io/linuxserver/yq -r .ls_branch)
if [ "$br" == "$ls_branch" ]; then
echo "**** Branch ${br} appears to be live; checking workflow. ****"
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-radarr/${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-radarr/${br}/.github/workflows/external_trigger.yml > /dev/null 2>&1; then
echo "**** Workflow exists. Triggering external trigger workflow for branch ${br} ****."
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-radarr/actions/workflows/external_trigger.yml/dispatches
else
echo "**** Workflow doesn't exist; skipping trigger. ****"
echo "Skipping branch due to no external trigger workflow present." >> $GITHUB_STEP_SUMMARY
fi
else
echo "**** ${br} appears to be a dev branch; skipping trigger. ****"
echo "Skipping branch due to being detected as dev branch or having no external version." >> $GITHUB_STEP_SUMMARY
fi
done

View file

@ -8,6 +8,6 @@ jobs:
steps:
- uses: actions/first-interaction@v1
with:
issue-message: 'Thanks for opening your first issue here! Be sure to follow the [issue template](https://github.com/linuxserver/docker-radarr/blob/master/.github/ISSUE_TEMPLATE.md)!'
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-radarr/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }}

View file

@ -1,38 +0,0 @@
name: Package Trigger Main
on:
workflow_dispatch:
jobs:
package-trigger-master:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: Package Trigger
if: github.ref == 'refs/heads/master'
run: |
if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_RADARR_MASTER }}" ]; then
echo "**** Github secret PAUSE_PACKAGE_TRIGGER_RADARR_MASTER is set; skipping trigger. ****"
exit 0
fi
if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-radarr/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then
echo "**** There already seems to be an active build on Jenkins; skipping package trigger ****"
exit 0
fi
echo "**** Package trigger running off of master branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_RADARR_MASTER\". ****"
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-radarr/job/master/buildWithParameters?PACKAGE_CHECK=true \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
echo "**** Jenkins job queue url: ${response%$'\r'} ****"
echo "**** Sleeping 10 seconds until job starts ****"
sleep 10
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}"
echo "**** Jenkins job build url: ${buildurl} ****"
echo "**** Attempting to change the Jenkins job description ****"
curl -iX 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"

View file

@ -2,49 +2,99 @@ name: Package Trigger Scheduler
on:
schedule:
- cron: '32 3 * * 3'
- cron: '49 16 * * 0'
workflow_dispatch:
jobs:
package-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- uses: actions/checkout@v4.1.1
with:
fetch-depth: '0'
- name: Package Trigger Scheduler
env:
SKIP_PACKAGE_TRIGGER: ${{ vars.SKIP_PACKAGE_TRIGGER }}
run: |
echo "**** Branches found: ****"
git for-each-ref --format='%(refname:short)' refs/remotes
echo "**** Pulling the yq docker image ****"
docker pull ghcr.io/linuxserver/yq
for br in $(git for-each-ref --format='%(refname:short)' refs/remotes)
printf "# Package trigger scheduler for docker-radarr\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
br=$(echo "$br" | sed 's|origin/||g')
echo "**** Evaluating branch ${br} ****"
ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-radarr/${br}/jenkins-vars.yml \
| docker run --rm -i --entrypoint yq ghcr.io/linuxserver/yq -r .ls_branch)
if [ "${br}" == "${ls_branch}" ]; then
echo "**** Branch ${br} appears to be live; checking workflow. ****"
if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-radarr/${br}/.github/workflows/package_trigger.yml > /dev/null 2>&1; then
echo "**** Workflow exists. Triggering package trigger workflow for branch ${br}. ****"
triggered_branches="${triggered_branches}${br} "
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-radarr/actions/workflows/package_trigger.yml/dispatches
sleep 30
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-radarr/${br}/jenkins-vars.yml)
if ! curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-radarr/${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-radarr/${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 "^radarr_${br}" <<< "${SKIP_PACKAGE_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_PACKAGE_TRIGGER\` contains \`radarr_${br}\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-radarr/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 "**** Workflow doesn't exist; skipping trigger. ****"
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo "> Triggering package trigger for branch ${br}" >> $GITHUB_STEP_SUMMARY
printf "> To disable, add \`radarr_%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-radarr/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 "**** ${br} appears to be a dev branch; skipping trigger. ****"
echo "Skipping branch ${br} due to being detected as dev branch." >> $GITHUB_STEP_SUMMARY
fi
done
echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****"
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) Triggered for radarr** \n**Branch(es):** '"${triggered_branches}"' \n**Build URL:** '"https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-radarr/activity/"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
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-radarr/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 radarr** \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

View file

@ -1,23 +0,0 @@
name: Mark stale issues and pull requests
on:
schedule:
- cron: "30 1 * * *"
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v1
with:
stale-issue-message: "This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
stale-pr-message: "This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
stale-issue-label: 'no-issue-activity'
stale-pr-label: 'no-pr-activity'
days-before-stale: 30
days-before-close: 365
exempt-issue-labels: 'awaiting-approval,work-in-progress'
exempt-pr-labels: 'awaiting-approval,work-in-progress'
repo-token: ${{ secrets.GITHUB_TOKEN }}

1
.gitignore vendored
View file

@ -41,3 +41,4 @@ $RECYCLE.BIN/
Network Trash Folder
Temporary Items
.apdisk
.jenkins-external

View file

@ -1,48 +1,49 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:focal
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine:3.21
# set version label
ARG BUILD_DATE
ARG VERSION
ARG RADARR_RELEASE
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="thelamer"
LABEL maintainer="Roxedus,thespad"
# environment settings
ARG DEBIAN_FRONTEND="noninteractive"
ARG RADARR_BRANCH="master"
ENV XDG_CONFIG_HOME="/config/xdg"
ENV XDG_CONFIG_HOME="/config/xdg" \
COMPlus_EnableDiagnostics=0 \
TMPDIR=/run/radarr-temp
RUN \
echo "**** install packages ****" && \
apt-get update && \
apt-get install --no-install-recommends -y \
jq \
libicu66 \
libmediainfo0v5 \
sqlite3 && \
echo "**** install radarr ****" && \
mkdir -p /app/radarr/bin && \
if [ -z ${RADARR_RELEASE+x} ]; then \
RADARR_RELEASE=$(curl -sL "https://radarr.servarr.com/v1/update/${RADARR_BRANCH}/changes?os=linux" \
| jq -r '.[0].version'); \
fi && \
curl -o \
/tmp/radarr.tar.gz -L \
"https://radarr.servarr.com/v1/update/${RADARR_BRANCH}/updatefile?version=${RADARR_RELEASE}&os=linux&runtime=netcore&arch=x64" && \
tar ixzf \
/tmp/radarr.tar.gz -C \
/app/radarr/bin --strip-components=1 && \
echo "UpdateMethod=docker\nBranch=${RADARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/radarr/package_info && \
echo "**** cleanup ****" && \
rm -rf \
/app/radarr/bin/Radarr.Update \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
echo "**** install packages ****" && \
apk add -U --upgrade --no-cache \
icu-libs \
sqlite-libs \
xmlstarlet && \
echo "**** install radarr ****" && \
mkdir -p /app/radarr/bin && \
if [ -z ${RADARR_RELEASE+x} ]; then \
RADARR_RELEASE=$(curl -sL "https://radarr.servarr.com/v1/update/${RADARR_BRANCH}/changes?runtime=netcore&os=linuxmusl" \
| jq -r '.[0].version'); \
fi && \
curl -o \
/tmp/radarr.tar.gz -L \
"https://radarr.servarr.com/v1/update/${RADARR_BRANCH}/updatefile?version=${RADARR_RELEASE}&os=linuxmusl&runtime=netcore&arch=x64" && \
tar xzf \
/tmp/radarr.tar.gz -C \
/app/radarr/bin --strip-components=1 && \
echo -e "UpdateMethod=docker\nBranch=${RADARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=[linuxserver.io](https://linuxserver.io)" > /app/radarr/package_info && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
echo "**** cleanup ****" && \
rm -rf \
/app/radarr/bin/Radarr.Update \
/tmp/*
# copy local files
COPY root/ /
# ports and volumes
EXPOSE 7878
VOLUME /config

View file

@ -1,48 +1,48 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-focal
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.21
# set version label
ARG BUILD_DATE
ARG VERSION
ARG RADARR_RELEASE
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="thelamer"
LABEL maintainer="Roxedus,thespad"
# environment settings
ARG DEBIAN_FRONTEND="noninteractive"
ARG RADARR_BRANCH="master"
ENV XDG_CONFIG_HOME="/config/xdg"
ENV XDG_CONFIG_HOME="/config/xdg" \
COMPlus_EnableDiagnostics=0 \
TMPDIR=/run/radarr-temp
RUN \
echo "**** install packages ****" && \
apt-get update && \
apt-get install --no-install-recommends -y \
jq \
libicu66 \
libmediainfo0v5 \
sqlite3 && \
echo "**** install radarr ****" && \
mkdir -p /app/radarr/bin && \
if [ -z ${RADARR_RELEASE+x} ]; then \
RADARR_RELEASE=$(curl -sL "https://radarr.servarr.com/v1/update/${RADARR_BRANCH}/changes?os=linux" \
| jq -r '.[0].version'); \
fi && \
curl -o \
/tmp/radarr.tar.gz -L \
"https://radarr.servarr.com/v1/update/${RADARR_BRANCH}/updatefile?version=${RADARR_RELEASE}&os=linux&runtime=netcore&arch=arm64" && \
tar ixzf \
/tmp/radarr.tar.gz -C \
/app/radarr/bin --strip-components=1 && \
echo "UpdateMethod=docker\nBranch=${RADARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/radarr/package_info && \
echo "**** cleanup ****" && \
rm -rf \
/app/radarr/bin/Radarr.Update \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
echo "**** install packages ****" && \
apk add -U --upgrade --no-cache \
icu-libs \
sqlite-libs \
xmlstarlet && \
echo "**** install radarr ****" && \
mkdir -p /app/radarr/bin && \
if [ -z ${RADARR_RELEASE+x} ]; then \
RADARR_RELEASE=$(curl -sL "https://radarr.servarr.com/v1/update/${RADARR_BRANCH}/changes?runtime=netcore&os=linuxmusl" \
| jq -r '.[0].version'); \
fi && \
curl -o \
/tmp/radarr.tar.gz -L \
"https://radarr.servarr.com/v1/update/${RADARR_BRANCH}/updatefile?version=${RADARR_RELEASE}&os=linuxmusl&runtime=netcore&arch=arm64" && \
tar xzf \
/tmp/radarr.tar.gz -C \
/app/radarr/bin --strip-components=1 && \
echo -e "UpdateMethod=docker\nBranch=${RADARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=[linuxserver.io](https://linuxserver.io)" > /app/radarr/package_info && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
echo "**** cleanup ****" && \
rm -rf \
/app/radarr/bin/Radarr.Update \
/tmp/*
# copy local files
COPY root/ /
# ports and volumes
EXPOSE 7878
VOLUME /config

View file

@ -1,48 +0,0 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-focal
# set version label
ARG BUILD_DATE
ARG VERSION
ARG RADARR_RELEASE
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="thelamer"
# environment settings
ARG DEBIAN_FRONTEND="noninteractive"
ARG RADARR_BRANCH="master"
ENV XDG_CONFIG_HOME="/config/xdg"
RUN \
echo "**** install packages ****" && \
apt-get update && \
apt-get install --no-install-recommends -y \
jq \
libicu66 \
libmediainfo0v5 \
sqlite3 && \
echo "**** install radarr ****" && \
mkdir -p /app/radarr/bin && \
if [ -z ${RADARR_RELEASE+x} ]; then \
RADARR_RELEASE=$(curl -sL "https://radarr.servarr.com/v1/update/${RADARR_BRANCH}/changes?os=linux" \
| jq -r '.[0].version'); \
fi && \
curl -o \
/tmp/radarr.tar.gz -L \
"https://radarr.servarr.com/v1/update/${RADARR_BRANCH}/updatefile?version=${RADARR_RELEASE}&os=linux&runtime=netcore&arch=arm" && \
tar ixzf \
/tmp/radarr.tar.gz -C \
/app/radarr/bin --strip-components=1 && \
echo "**** cleanup ****" && \
echo "UpdateMethod=docker\nBranch=${RADARR_BRANCH}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/radarr/package_info && \
rm -rf \
/app/radarr/bin/Radarr.Update \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
# copy local files
COPY root/ /
# ports and volumes
EXPOSE 7878
VOLUME /config

967
Jenkinsfile vendored

File diff suppressed because it is too large Load diff

280
README.md
View file

@ -1,10 +1,9 @@
<!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read the CONTRIBUTING.md -->
<!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read https://github.com/linuxserver/docker-radarr/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?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://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
[![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.")
@ -12,15 +11,16 @@
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.
@ -28,11 +28,12 @@ Find us at:
# [linuxserver/radarr](https://github.com/linuxserver/docker-radarr)
[![Scarf.io pulls](https://scarf.sh/installs-badge/linuxserver-ci/linuxserver%2Fradarr?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-radarr.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-radarr)
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-radarr.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-radarr/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-radarr/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-radarr/container_registry)
[![MicroBadger Layers](https://img.shields.io/microbadger/layers/linuxserver/radarr.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge)](https://microbadger.com/images/linuxserver/radarr "Get your own version badge on microbadger.com")
[![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-radarr/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/radarr)
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/radarr.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/radarr)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/radarr.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/radarr)
[![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-radarr%2Fjob%2Fmaster%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-radarr/job/master/)
@ -40,93 +41,111 @@ Find us at:
[Radarr](https://github.com/Radarr/Radarr) - A fork of Sonarr to work with movies à la Couchpotato.
[![radarr](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/radarr.png)](https://github.com/Radarr/Radarr)
## 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 `ghcr.io/linuxserver/radarr` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
Simply pulling `lscr.io/linuxserver/radarr: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
This image provides various versions that are available via tags. `latest` tag usually provides the latest stable version. Others are considered under development and caution must be exercised when using them.
This image provides various versions that are available via tags. Please read the descriptions carefully and exercise caution when using unstable or development tags.
| Tag | Description |
| :----: | --- |
| latest | Stable Radarr releases |
| nightly | Nightly Radarr releases |
| Tag | Available | Description |
| :----: | :----: |--- |
| latest | ✅ | Stable Radarr releases |
| develop | ✅ | Radarr releases from their develop branch |
| nightly | ✅ | Radarr releases from their nightly branch |
## Application Setup
Access the webui at `<your-ip>:7878`, for more information check out [Radarr](https://github.com/Radarr/Radarr).
### Media folders
We have set `/movies` and `/downloads` as ***optional paths***, this is because it is the easiest way to get started. While easy to use, it has some drawbacks. Mainly losing the ability to hardlink (TL;DR a way for a file to exist in multiple places on the same file system while only consuming one file worth of space), or atomic move (TL;DR instant file moves, rather than copy+delete) files while processing content.
Use the optional paths if you don't understand, or don't want hardlinks/atomic moves.
The folks over at servarr.com wrote a good [write-up](https://wiki.servarr.com/docker-guide#consistent-and-well-planned-paths) on how to get started with this.
## Read-Only Operation
This image can be run with a read-only container filesystem. For details please [read the docs](https://docs.linuxserver.io/misc/read-only/).
## Non-Root Operation
This image can be run with a non-root user. For details please [read the docs](https://docs.linuxserver.io/misc/non-root/).
## Usage
Here are some example snippets to help you get started creating a container.
To help you get started creating a container from this image you can either use docker-compose or the docker cli.
### docker-compose ([recommended](https://docs.linuxserver.io/general/docker-compose))
>[!NOTE]
>Unless a parameter is flaged as 'optional', it is *mandatory* and a value must be provided.
Compatible with docker-compose v2 schemas.
### docker-compose (recommended, [click here for more info](https://docs.linuxserver.io/general/docker-compose))
```yaml
---
version: "2.1"
services:
radarr:
image: ghcr.io/linuxserver/radarr
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- UMASK_SET=022 #optional
- TZ=Etc/UTC
volumes:
- /path/to/data:/config
- /path/to/movies:/movies
- /path/to/downloadclient-downloads:/downloads
- /path/to/radarr/data:/config
- /path/to/movies:/movies #optional
- /path/to/download-client-downloads:/downloads #optional
ports:
- 7878:7878
restart: unless-stopped
```
### docker cli
### docker cli ([click here for more info](https://docs.docker.com/engine/reference/commandline/cli/))
```
```bash
docker run -d \
--name=radarr \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-e UMASK_SET=022 `#optional` \
-e TZ=Etc/UTC \
-p 7878:7878 \
-v /path/to/data:/config \
-v /path/to/movies:/movies \
-v /path/to/downloadclient-downloads:/downloads \
-v /path/to/radarr/data:/config \
-v /path/to/movies:/movies `#optional` \
-v /path/to/download-client-downloads:/downloads `#optional` \
--restart unless-stopped \
ghcr.io/linuxserver/radarr
lscr.io/linuxserver/radarr:latest
```
## 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.
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 7878` | The port for the Radarr webinterface |
| `-p 7878:7878` | The port for the Radarr Web UI |
| `-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, this is required for Radarr |
| `-e UMASK_SET=022` | control permissions of files and directories created by Radarr |
| `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). |
| `-v /config` | Database and Radarr configs |
| `-v /movies` | Location of Movie library on disk (See note in Application setup) |
| `-v /downloads` | Location of download managers output directory (See note in Application setup) |
| `--read-only=true` | Run container with a read-only filesystem. Please [read the docs](https://docs.linuxserver.io/misc/read-only/). |
| `--user=1000:1000` | Run container with a non-root user. Please [read the docs](https://docs.linuxserver.io/misc/non-root/). |
## Environment variables from files (Docker secrets)
@ -134,11 +153,11 @@ You can set any environment variable from a file by using a special prepend `FIL
As an example:
```
-e FILE__PASSWORD=/run/secrets/mysecretpassword
```bash
-e FILE__MYVAR=/run/secrets/mysecretvariable
```
Will set the environment variable `PASSWORD` based on the contents of the `/run/secrets/mysecretpassword` file.
Will set the environment variable `MYVAR` based on the contents of the `/run/secrets/mysecretvariable` file.
## Umask for running applications
@ -147,99 +166,162 @@ Keep in mind umask is not chmod it subtracts from permissions based on it's valu
## 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`.
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:
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id your_user` as below:
```
$ id username
uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
```bash
id your_user
```
Example output:
&nbsp;
## Application Setup
Access the webui at `<your-ip>:7878`, for more information check out [Radarr](https://github.com/Radarr/Radarr).
**Special Note**: Following our current folder structure will result in an inability to hardlink from your downloads to your movies folder because they are on seperate volumes. To support hardlinking, ensure that the movies and downloads data are on a single volume. For example, if you have `/mnt/storage/Movies` and `/mnt/storage/downloads/completed/Movies`, you would want something like `/mnt/storage:/media` for your volume. Then you can hardlink from `/media/downloads/completed` to `/media/Movies`.
Another item to keep in mind, is that within Radarr itself, you should map your download client folder to your radarr folder. Navigate to **Settings -> Download Client -> Advanced Settings -> Remote Path Mappings**. Add a new mapping, and set: the Host as the same entry of the Host in your download client (for example its IP address), the Remote Path as `/downloads/Movies` (relative to the internal container path), and Local Path as `/media/downloads/completed/Movies`, assuming you have folders to separate your downloaded data types.
```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=radarr&query=%24.mods%5B%27radarr%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=radarr "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 radarr /bin/bash`
* To monitor the logs of the container in realtime: `docker logs -f radarr`
* container version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' radarr`
* image version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' ghcr.io/linuxserver/radarr`
* Shell access whilst the container is running:
```bash
docker exec -it radarr /bin/bash
```
* To monitor the logs of the container in realtime:
```bash
docker logs -f radarr
```
* Container version number:
```bash
docker inspect -f '{{ index .Config.Labels "build_version" }}' radarr
```
* Image version number:
```bash
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/radarr: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 Compose
* Update all images: `docker-compose pull`
* or update a single image: `docker-compose pull radarr`
* Let compose update all containers as necessary: `docker-compose up -d`
* or update a single container: `docker-compose up -d radarr`
* You can also remove the old dangling images: `docker image prune`
* Update images:
* All images:
```bash
docker-compose pull
```
* Single image:
```bash
docker-compose pull radarr
```
* Update containers:
* All containers:
```bash
docker-compose up -d
```
* Single container:
```bash
docker-compose up -d radarr
```
* You can also remove the old dangling images:
```bash
docker image prune
```
### Via Docker Run
* Update the image: `docker pull ghcr.io/linuxserver/radarr`
* Stop the running container: `docker stop radarr`
* Delete the container: `docker rm radarr`
* Update the image:
```bash
docker pull lscr.io/linuxserver/radarr:latest
```
* Stop the running container:
```bash
docker stop radarr
```
* Delete the container:
```bash
docker rm radarr
```
* 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: `docker image prune`
* You can also remove the old dangling images:
### Via Watchtower auto-updater (only use 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 radarr
```
* You can also remove the old dangling images: `docker image prune`
**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](https://docs.linuxserver.io/general/docker-compose).
```bash
docker image prune
```
### Image Update Notifications - Diun (Docker Image Update Notifier)
* We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
>[!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-radarr.git
cd docker-radarr
docker build \
--no-cache \
--pull \
-t ghcr.io/linuxserver/radarr:latest .
-t lscr.io/linuxserver/radarr: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
* **23.12.24:** - Rebase Alpine 3.21.
* **31.05.24:** - Rebase Alpine 3.20.
* **20.03.24:** - Rebase to Alpine 3.19.
* **06.06.23:** - Rebase master to Alpine 3.18, deprecate armhf as per [https://www.linuxserver.io/armhf](https://www.linuxserver.io/armhf).
* **17.01.23:** - Rebase master branch to Alpine 3.17, migrate to s6v3.
* **06.06.22:** - Rebase master branch to Alpine 3.15.
* **20.02.22:** - Rebase develop branch to Alpine.
* **04.02.22:** - Rebase nightly branch to Alpine and deprecate nightly-alpine branch.
* **27.12.21:** - Add nightly-alpine branch.
* **17.10.21:** - Remove `UMASK_SET`.
* **08.05.21:** - Make the paths clearer to the user
* **17.01.21:** - Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information.
* **11.30.20:** - Publish `develop` tag.
* **11.28.20:** - Switch to v3 .NET CORE builds (no more mono, `5.14` tag is deprecated). Rebase to Focal (for issues on arm32v7, [see here](https://docs.linuxserver.io/faq#my-host-is-incompatible-with-images-based-on-ubuntu-focal)).
* **05.04.20:** - Move app to /app.
* **01.08.19:** - Rebase to Linuxserver LTS mono version.

View file

@ -1,9 +1,8 @@
---
# jenkins variables
project_name: docker-radarr
external_type: na
custom_version_command: curl -sL https://radarr.servarr.com/v1/update/master/changes?os=linux | jq -r '.[0].version'
custom_version_command: curl -sL https://radarr.servarr.com/v1/update/master/changes?runtime=netcore%26os=linuxmusl | jq -r '.[0].version'
release_type: stable
release_tag: latest
ls_branch: master
@ -15,15 +14,15 @@ repo_vars:
- DOCKERHUB_IMAGE = 'linuxserver/radarr'
- DEV_DOCKERHUB_IMAGE = 'lsiodev/radarr'
- PR_DOCKERHUB_IMAGE = 'lspipepr/radarr'
- DIST_IMAGE = 'ubuntu'
- DIST_IMAGE = 'alpine'
- MULTIARCH='true'
- CI='true'
- CI_WEB='true'
- CI_PORT='7878'
- CI_SSL='false'
- CI_DELAY='120'
- CI_DOCKERENV='TZ=US/Pacific'
- CI_AUTH='user:password'
- CI_WEBPATH=''
- CI_DELAY='240'
- CI_DOCKERENV=''
- CI_AUTH=''
- CI_WEBPATH='/system/status'
sponsor_links:
- { name: "Radarr", url: "https://opencollective.com/radarr" }

View file

@ -1,153 +1,180 @@
adduser3.118ubuntu2
apt2.0.2ubuntu0.1
apt-utils2.0.2ubuntu0.1
base-files11ubuntu5.2
base-passwd3.5.47
bash5.0-6ubuntu1.1
bsdutils1:2.34-0.1ubuntu9.1
bzip21.0.8-2
ca-certificates20201027ubuntu0.20.04.1
coreutils8.30-3ubuntu2
curl7.68.0-1ubuntu2.2
dash0.5.10.2-6
debconf1.5.73
debianutils4.9.1
diffutils1:3.7-3
dirmngr2.2.19-3ubuntu2
dpkg1.19.7ubuntu3
e2fsprogs1.45.5-2ubuntu1
fdisk2.34-0.1ubuntu9.1
findutils4.7.0-1ubuntu1
gcc-10-base10.2.0-5ubuntu1~20.04
gnupg2.2.19-3ubuntu2
gnupg-l10n2.2.19-3ubuntu2
gnupg-utils2.2.19-3ubuntu2
gpg2.2.19-3ubuntu2
gpg-agent2.2.19-3ubuntu2
gpgconf2.2.19-3ubuntu2
gpgsm2.2.19-3ubuntu2
gpgv2.2.19-3ubuntu2
gpg-wks-client2.2.19-3ubuntu2
gpg-wks-server2.2.19-3ubuntu2
grep3.4-1
gzip1.10-0ubuntu4
hostname3.23
init-system-helpers1.57
jq1.6-1
krb5-locales1.17-6ubuntu4.1
libacl12.2.53-6
libapt-pkg6.02.0.2ubuntu0.1
libasn1-8-heimdal7.7.0+dfsg-1ubuntu1
libassuan02.5.3-7ubuntu2
libattr11:2.4.48-5
libaudit11:2.8.5-2ubuntu6
libaudit-common1:2.8.5-2ubuntu6
libblkid12.34-0.1ubuntu9.1
libbrotli11.0.7-6ubuntu0.1
libbz2-1.01.0.8-2
libc62.31-0ubuntu9.1
libcap-ng00.7.9-2.1build1
libc-bin2.31-0ubuntu9.1
libcom-err21.45.5-2ubuntu1
libcrypt11:4.4.10-10ubuntu4
libcurl3-gnutls7.68.0-1ubuntu2.2
libcurl47.68.0-1ubuntu2.2
libdb5.35.3.28+dfsg1-0.6ubuntu2
libdebconfclient00.251ubuntu1
libext2fs21.45.5-2ubuntu1
libfdisk12.34-0.1ubuntu9.1
libffi73.3-4
libgcc-s110.2.0-5ubuntu1~20.04
libgcrypt201.8.5-5ubuntu1
libgmp102:6.2.0+dfsg-4
libgnutls303.6.13-2ubuntu1.3
libgpg-error01.37-1
libgssapi3-heimdal7.7.0+dfsg-1ubuntu1
libgssapi-krb5-21.17-6ubuntu4.1
libhcrypto4-heimdal7.7.0+dfsg-1ubuntu1
libheimbase1-heimdal7.7.0+dfsg-1ubuntu1
libheimntlm0-heimdal7.7.0+dfsg-1ubuntu1
libhogweed53.5.1+really3.5.1-2
libhx509-5-heimdal7.7.0+dfsg-1ubuntu1
libicu6666.1-2ubuntu2
libidn2-02.2.0-2
libjq11.6-1
libk5crypto31.17-6ubuntu4.1
libkeyutils11.6-6ubuntu1
libkrb5-26-heimdal7.7.0+dfsg-1ubuntu1
libkrb5-31.17-6ubuntu4.1
libkrb5support01.17-6ubuntu4.1
libksba81.3.5-2
libldap-2.4-22.4.49+dfsg-2ubuntu1.5
libldap-common2.4.49+dfsg-2ubuntu1.5
liblz4-11.9.2-2
liblzma55.2.4-1ubuntu1
libmediainfo0v519.09+dfsg-2build1
libmms00.6.4-3
libmount12.34-0.1ubuntu9.1
libncurses66.2-0ubuntu2
libncursesw66.2-0ubuntu2
libnettle73.5.1+really3.5.1-2
libnghttp2-141.40.0-1build1
libnpth01.6-1
libonig56.9.4-1
libp11-kit00.23.20-1build1
libpam0g1.3.1-5ubuntu4.1
libpam-modules1.3.1-5ubuntu4.1
libpam-modules-bin1.3.1-5ubuntu4.1
libpam-runtime1.3.1-5ubuntu4.1
libpcre2-8-010.34-7
libpcre32:8.39-12build1
libprocps82:3.3.16-1ubuntu2
libpsl50.21.0-1ubuntu1
libreadline88.0-4
libroken18-heimdal7.7.0+dfsg-1ubuntu1
librtmp12.4+20151223.gitfa8646d.1-2build1
libsasl2-22.1.27+dfsg-2
libsasl2-modules2.1.27+dfsg-2
libsasl2-modules-db2.1.27+dfsg-2
libseccomp22.4.3-1ubuntu3.20.04.3
libselinux13.0-1build2
libsemanage13.0-1build2
libsemanage-common3.0-1build2
libsepol13.0-1
libsmartcols12.34-0.1ubuntu9.1
libsqlite3-03.31.1-4ubuntu0.2
libss21.45.5-2ubuntu1
libssh-40.9.3-2ubuntu2.1
libssl1.11.1.1f-1ubuntu2
libstdc++610.2.0-5ubuntu1~20.04
libsystemd0245.4-4ubuntu3.3
libtasn1-64.16.0-2
libtinfo66.2-0ubuntu2
libtinyxml2-6a7.0.0+dfsg-1build1
libudev1245.4-4ubuntu3.3
libunistring20.9.10-2
libuuid12.34-0.1ubuntu9.1
libwind0-heimdal7.7.0+dfsg-1ubuntu1
libzen0v50.4.37-1build1
libzstd11.4.4+dfsg-3
locales2.31-0ubuntu9.1
login1:4.8.1-1ubuntu5.20.04
logsave1.45.5-2ubuntu1
lsb-base11.1.0ubuntu2
mawk1.3.4.20200120-2
mount2.34-0.1ubuntu9.1
ncurses-base6.2-0ubuntu2
ncurses-bin6.2-0ubuntu2
openssl1.1.1f-1ubuntu2
passwd1:4.8.1-1ubuntu5.20.04
perl-base5.30.0-9ubuntu0.2
pinentry-curses1.1.0-3build1
procps2:3.3.16-1ubuntu2
publicsuffix20200303.0012-1
readline-common8.0-4
sed4.7-1
sensible-utils0.0.12+nmu1
sqlite33.31.1-4ubuntu0.2
sysvinit-utils2.96-2.1ubuntu1
tar1.30+dfsg-7
tzdata2020d-0ubuntu0.20.04
ubuntu-keyring2020.02.11.2
util-linux2.34-0.1ubuntu9.1
zlib1g1:1.2.11.dfsg-2ubuntu1.2
NAME VERSION TYPE
BouncyCastle.Cryptography 2.4.0 dotnet (+5 duplicates)
Dapper 2.0.151 dotnet (+5 duplicates)
Diacritical.Net 1.0.4 dotnet (+5 duplicates)
DryIoc.Microsoft.DependencyInjection 6.2.0 dotnet (+1 duplicate)
DryIoc.dll 5.4.3 dotnet (+7 duplicates)
Dynamitey 2.0.9.136 dotnet (+3 duplicates)
Equ 2.3.0 dotnet (+5 duplicates)
FluentValidation 9.5.4 dotnet (+5 duplicates)
IPAddressRange 6.2.0 dotnet (+7 duplicates)
Ical.Net 4.3.1 dotnet (+2 duplicates)
ImpromptuInterface 7.0.1 dotnet (+3 duplicates)
Instances 1.6.1 dotnet (+5 duplicates)
MailKit 4.8.0 dotnet (+5 duplicates)
Microsoft.AspNetCore.Cryptography.Internal 6.0.35 dotnet (+4 duplicates)
Microsoft.AspNetCore.Cryptography.KeyDerivation 6.0.35 dotnet (+4 duplicates)
Microsoft.Bcl.AsyncInterfaces 6.0.0 dotnet (+5 duplicates)
Microsoft.Bcl.TimeProvider 8.0.0 dotnet (+5 duplicates)
Microsoft.Data.SqlClient 2.1.7 dotnet (+5 duplicates)
Microsoft.Extensions.Configuration 6.0.0 dotnet (+1 duplicate)
Microsoft.Extensions.Configuration 6.0.1 dotnet (+4 duplicates)
Microsoft.Extensions.Configuration.Abstractions 6.0.0 dotnet (+2 duplicates)
Microsoft.Extensions.Configuration.Binder 6.0.0 dotnet (+2 duplicates)
Microsoft.Extensions.Configuration.CommandLine 6.0.0 dotnet (+2 duplicates)
Microsoft.Extensions.Configuration.EnvironmentVariables 6.0.1 dotnet (+6 duplicates)
Microsoft.Extensions.Configuration.FileExtensions 6.0.0 dotnet (+2 duplicates)
Microsoft.Extensions.Configuration.Json 6.0.0 dotnet (+2 duplicates)
Microsoft.Extensions.Configuration.UserSecrets 6.0.1 dotnet (+6 duplicates)
Microsoft.Extensions.DependencyInjection 6.0.1 dotnet (+6 duplicates)
Microsoft.Extensions.DependencyInjection.Abstractions 6.0.0 dotnet (+2 duplicates)
Microsoft.Extensions.DependencyInjection.Abstractions 7.0.0 dotnet (+1 duplicate)
Microsoft.Extensions.FileProviders.Abstractions 6.0.0 dotnet (+2 duplicates)
Microsoft.Extensions.FileProviders.Physical 6.0.0 dotnet (+2 duplicates)
Microsoft.Extensions.FileSystemGlobbing 6.0.0 dotnet (+2 duplicates)
Microsoft.Extensions.Hosting 6.0.1 dotnet (+6 duplicates)
Microsoft.Extensions.Hosting.Abstractions 6.0.0 dotnet (+2 duplicates)
Microsoft.Extensions.Hosting.WindowsServices 6.0.2 dotnet (+7 duplicates)
Microsoft.Extensions.Logging 6.0.0 dotnet (+2 duplicates)
Microsoft.Extensions.Logging.Abstractions 6.0.0 dotnet (+2 duplicates)
Microsoft.Extensions.Logging.Configuration 6.0.0 dotnet (+2 duplicates)
Microsoft.Extensions.Logging.Console 6.0.0 dotnet (+2 duplicates)
Microsoft.Extensions.Logging.Debug 6.0.0 dotnet (+2 duplicates)
Microsoft.Extensions.Logging.EventLog 6.0.0 dotnet (+2 duplicates)
Microsoft.Extensions.Logging.EventSource 6.0.0 dotnet (+2 duplicates)
Microsoft.Extensions.Options 6.0.0 dotnet (+2 duplicates)
Microsoft.Extensions.Options.ConfigurationExtensions 6.0.0 dotnet (+2 duplicates)
Microsoft.Extensions.Primitives 6.0.0 dotnet (+2 duplicates)
Microsoft.Identity.Client 4.21.1 dotnet (+5 duplicates)
Microsoft.IdentityModel.JsonWebTokens 6.8.0 dotnet (+5 duplicates)
Microsoft.IdentityModel.Logging 6.8.0 dotnet (+5 duplicates)
Microsoft.IdentityModel.Protocols 6.8.0 dotnet (+5 duplicates)
Microsoft.IdentityModel.Protocols.OpenIdConnect 6.8.0 dotnet (+5 duplicates)
Microsoft.IdentityModel.Tokens 6.8.0 dotnet (+5 duplicates)
Microsoft.OpenApi 1.6.14 dotnet (+2 duplicates)
Microsoft.Win32.SystemEvents 6.0.0 dotnet (+7 duplicates)
MimeKit 4.8.0 dotnet (+5 duplicates)
Mono.Nat 3.0.1 dotnet (+5 duplicates)
Mono.Posix.NETStandard 5.20.1.34-servarr20 dotnet
MonoTorrent 2.0.7 dotnet (+5 duplicates)
NLog 5.4.0 dotnet (+7 duplicates)
NLog.Extensions.Logging 5.4.0 dotnet (+7 duplicates)
NLog.Layouts.ClefJsonLayout 1.0.3 dotnet (+7 duplicates)
NLog.Targets.Syslog 7.0.0 dotnet (+7 duplicates)
Newtonsoft.Json 13.0.3 dotnet (+7 duplicates)
NodaTime 3.2.0 dotnet (+2 duplicates)
Npgsql 7.0.10 dotnet (+7 duplicates)
Polly 8.5.2 dotnet (+5 duplicates)
Polly.Contrib.WaitAndRetry 1.1.1 dotnet (+7 duplicates)
Polly.Core 8.5.2 dotnet (+5 duplicates)
Radarr 1.0.0 dotnet
Radarr.Api.V3 1.0.0 dotnet (+2 duplicates)
Radarr.Common 1.0.0 dotnet (+7 duplicates)
Radarr.Core 1.0.0 dotnet (+5 duplicates)
Radarr.Host 1.0.0 dotnet (+1 duplicate)
Radarr.Http 1.0.0 dotnet (+3 duplicates)
Radarr.Mono 1.0.0 dotnet
Radarr.SignalR 1.0.0 dotnet (+4 duplicates)
ReusableTasks 2.0.0 dotnet (+5 duplicates)
Sentry 4.0.2 dotnet (+7 duplicates)
Servarr.FFMpegCore 4.7.0-26 dotnet (+5 duplicates)
Servarr.FluentMigrator 3.3.2.9 dotnet (+5 duplicates)
Servarr.FluentMigrator.Abstractions 3.3.2.9 dotnet (+5 duplicates)
Servarr.FluentMigrator.Extensions.Oracle 3.3.2.9 dotnet (+5 duplicates)
Servarr.FluentMigrator.Extensions.Postgres 3.3.2.9 dotnet (+5 duplicates)
Servarr.FluentMigrator.Extensions.SqlAnywhere 3.3.2.9 dotnet (+5 duplicates)
Servarr.FluentMigrator.Extensions.SqlServer 3.3.2.9 dotnet (+5 duplicates)
Servarr.FluentMigrator.Runner 3.3.2.9 dotnet (+5 duplicates)
Servarr.FluentMigrator.Runner.Core 3.3.2.9 dotnet (+5 duplicates)
Servarr.FluentMigrator.Runner.Db2 3.3.2.9 dotnet (+5 duplicates)
Servarr.FluentMigrator.Runner.Firebird 3.3.2.9 dotnet (+5 duplicates)
Servarr.FluentMigrator.Runner.Hana 3.3.2.9 dotnet (+5 duplicates)
Servarr.FluentMigrator.Runner.MySql 3.3.2.9 dotnet (+5 duplicates)
Servarr.FluentMigrator.Runner.Oracle 3.3.2.9 dotnet (+5 duplicates)
Servarr.FluentMigrator.Runner.Postgres 3.3.2.9 dotnet (+5 duplicates)
Servarr.FluentMigrator.Runner.Redshift 3.3.2.9 dotnet (+5 duplicates)
Servarr.FluentMigrator.Runner.SQLite 3.3.2.9 dotnet (+5 duplicates)
Servarr.FluentMigrator.Runner.SqlAnywhere 3.3.2.9 dotnet (+5 duplicates)
Servarr.FluentMigrator.Runner.SqlServer 3.3.2.9 dotnet (+5 duplicates)
Servarr.FluentMigrator.Runner.SqlServerCe 3.3.2.9 dotnet (+5 duplicates)
SharpZipLib 1.4.2 dotnet (+7 duplicates)
SixLabors.ImageSharp 3.1.7 dotnet (+5 duplicates)
Swashbuckle.AspNetCore.Annotations 6.6.2 dotnet (+2 duplicates)
Swashbuckle.AspNetCore.Swagger 6.6.2 dotnet (+2 duplicates)
Swashbuckle.AspNetCore.SwaggerGen 6.6.2 dotnet (+2 duplicates)
System.Configuration.ConfigurationManager 6.0.1 dotnet (+7 duplicates)
System.Data.SQLite.Core.Servarr 1.0.115.5-18 dotnet (+7 duplicates)
System.Diagnostics.EventLog 6.0.0 dotnet (+2 duplicates)
System.Drawing.Common 6.0.0 dotnet (+7 duplicates)
System.Formats.Asn1 8.0.1 dotnet (+5 duplicates)
System.IdentityModel.Tokens.Jwt 6.8.0 dotnet (+5 duplicates)
System.Runtime.Caching 4.7.0 dotnet (+5 duplicates)
System.Security.Cryptography.Pkcs 8.0.0 dotnet (+5 duplicates)
System.Security.Cryptography.ProtectedData 6.0.0 dotnet (+7 duplicates)
System.Security.Permissions 6.0.0 dotnet (+7 duplicates)
System.ServiceProcess.ServiceController 6.0.1 dotnet (+7 duplicates)
System.Text.Json 6.0.10 dotnet (+6 duplicates)
System.Windows.Extensions 6.0.0 dotnet (+7 duplicates)
acl-libs 2.3.2-r1 apk
alpine-baselayout 3.6.8-r1 apk
alpine-baselayout-data 3.6.8-r1 apk
alpine-keys 2.5-r0 apk
alpine-release 3.21.3-r0 apk
apk-tools 2.14.6-r3 apk
bash 5.2.37-r0 apk
brotli-libs 1.1.0-r2 apk
busybox 1.37.0-r12 apk
busybox-binsh 1.37.0-r12 apk
c-ares 1.34.5-r0 apk
ca-certificates 20241121-r1 apk
ca-certificates-bundle 20241121-r1 apk
catatonit 0.2.0-r0 apk
coreutils 9.5-r2 apk
coreutils-env 9.5-r2 apk
coreutils-fmt 9.5-r2 apk
coreutils-sha512sum 9.5-r2 apk
curl 8.12.1-r1 apk
findutils 4.10.0-r0 apk
icu-data-en 74.2-r0 apk
icu-libs 74.2-r0 apk
jq 1.7.1-r0 apk
libattr 2.5.2-r2 apk
libbsd 0.12.2-r0 apk
libcrypto3 3.3.3-r0 apk
libcurl 8.12.1-r1 apk
libgcc 14.2.0-r4 apk
libgcrypt 1.10.3-r1 apk
libgpg-error 1.51-r0 apk
libidn2 2.3.7-r0 apk
libintl 0.22.5-r0 apk
libmd 1.1.0-r0 apk
libncursesw 6.5_p20241006-r3 apk
libproc2 4.0.4-r2 apk
libpsl 0.21.5-r3 apk
libssl3 3.3.3-r0 apk
libstdc++ 14.2.0-r4 apk
libunistring 1.2-r0 apk
libxml2 2.13.4-r5 apk
libxslt 1.1.42-r2 apk
linux-pam 1.6.1-r1 apk
musl 1.2.5-r9 apk
musl-utils 1.2.5-r9 apk
ncurses-terminfo-base 6.5_p20241006-r3 apk
netcat-openbsd 1.226.1.1-r0 apk
nghttp2-libs 1.64.0-r0 apk
oniguruma 6.9.9-r0 apk
procps-ng 4.0.4-r2 apk
readline 8.2.13-r0 apk
runtimepack.Microsoft.AspNetCore.App.Runtime.linux-musl-x64 6.0.35 dotnet
runtimepack.Microsoft.NETCore.App.Runtime.linux-musl-x64 6.0.35 dotnet
scanelf 1.3.8-r1 apk
shadow 4.16.0-r1 apk
skalibs-libs 2.14.3.0-r0 apk
sqlite-libs 3.48.0-r1 apk
ssl_client 1.37.0-r12 apk
tzdata 2025b-r0 apk
utmps-libs 0.1.2.3-r2 apk
xmlstarlet 1.6.1-r2 apk
xz-libs 5.6.3-r1 apk
zlib 1.3.1-r2 apk
zstd-libs 1.5.6-r2 apk

View file

@ -7,59 +7,107 @@ project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/ma
project_blurb: |
[{{ project_name|capitalize }}]({{ project_url }}) - A fork of Sonarr to work with movies à la Couchpotato.
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
project_categories: "Media Management"
# 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 Radarr releases" }
- { tag: "nightly", desc: "Nightly Radarr releases" }
- {tag: "latest", desc: "Stable Radarr releases"}
- {tag: "develop", desc: "Radarr releases from their develop branch"}
- {tag: "nightly", desc: "Radarr releases from their nightly branch"}
# container parameters
param_container_name: "{{ project_name }}"
param_usage_include_vols: true
param_volumes:
- { vol_path: "/config", vol_host_path: "/path/to/data", desc: "Database and Radarr configs" }
- { vol_path: "/movies", vol_host_path: "/path/to/movies", desc: "Location of Movie library on disk (See note in Application setup)" }
- { vol_path: "/downloads", vol_host_path: "/path/to/downloadclient-downloads", desc: "Location of download managers output directory (See note in Application setup)" }
- {vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/data", desc: "Database and Radarr configs"}
opt_param_usage_include_vols: true
opt_param_volumes:
- {vol_path: "/movies", vol_host_path: "/path/to/movies", desc: "Location of Movie library on disk (See note in Application setup)"}
- {vol_path: "/downloads", vol_host_path: "/path/to/download-client-downloads", desc: "Location of download managers output directory (See note in Application setup)"}
param_usage_include_ports: true
param_ports:
- { external_port: "7878", internal_port: "7878", port_desc: "The port for the Radarr webinterface" }
param_usage_include_env: true
param_env_vars:
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London, this is required for Radarr"}
# optional env variables
opt_param_usage_include_env: true
opt_param_env_vars:
- { env_var: "UMASK_SET", env_value: "022", desc: "control permissions of files and directories created by Radarr"}
- {external_port: "7878", internal_port: "7878", port_desc: "The port for the Radarr Web UI"}
readonly_supported: true
nonroot_supported: true
# application setup block
app_setup_block_enabled: true
app_setup_block: |
Access the webui at `<your-ip>:7878`, for more information check out [Radarr](https://github.com/Radarr/Radarr).
**Special Note**: Following our current folder structure will result in an inability to hardlink from your downloads to your movies folder because they are on seperate volumes. To support hardlinking, ensure that the movies and downloads data are on a single volume. For example, if you have `/mnt/storage/Movies` and `/mnt/storage/downloads/completed/Movies`, you would want something like `/mnt/storage:/media` for your volume. Then you can hardlink from `/media/downloads/completed` to `/media/Movies`.
### Media folders
Another item to keep in mind, is that within Radarr itself, you should map your download client folder to your radarr folder. Navigate to **Settings -> Download Client -> Advanced Settings -> Remote Path Mappings**. Add a new mapping, and set: the Host as the same entry of the Host in your download client (for example its IP address), the Remote Path as `/downloads/Movies` (relative to the internal container path), and Local Path as `/media/downloads/completed/Movies`, assuming you have folders to separate your downloaded data types.
We have set `/movies` and `/downloads` as ***optional paths***, this is because it is the easiest way to get started. While easy to use, it has some drawbacks. Mainly losing the ability to hardlink (TL;DR a way for a file to exist in multiple places on the same file system while only consuming one file worth of space), or atomic move (TL;DR instant file moves, rather than copy+delete) files while processing content.
Use the optional paths if you don't understand, or don't want hardlinks/atomic moves.
The folks over at servarr.com wrote a good [write-up](https://wiki.servarr.com/docker-guide#consistent-and-well-planned-paths) on how to get started with this.
# init diagram
init_diagram: |
"radarr: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-radarr-config -> init-config-end
init-config -> init-crontab-config
init-mods-end -> init-custom-files
base -> init-envfile
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-envfile -> init-os-end
init-config -> init-radarr-config
init-custom-files -> init-services
init-services -> svc-cron
svc-cron -> legacy-services
init-services -> svc-radarr
svc-radarr -> legacy-services
}
Base Images: {
"baseimage-alpine:3.21"
}
"radarr:latest" <- Base Images
# changelog
changelogs:
- { date: "11.28.20:", desc: "Switch to v3 .NET CORE builds (no more mono, `5.14` tag is deprecated). Rebase to Focal (for issues on arm32v7, [see here](https://docs.linuxserver.io/faq#my-host-is-incompatible-with-images-based-on-ubuntu-focal))." }
- { date: "05.04.20:", desc: "Move app to /app." }
- { date: "01.08.19:", desc: "Rebase to Linuxserver LTS mono version." }
- { date: "13.06.19:", desc: "Add env variable for setting umask." }
- { date: "10.05.19:", desc: "Rebase to Bionic." }
- { date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag." }
- { date: "09.09.18:", desc: "Add pipeline build process." }
- { date: "24.02.18:", desc: "Add nightly branch." }
- { date: "06.02.18:", desc: "Radarr repo changed owner." }
- { date: "15.12.17:", desc: "Fix continuation lines." }
- { date: "17.04.17:", desc: "Switch to using inhouse mono baseimage, adds python also." }
- { date: "13.04.17:", desc: "Switch to official mono repository." }
- { date: "10.01.17:", desc: "Initial Release." }
- {date: "23.12.24:", desc: "Rebase Alpine 3.21."}
- {date: "31.05.24:", desc: "Rebase Alpine 3.20."}
- {date: "20.03.24:", desc: "Rebase to Alpine 3.19."}
- {date: "06.06.23:", desc: "Rebase master to Alpine 3.18, deprecate armhf as per [https://www.linuxserver.io/armhf](https://www.linuxserver.io/armhf)."}
- {date: "17.01.23:", desc: "Rebase master branch to Alpine 3.17, migrate to s6v3."}
- {date: "06.06.22:", desc: "Rebase master branch to Alpine 3.15."}
- {date: "20.02.22:", desc: "Rebase develop branch to Alpine."}
- {date: "04.02.22:", desc: "Rebase nightly branch to Alpine and deprecate nightly-alpine branch."}
- {date: "27.12.21:", desc: "Add nightly-alpine branch."}
- {date: "17.10.21:", desc: "Remove `UMASK_SET`."}
- {date: "08.05.21:", desc: "Make the paths clearer to the user"}
- {date: "17.01.21:", desc: "Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information."}
- {date: "11.30.20:", desc: "Publish `develop` tag."}
- {date: "11.28.20:", desc: "Switch to v3 .NET CORE builds (no more mono, `5.14` tag is deprecated). Rebase to Focal (for issues on arm32v7, [see here](https://docs.linuxserver.io/faq#my-host-is-incompatible-with-images-based-on-ubuntu-focal))."}
- {date: "05.04.20:", desc: "Move app to /app."}
- {date: "01.08.19:", desc: "Rebase to Linuxserver LTS mono version."}
- {date: "13.06.19:", desc: "Add env variable for setting umask."}
- {date: "10.05.19:", desc: "Rebase to Bionic."}
- {date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag."}
- {date: "09.09.18:", desc: "Add pipeline build process."}
- {date: "24.02.18:", desc: "Add nightly branch."}
- {date: "06.02.18:", desc: "Radarr repo changed owner."}
- {date: "15.12.17:", desc: "Fix continuation lines."}
- {date: "17.04.17:", desc: "Switch to using inhouse mono baseimage, adds python also."}
- {date: "13.04.17:", desc: "Switch to official mono repository."}
- {date: "10.01.17:", desc: "Initial Release."}

View file

@ -1,5 +0,0 @@
#!/usr/bin/with-contenv bash
# permissions
chown -R abc:abc \
/config

View file

@ -0,0 +1,10 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
mkdir -p /run/radarr-temp
if [[ -z ${LSIO_NON_ROOT_USER} ]]; then
lsiown -R abc:abc \
/config \
/run/radarr-temp
fi

View file

@ -0,0 +1 @@
oneshot

View file

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

View file

@ -0,0 +1,11 @@
#!/bin/bash
if [[ -f /config/config.xml ]]; then
PORT=$(xmlstarlet sel -T -t -v /Config/Port /config/config.xml)
fi
if [[ $(curl -sL "http://localhost:${PORT:-7878}/ping" | jq -r '.status' 2>/dev/null) = "OK" ]]; then
exit 0
else
exit 1
fi

View file

@ -0,0 +1 @@
3

View file

@ -0,0 +1,14 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
if [[ -z ${LSIO_NON_ROOT_USER} ]]; then
exec \
s6-notifyoncheck -d -n 300 -w 1000 \
cd /app/radarr/bin s6-setuidgid abc /app/radarr/bin/Radarr \
-nobrowser -data=/config
else
exec \
s6-notifyoncheck -d -n 300 -w 1000 \
cd /app/radarr/bin /app/radarr/bin/Radarr \
-nobrowser -data=/config
fi

View file

@ -0,0 +1 @@
longrun

View file

@ -1,11 +0,0 @@
#!/usr/bin/with-contenv bash
UMASK_SET=${UMASK_SET:-022}
umask "$UMASK_SET"
cd /app/radarr/bin || exit
exec \
s6-setuidgid abc /app/radarr/bin/Radarr \
-nobrowser -data=/config