Compare commits

...

319 Commits

Author SHA1 Message Date
LinuxServer-CI
95f69de4c7
Bot Updating Package Versions 2026-03-06 19:46:44 +00:00
LinuxServer-CI
092f60a2f6
Bot Updating Package Versions 2026-02-27 19:46:28 +00:00
LinuxServer-CI
88bc398d90
Bot Updating Package Versions 2026-02-20 19:46:28 +00:00
LinuxServer-CI
4d3da03084
Bot Updating Package Versions 2026-02-16 23:38:57 +00:00
LinuxServer-CI
335dc7204c
Bot Updating Package Versions 2026-02-13 19:58:02 +00:00
LinuxServer-CI
286c86faac
Bot Updating Templated Files 2026-02-13 19:53:14 +00:00
LinuxServer-CI
a4654f492c
Bot Updating Templated Files 2026-02-13 19:51:06 +00:00
LinuxServer-CI
dba0a658f5
Bot Updating Package Versions 2026-02-06 19:48:33 +00:00
LinuxServer-CI
bc70316e36
Bot Updating Package Versions 2026-01-31 02:32:21 +00:00
LinuxServer-CI
2570db87c6
Bot Updating Package Versions 2026-01-30 19:44:36 +00:00
LinuxServer-CI
482e4d294a
Bot Updating Package Versions 2026-01-23 19:36:09 +00:00
LinuxServer-CI
abfef865c2
Bot Updating Package Versions 2026-01-16 19:30:27 +00:00
LinuxServer-CI
279742c659
Bot Updating Package Versions 2026-01-09 14:46:30 +00:00
aptalca
15cc5b94bc
Merge pull request #78 from linuxserver/gcompat
add gcompat for mini-racer
2026-01-09 09:41:32 -05:00
aptalca
5090abcfc2
add gcompat for mini-racer 2026-01-09 08:09:13 -05:00
LinuxServer-CI
990d25043d
Bot Updating Package Versions 2026-01-02 19:27:58 +00:00
LinuxServer-CI
06003eaf30
Bot Updating Package Versions 2025-12-26 19:28:16 +00:00
LinuxServer-CI
b858e98a35
Bot Updating Package Versions 2025-12-22 13:41:37 +00:00
LinuxServer-CI
4b2e592880
Bot Updating Package Versions 2025-12-19 19:28:50 +00:00
LinuxServer-CI
0338309ad4
Bot Updating Package Versions 2025-12-12 19:29:08 +00:00
LinuxServer-CI
47fe8e0276
Bot Updating Package Versions 2025-12-05 19:28:45 +00:00
LinuxServer-CI
760deb3935
Bot Updating Package Versions 2025-11-28 19:26:55 +00:00
LinuxServer-CI
bfc01ea58e
Bot Updating Package Versions 2025-11-21 19:29:26 +00:00
LinuxServer-CI
38ee050492
Bot Updating Templated Files 2025-11-21 19:25:26 +00:00
LinuxServer-CI
5f7689e9c1
Bot Updating Package Versions 2025-11-14 19:27:21 +00:00
LinuxServer-CI
ecc6bfd7e4
Bot Updating Package Versions 2025-11-07 19:26:59 +00:00
LinuxServer-CI
de0f300cf7
Bot Updating Package Versions 2025-10-31 19:24:46 +00:00
LinuxServer-CI
03cb2710d3
Bot Updating Package Versions 2025-10-24 19:29:33 +00:00
LinuxServer-CI
267a7a9c5d
Bot Updating Templated Files 2025-10-24 19:24:43 +00:00
LinuxServer-CI
52f6b687ca
Bot Updating Package Versions 2025-10-17 19:25:27 +00:00
LinuxServer-CI
abbce2bf8f
Bot Updating Package Versions 2025-10-10 19:25:46 +00:00
LinuxServer-CI
c7da815bc1
Bot Updating Package Versions 2025-10-03 19:25:06 +00:00
LinuxServer-CI
9a51c30e33
Bot Updating Package Versions 2025-09-26 19:24:28 +00:00
LinuxServer-CI
b3a7b99ce1
Bot Updating Package Versions 2025-09-19 19:25:03 +00:00
LinuxServer-CI
eabfc47bc5
Bot Updating Package Versions 2025-09-12 19:24:58 +00:00
LinuxServer-CI
6388d7e4b3
Bot Updating Package Versions 2025-09-05 19:25:50 +00:00
LinuxServer-CI
63d753a73e
Bot Updating Package Versions 2025-09-01 21:18:33 +00:00
aptalca
fd27e80e80
Merge pull request #74 from linuxserver/libatomic
add new dep, libatomic
2025-09-01 17:12:03 -04:00
aptalca
283d768dca
add new dep, libatomic 2025-09-01 17:01:20 -04:00
LinuxServer-CI
fc5924af13
Bot Updating Package Versions 2025-08-29 19:25:29 +00:00
LinuxServer-CI
d3fde41d7f
Bot Updating Package Versions 2025-08-27 15:29:38 +00:00
LinuxServer-CI
14cb4daf6e
Bot Updating Package Versions 2025-08-21 18:37:11 +00:00
LinuxServer-CI
bfa200aedc
Bot Updating Package Versions 2025-08-09 23:28:06 +00:00
LinuxServer-CI
7407a61aff
Bot Updating Package Versions 2025-08-08 19:27:52 +00:00
LinuxServer-CI
97f9f40efa
Bot Updating Package Versions 2025-08-02 22:29:21 +00:00
LinuxServer-CI
828523a98b
Bot Updating Package Versions 2025-08-01 19:30:00 +00:00
LinuxServer-CI
a13ad99c7b
Bot Updating Package Versions 2025-07-25 19:30:23 +00:00
LinuxServer-CI
fa7e5784ec
Bot Updating Package Versions 2025-07-18 19:29:38 +00:00
LinuxServer-CI
f928209d8f
Bot Updating Package Versions 2025-07-11 21:28:05 +00:00
LinuxServer-CI
db9974b7ef
Bot Updating Package Versions 2025-07-11 19:29:25 +00:00
LinuxServer-CI
5ab8117606
Bot Updating Package Versions 2025-07-04 19:33:55 +00:00
LinuxServer-CI
0d1086b673
Bot Updating Templated Files 2025-07-04 19:27:24 +00:00
LinuxServer-CI
4a36179f34
Bot Updating Templated Files 2025-07-04 19:25:17 +00:00
LinuxServer-CI
9644de3625
Bot Updating Package Versions 2025-06-27 19:25:55 +00:00
LinuxServer-CI
a1d260878d
Bot Updating Package Versions 2025-06-20 19:26:50 +00:00
LinuxServer-CI
3ff1965400
Bot Updating Package Versions 2025-06-13 19:29:49 +00:00
LinuxServer-CI
c97131b0b2
Bot Updating Templated Files 2025-06-13 19:25:05 +00:00
LinuxServer-CI
9a81d0641d
Bot Updating Package Versions 2025-06-09 14:50:35 +00:00
LinuxServer-CI
dee4a2292c
Bot Updating Templated Files 2025-06-09 14:45:51 +00:00
aptalca
ee726da009
Merge pull request #67 from linuxserver/3.22
rebase to alpine 3.22
2025-06-09 10:43:33 -04:00
aptalca
00d06e9320
rebase to alpine 3.22 2025-06-09 09:17:04 -04:00
LinuxServer-CI
1514e66bd5
Bot Updating Templated Files 2025-05-16 19:23:41 +00:00
LinuxServer-CI
9c202c8f74
Bot Updating Package Versions 2025-02-21 19:22:19 +00:00
LinuxServer-CI
9387a8789f
Bot Updating Package Versions 2025-02-14 19:26:26 +00:00
LinuxServer-CI
487cac2b60
Bot Updating Templated Files 2025-02-14 19:22:30 +00:00
LinuxServer-CI
71a7f8d76a
Bot Updating Package Versions 2025-02-07 19:23:40 +00:00
LinuxServer-CI
87a7b4b67b
Bot Updating Package Versions 2025-01-31 19:33:28 +00:00
LinuxServer-CI
17abbacf96
Bot Updating Templated Files 2025-01-31 19:21:50 +00:00
LinuxServer-CI
44267d4ab1
Bot Updating Templated Files 2025-01-31 19:20:38 +00:00
quietsy
b1c904127a
Merge pull request #58 from linuxserver/add-project-categories
Add categories to readme-vars.yml
2025-01-22 22:11:10 +02:00
quietsy
3ba2a19704 Add categories to readme-vars.yml 2025-01-22 20:43:22 +02:00
LinuxServer-CI
95008730e4
Bot Updating Package Versions 2025-01-17 19:25:37 +00:00
LinuxServer-CI
e3730c1b46
Bot Updating Package Versions 2025-01-10 19:22:25 +00:00
LinuxServer-CI
cba8dba0e2
Bot Updating Package Versions 2025-01-03 19:22:21 +00:00
LinuxServer-CI
9147cb0738
Bot Updating Package Versions 2024-12-27 19:26:16 +00:00
LinuxServer-CI
89ba78f145
Bot Updating Package Versions 2024-12-20 19:30:31 +00:00
LinuxServer-CI
10b903a2e2
Bot Updating Templated Files 2024-12-20 19:25:34 +00:00
LinuxServer-CI
2a418998ca
Bot Updating Templated Files 2024-12-20 19:22:47 +00:00
LinuxServer-CI
3a8fe923ff
Bot Updating Package Versions 2024-12-13 19:24:29 +00:00
LinuxServer-CI
25efcf0cc5
Bot Updating Package Versions 2024-12-06 19:30:06 +00:00
LinuxServer-CI
fa29193222
Bot Updating Templated Files 2024-12-06 19:26:13 +00:00
LinuxServer-CI
b36bba60be
Bot Updating Templated Files 2024-12-06 19:24:30 +00:00
LinuxServer-CI
b8f410fc8d
Bot Updating Templated Files 2024-12-06 19:22:45 +00:00
LinuxServer-CI
b27af7ffbb
Bot Updating Package Versions 2024-11-29 19:25:58 +00:00
LinuxServer-CI
df17a78ad5
Bot Updating Package Versions 2024-11-15 19:27:50 +00:00
LinuxServer-CI
fe25f6d59e
Bot Updating Templated Files 2024-11-15 19:23:32 +00:00
LinuxServer-CI
1bbdc8b85f
Bot Updating Templated Files 2024-11-15 19:21:54 +00:00
LinuxServer-CI
591b576238
Bot Updating Package Versions 2024-11-08 19:22:51 +00:00
LinuxServer-CI
419c0f7a65
Bot Updating Package Versions 2024-11-01 19:24:47 +00:00
LinuxServer-CI
1b2650a9d6
Bot Updating Package Versions 2024-10-25 22:21:49 +00:00
LinuxServer-CI
1559076810
Bot Updating Package Versions 2024-10-25 19:23:12 +00:00
LinuxServer-CI
79ddd37d01
Bot Updating Package Versions 2024-10-18 19:21:13 +00:00
LinuxServer-CI
308ffa6332
Bot Updating Package Versions 2024-10-11 19:23:17 +00:00
LinuxServer-CI
52360d1b85
Bot Updating Package Versions 2024-10-04 19:26:47 +00:00
LinuxServer-CI
589f63f8ba
Bot Updating Templated Files 2024-10-04 19:23:18 +00:00
LinuxServer-CI
5b372fb35e
Bot Updating Templated Files 2024-09-27 19:25:06 +00:00
LinuxServer-CI
3797bf4291
Bot Updating Templated Files 2024-09-27 19:23:28 +00:00
LinuxServer-CI
79f6c5d648
Bot Updating Templated Files 2024-09-27 19:22:11 +00:00
LinuxServer-CI
b469142299
Bot Updating Package Versions 2024-09-20 19:24:54 +00:00
LinuxServer-CI
bb150e98b2
Bot Updating Package Versions 2024-09-13 19:23:52 +00:00
LinuxServer-CI
e2db8aa0e8
Bot Updating Package Versions 2024-09-06 19:23:18 +00:00
LinuxServer-CI
9273ff5d4a
Bot Updating Package Versions 2024-08-30 19:21:03 +00:00
LinuxServer-CI
7d3430a679
Bot Updating Package Versions 2024-08-23 19:25:43 +00:00
LinuxServer-CI
13d5b5cea1
Bot Updating Templated Files 2024-08-23 19:21:19 +00:00
LinuxServer-CI
b890e155e9 Bot Updating Templated Files 2024-08-23 19:19:56 +00:00
LinuxServer-CI
c9cbfd185e Bot Updating Package Versions 2024-08-16 19:24:18 +00:00
LinuxServer-CI
b550919318 Bot Updating Package Versions 2024-08-09 19:21:50 +00:00
LinuxServer-CI
c73cc56c90 Bot Updating Package Versions 2024-08-02 19:20:56 +00:00
LinuxServer-CI
7f03356f1e Bot Updating Package Versions 2024-07-26 19:22:17 +00:00
LinuxServer-CI
4b6efac4bd Bot Updating Package Versions 2024-07-20 15:00:44 +00:00
LinuxServer-CI
a438a35e31 Bot Updating Templated Files 2024-07-20 14:57:03 +00:00
Roxedus
47d8b35061
Merge pull request #53 from linuxserver/main-3.19-revert
Revert to 3.19 (main)
2024-07-20 16:55:37 +02:00
thespad
3ce515b55b
Revert to 3.19 2024-07-20 13:58:02 +01:00
LinuxServer-CI
ccccdf8f09 Bot Updating Package Versions 2024-07-19 19:23:22 +00:00
LinuxServer-CI
c4bd9257d8 Bot Updating Package Versions 2024-07-12 19:23:51 +00:00
LinuxServer-CI
37fac01b1c Bot Updating Templated Files 2024-07-12 19:20:28 +00:00
LinuxServer-CI
2829fe6dc4 Bot Updating Templated Files 2024-07-12 19:19:06 +00:00
LinuxServer-CI
f98aefdf61 Bot Updating Package Versions 2024-07-05 19:21:53 +00:00
LinuxServer-CI
9e1073e1f4 Bot Updating Package Versions 2024-06-28 09:27:48 +00:00
Roxedus
5ed8ab3c60
Merge pull request #51 from linuxserver/main-3.20 2024-06-28 11:22:27 +02:00
thespad
98008dd636
Rebase to 3.20 2024-06-27 16:13:04 +01:00
LinuxServer-CI
bcba689bbf Bot Updating Package Versions 2024-06-21 19:20:51 +00:00
LinuxServer-CI
ec38bc8a5c Bot Updating Package Versions 2024-06-14 19:22:01 +00:00
LinuxServer-CI
f6ccb8ef19 Bot Updating Package Versions 2024-06-07 19:22:16 +00:00
LinuxServer-CI
09af257152 Bot Updating Package Versions 2024-05-24 19:25:04 +00:00
LinuxServer-CI
4611a434da Bot Updating Templated Files 2024-05-24 19:20:41 +00:00
LinuxServer-CI
bee23a6016 Bot Updating Templated Files 2024-05-24 19:19:16 +00:00
LinuxServer-CI
96b9026541 Bot Updating Package Versions 2024-05-17 19:19:57 +00:00
LinuxServer-CI
a518fd5fb3 Bot Updating Package Versions 2024-05-10 19:25:18 +00:00
LinuxServer-CI
fcf0163413 Bot Updating Templated Files 2024-05-10 19:20:31 +00:00
LinuxServer-CI
42339f0bfa Bot Updating Package Versions 2024-05-03 19:21:57 +00:00
LinuxServer-CI
d5157f1c99 Bot Updating Templated Files 2024-05-03 19:18:11 +00:00
LinuxServer-CI
f971365d73 Bot Updating Package Versions 2024-04-26 22:22:47 +00:00
LinuxServer-CI
dad32e5a8b Bot Updating Package Versions 2024-04-26 19:19:54 +00:00
LinuxServer-CI
656e133eb5 Bot Updating Package Versions 2024-04-21 03:22:10 +00:00
LinuxServer-CI
89f60af311 Bot Updating Package Versions 2024-04-19 19:20:24 +00:00
LinuxServer-CI
b635de0c31 Bot Updating Package Versions 2024-04-12 19:19:47 +00:00
LinuxServer-CI
dbe4fc31de Bot Updating Package Versions 2024-04-05 19:20:17 +00:00
LinuxServer-CI
f827516f45 Bot Updating Package Versions 2024-03-29 19:19:20 +00:00
LinuxServer-CI
49cb1b7363 Bot Updating Package Versions 2024-03-22 19:25:25 +00:00
LinuxServer-CI
5c78b91ead Bot Updating Package Versions 2024-03-15 19:22:45 +00:00
LinuxServer-CI
c7755b565d Bot Updating Templated Files 2024-03-15 19:18:01 +00:00
LinuxServer-CI
14216bd63b Bot Updating Package Versions 2024-03-01 19:19:26 +00:00
LinuxServer-CI
8d574bbaff Bot Updating Package Versions 2024-02-29 01:13:26 +00:00
LinuxServer-CI
a2827085b1 Bot Updating Package Versions 2024-02-23 19:28:25 +00:00
LinuxServer-CI
5a8da70147 Bot Updating Templated Files 2024-02-23 19:23:43 +00:00
LinuxServer-CI
06311a99e0 Bot Updating Templated Files 2024-02-23 19:22:00 +00:00
LinuxServer-CI
cede98832f Bot Updating Package Versions 2024-02-16 19:19:41 +00:00
LinuxServer-CI
9879d35848 Bot Updating Package Versions 2024-02-10 21:17:48 +00:00
LinuxServer-CI
abd068fe06 Bot Updating Package Versions 2024-02-09 19:19:30 +00:00
LinuxServer-CI
7076d26456 Bot Updating Package Versions 2024-02-05 23:20:37 +00:00
LinuxServer-CI
7c073a7d3b Bot Updating Package Versions 2024-02-02 19:21:38 +00:00
LinuxServer-CI
b231ae040c Bot Updating Package Versions 2024-01-26 19:17:43 +00:00
LinuxServer-CI
c748b69402 Bot Updating Package Versions 2024-01-25 02:36:36 +00:00
LinuxServer-CI
e52cf2ecb4 Bot Updating Templated Files 2024-01-25 02:31:18 +00:00
Eric Nemchik
987793fa93
Merge pull request #44 from linuxserver/3.19
Rebase to Alpine 3.19
2024-01-24 20:29:10 -06:00
LinuxServer-CI
16ba362f77 Bot Updating Package Versions 2024-01-19 19:20:04 +00:00
LinuxServer-CI
9e5f372869 Bot Updating Package Versions 2024-01-18 01:19:31 +00:00
LinuxServer-CI
9a3b7ac395 Bot Updating Package Versions 2024-01-12 19:24:09 +00:00
LinuxServer-CI
999f8835f6 Bot Updating Templated Files 2024-01-12 19:20:25 +00:00
LinuxServer-CI
715b00a9c3 Bot Updating Templated Files 2024-01-12 19:18:35 +00:00
LinuxServer-CI
14eec4bffc Bot Updating Package Versions 2024-01-06 01:17:25 +00:00
LinuxServer-CI
d382c22f1c Bot Updating Package Versions 2024-01-05 19:21:10 +00:00
LinuxServer-CI
422f3e8fb1 Bot Updating Package Versions 2023-12-29 23:21:07 +00:00
Eric Nemchik
f1510cffc2
Rebase to Alpine 3.19
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-12-23 18:10:55 -06:00
LinuxServer-CI
77513105f3 Bot Updating Package Versions 2023-12-22 19:18:26 +00:00
LinuxServer-CI
af09f70a49 Bot Updating Package Versions 2023-12-15 19:19:22 +00:00
LinuxServer-CI
d50bf12048 Bot Updating Package Versions 2023-12-08 19:20:55 +00:00
LinuxServer-CI
75768b54fb Bot Updating Package Versions 2023-12-01 19:22:35 +00:00
LinuxServer-CI
ab26c3b5f1 Bot Updating Package Versions 2023-11-21 22:19:33 +00:00
LinuxServer-CI
de26856e5e Bot Updating Package Versions 2023-11-17 19:22:21 +00:00
LinuxServer-CI
baea2216a5 Bot Updating Templated Files 2023-11-17 19:18:56 +00:00
LinuxServer-CI
f4628df32d Bot Updating Package Versions 2023-11-10 19:18:43 +00:00
LinuxServer-CI
5a31ee3068 Bot Updating Package Versions 2023-11-03 19:20:11 +00:00
LinuxServer-CI
9dc08f324e Bot Updating Package Versions 2023-10-27 19:16:50 +00:00
LinuxServer-CI
d7b359198b Bot Updating Package Versions 2023-10-17 22:19:44 +00:00
LinuxServer-CI
289dc16750 Bot Updating Package Versions 2023-10-10 03:41:10 +00:00
LinuxServer-CI
5996862554 Bot Updating Templated Files 2023-10-10 03:36:54 +00:00
LinuxServer-CI
1fccac8e8c Bot Updating Templated Files 2023-10-10 03:35:20 +00:00
aptalca
e48c1f29c3
Merge pull request #42 from linuxserver/lsio-unrar
install unrar from lsio repo
2023-10-09 23:33:46 -04:00
aptalca
9b5c69368d
install unrar from lsio repo 2023-10-08 15:57:07 -04:00
LinuxServer-CI
356d5dde8d Bot Updating Package Versions 2023-10-06 19:25:56 +00:00
LinuxServer-CI
b28dc6de57 Bot Updating Templated Files 2023-10-06 19:20:53 +00:00
LinuxServer-CI
266ec782c0 Bot Updating Templated Files 2023-10-06 19:18:19 +00:00
LinuxServer-CI
bf93b92dd0 Bot Updating Package Versions 2023-09-29 19:20:24 +00:00
LinuxServer-CI
a98d39ae4b Bot Updating Package Versions 2023-09-22 19:18:46 +00:00
LinuxServer-CI
734881d38c Bot Updating Package Versions 2023-09-15 19:18:20 +00:00
LinuxServer-CI
cf1e4b792e Bot Updating Package Versions 2023-09-08 19:18:09 +00:00
LinuxServer-CI
291f4ec429 Bot Updating Package Versions 2023-09-01 19:18:40 +00:00
LinuxServer-CI
b4349593e9 Bot Updating Package Versions 2023-08-25 19:18:07 +00:00
LinuxServer-CI
307a174be9 Bot Updating Package Versions 2023-08-19 23:18:57 +00:00
LinuxServer-CI
798119ed2f Bot Updating Package Versions 2023-08-18 19:20:44 +00:00
LinuxServer-CI
a4391d3fad Bot Updating Package Versions 2023-08-10 21:10:51 +00:00
LinuxServer-CI
8787b07d59 Bot Updating Templated Files 2023-08-10 21:06:32 +00:00
Adam
28e6ad531b
Merge pull request #38 from linuxserver/main-unrar 2023-08-10 22:04:19 +01:00
TheSpad
57c1115747
Bump unrar to 6.2.10 2023-08-10 17:53:43 +01:00
LinuxServer-CI
ff93af383a Bot Updating Package Versions 2023-08-04 19:20:38 +00:00
LinuxServer-CI
bcab078b4c Bot Updating Package Versions 2023-07-28 19:20:52 +00:00
LinuxServer-CI
51ec27fbb4 Bot Updating Package Versions 2023-07-21 19:20:24 +00:00
LinuxServer-CI
e9ccc78aa9 Bot Updating Package Versions 2023-07-14 19:22:51 +00:00
LinuxServer-CI
9b382d6654 Bot Updating Package Versions 2023-07-07 19:25:16 +00:00
LinuxServer-CI
ac3796c667 Bot Updating Templated Files 2023-07-07 19:19:11 +00:00
LinuxServer-CI
dc8b7b640e Bot Updating Package Versions 2023-06-30 19:22:42 +00:00
LinuxServer-CI
a3ff29f8ca Bot Updating Package Versions 2023-06-23 19:23:34 +00:00
LinuxServer-CI
4e67fe41a7 Bot Updating Package Versions 2023-06-19 09:23:53 +00:00
LinuxServer-CI
e6d83cbb17 Bot Updating Package Versions 2023-06-16 19:20:41 +00:00
LinuxServer-CI
3edebe1857 Bot Updating Package Versions 2023-06-09 19:18:40 +00:00
LinuxServer-CI
1497b8fbcf Bot Updating Package Versions 2023-06-07 12:48:33 +00:00
Adam
333cdfc0e1
Merge pull request #35 from linuxserver/main-port 2023-06-07 13:45:20 +01:00
TheSpad
dbb5153061
Support custom ports in readiness check 2023-06-07 13:21:41 +01:00
LinuxServer-CI
f21fdc7c5e Bot Updating Package Versions 2023-06-03 02:13:29 +00:00
aptalca
e2fb3160e3
Merge pull request #32 from linuxserver/unrar
switch to 7zip, add unrar
2023-06-02 22:08:21 -04:00
LinuxServer-CI
05e6c41b29 Bot Updating Package Versions 2023-06-02 19:19:38 +00:00
aptalca
c0b1c74a58
switch to 7zip in aarch64 2023-06-02 12:54:22 -04:00
aptalca
b0522d2794
switch to 7zip, add unrar 2023-06-01 15:53:04 -04:00
LinuxServer-CI
188b401f23 Bot Updating Package Versions 2023-05-28 00:23:16 +00:00
Eric Nemchik
834d23b77e
Merge pull request #29 from linuxserver/3.18
Rebase to Alpine 3.18, deprecate armhf
2023-05-27 19:18:10 -05:00
LinuxServer-CI
d5d6a9ecf1 Bot Updating Package Versions 2023-05-26 19:20:20 +00:00
Eric Nemchik
3c64384bc8
Rebase to Alpine 3.18, deprecate armhf 2023-05-26 11:30:27 -05:00
LinuxServer-CI
7440bf6625 Bot Updating Package Versions 2023-05-22 21:21:42 +00:00
LinuxServer-CI
0717bc9334 Bot Updating Templated Files 2023-05-22 21:16:25 +00:00
LinuxServer-CI
64a2e72564 Bot Updating Package Versions 2023-05-19 22:19:52 +00:00
LinuxServer-CI
2a81956404 Bot Updating Package Versions 2023-05-19 19:18:20 +00:00
LinuxServer-CI
97a11a3d0b Bot Updating Package Versions 2023-05-12 19:18:06 +00:00
LinuxServer-CI
c6bfb2be2e Bot Updating Package Versions 2023-05-05 19:18:40 +00:00
LinuxServer-CI
1bc72feeb1 Bot Updating Package Versions 2023-04-30 20:46:18 -05:00
LinuxServer-CI
12ff69a099 Bot Updating Package Versions 2023-04-28 22:18:52 +00:00
LinuxServer-CI
f57a9a0cc6 Bot Updating Package Versions 2023-04-28 19:18:28 +00:00
LinuxServer-CI
da7a58abf2 Bot Updating Package Versions 2023-04-28 17:21:28 +02:00
LinuxServer-CI
1e37eda6e9 Bot Updating Package Versions 2023-04-28 10:28:49 +00:00
LinuxServer-CI
1d4fe720f5 Bot Updating Package Versions 2023-04-28 10:25:12 +00:00
LinuxServer-CI
fc79982de0 Bot Updating Package Versions 2023-04-26 22:00:49 +00:00
LinuxServer-CI
82663542cb Bot Updating Templated Files 2023-04-26 21:57:12 +00:00
LinuxServer-CI
d411630f49 Bot Updating Templated Files 2023-04-26 21:56:11 +00:00
LinuxServer-CI
5e5ea62abc Bot Updating Package Versions 2023-04-24 00:05:05 +00:00
LinuxServer-CI
3b02e1c213 Bot Updating Package Versions 2023-04-21 14:19:47 -05:00
LinuxServer-CI
a8edc031fd Bot Updating Package Versions 2023-04-14 14:19:41 -05:00
LinuxServer-CI
db91d47028 Bot Updating Package Versions 2023-04-07 14:18:55 -05:00
LinuxServer-CI
4aa712aabe Bot Updating Package Versions 2023-04-04 10:01:23 -05:00
LinuxServer-CI
a9adca31bd Bot Updating Templated Files 2023-04-04 09:53:21 -05:00
LinuxServer-CI
e15c515132 Bot Updating Templated Files 2023-04-04 16:51:43 +02:00
LinuxServer-CI
c649f7f65b Bot Updating Templated Files 2023-04-04 09:50:05 -05:00
LinuxServer-CI
0cbef04d95 Bot Updating Package Versions 2023-03-28 16:52:09 +02:00
LinuxServer-CI
48e399f8a0 Bot Updating Package Versions 2023-03-25 08:59:25 +01:00
LinuxServer-CI
9ccafb9957 Bot Updating Package Versions 2023-03-21 15:52:19 +01:00
LinuxServer-CI
5dfccf8e24 Bot Updating Package Versions 2023-03-07 08:54:31 -06:00
LinuxServer-CI
1fc01c6185 Bot Updating Templated Files 2023-03-07 08:50:10 -06:00
LinuxServer-CI
da930d559e Bot Updating Package Versions 2023-02-28 08:51:35 -06:00
LinuxServer-CI
9174082c42 Bot Updating Package Versions 2023-02-21 15:51:53 +01:00
LinuxServer-CI
8d1f0f48dd Bot Updating Package Versions 2023-02-14 08:55:12 -06:00
LinuxServer-CI
efc99ca1f3 Bot Updating Templated Files 2023-02-14 08:51:16 -06:00
LinuxServer-CI
800b3e91f6 Bot Updating Templated Files 2023-02-14 08:49:53 -06:00
LinuxServer-CI
f18bfa020e Bot Updating Package Versions 2023-02-07 12:59:25 -06:00
LinuxServer-CI
ec18f63efc Bot Updating Package Versions 2023-02-07 03:09:32 +01:00
LinuxServer-CI
80a5e5780e Bot Updating Package Versions 2023-01-28 14:59:24 -06:00
LinuxServer-CI
6a84c62b26 Bot Updating Package Versions 2023-01-24 08:51:10 -06:00
LinuxServer-CI
78061ecb70 Bot Updating Package Versions 2023-01-21 14:59:21 -06:00
Eric Nemchik
947e05fc0f
Merge pull request #22 from linuxserver/dependency
Remove baseimage packages
2023-01-20 08:15:26 -06:00
Eric Nemchik
c255090ad2 Remove baseimage packages 2023-01-19 21:01:22 -06:00
LinuxServer-CI
7b33698159 Bot Updating Package Versions 2023-01-17 08:51:23 -06:00
LinuxServer-CI
170a5e8eac Bot Updating Package Versions 2023-01-10 08:52:46 -06:00
LinuxServer-CI
879d986ec1 Bot Updating Package Versions 2023-01-05 03:15:00 +01:00
LinuxServer-CI
6e57774ada Bot Updating Package Versions 2023-01-04 15:59:36 -06:00
LinuxServer-CI
9f8285648f Bot Updating Package Versions 2023-01-03 16:03:04 -06:00
LinuxServer-CI
ff04536d4a Bot Updating Package Versions 2022-12-30 16:38:30 -06:00
LinuxServer-CI
47e190c868 Bot Updating Templated Files 2022-12-30 23:30:25 +01:00
Eric Nemchik
16b76158c9
Merge pull request #20 from linuxserver/3.17-master
Rebase master to alpine 3.17
2022-12-30 16:29:08 -06:00
Eric Nemchik
92e4bad90e
Update run 2022-12-28 18:45:22 -06:00
Eric Nemchik
96d358d81f Rebase master to alpine 3.17 2022-12-27 17:06:21 -06:00
LinuxServer-CI
4312144c63 Bot Updating Package Versions 2022-12-27 08:51:23 -06:00
LinuxServer-CI
0bfddc9828 Bot Updating Package Versions 2022-12-20 08:51:36 -06:00
LinuxServer-CI
42f223e526 Bot Updating Package Versions 2022-12-13 15:51:20 +01:00
LinuxServer-CI
7d63ca1ae4 Bot Updating Templated Files 2022-11-29 15:52:31 +01:00
LinuxServer-CI
29e9f862aa Bot Updating Templated Files 2022-11-29 15:51:13 +01:00
LinuxServer-CI
041a09bc07 Bot Updating Templated Files 2022-11-29 08:49:56 -06:00
LinuxServer-CI
30f05d4825 Bot Updating Package Versions 2022-11-15 15:56:57 +01:00
LinuxServer-CI
3aedf5e729 Bot Updating Templated Files 2022-11-15 15:49:47 +01:00
LinuxServer-CI
0504913416 Bot Updating Package Versions 2022-11-08 15:55:01 +01:00
LinuxServer-CI
9ad948fd0e Bot Updating Package Versions 2022-11-02 01:03:21 +01:00
LinuxServer-CI
b12cea9d6c Bot Updating Package Versions 2022-11-01 10:00:00 -05:00
LinuxServer-CI
48204ee1bb Bot Updating Package Versions 2022-10-11 10:01:36 -05:00
LinuxServer-CI
f404a4b3ee Bot Updating Package Versions 2022-10-10 14:21:20 -05:00
LinuxServer-CI
973b25a6f9 Bot Updating Package Versions 2022-09-27 17:01:52 +02:00
LinuxServer-CI
d33564ef54 Bot Updating Templated Files 2022-09-20 16:58:06 +02:00
LinuxServer-CI
f0bf8e2f4c Bot Updating Package Versions 2022-09-06 09:57:49 -05:00
LinuxServer-CI
df53dda285 Bot Updating Package Versions 2022-08-23 09:51:21 -05:00
LinuxServer-CI
fda6e164ac Bot Updating Package Versions 2022-08-09 09:51:27 -05:00
LinuxServer-CI
611b648ddf Bot Updating Package Versions 2022-08-02 09:51:37 -05:00
LinuxServer-CI
2c9a2057db Bot Updating Package Versions 2022-07-26 09:51:32 -05:00
LinuxServer-CI
c0d69638fe Bot Updating Package Versions 2022-07-19 10:01:04 -05:00
LinuxServer-CI
6dbd039151 Bot Updating Package Versions 2022-07-12 10:01:03 -05:00
LinuxServer-CI
3445c37e5f Bot Updating Package Versions 2022-07-05 16:52:15 +02:00
LinuxServer-CI
2d845567ef Bot Updating Package Versions 2022-05-24 16:57:40 +02:00
LinuxServer-CI
53a3b93cab Bot Updating Package Versions 2022-05-21 12:09:09 -05:00
LinuxServer-CI
3daca376ed Bot Updating Package Versions 2022-05-21 18:01:16 +02:00
LinuxServer-CI
f25d7fdcc5 Bot Updating Package Versions 2022-05-12 01:59:56 +02:00
LinuxServer-CI
69b69d6463 Bot Updating Package Versions 2022-05-10 09:53:48 -05:00
LinuxServer-CI
453e6890cd Bot Updating Package Versions 2022-05-03 10:00:15 -05:00
LinuxServer-CI
fe5ff7960a Bot Updating Templated Files 2022-05-03 09:51:17 -05:00
LinuxServer-CI
e26e428588 Bot Updating Templated Files 2022-05-03 16:49:48 +02:00
LinuxServer-CI
fabf70b6f1 Bot Updating Package Versions 2022-04-26 16:52:53 +02:00
LinuxServer-CI
af8cb4e3dc Bot Updating Package Versions 2022-04-12 09:52:18 -05:00
LinuxServer-CI
566b788fa7 Bot Updating Package Versions 2022-04-05 09:52:02 -05:00
LinuxServer-CI
7b81d430f8 Bot Updating Package Versions 2022-03-29 09:52:36 -05:00
LinuxServer-CI
d60b433f6c Bot Updating Package Versions 2022-03-22 09:52:13 -05:00
LinuxServer-CI
834bbd32b8 Bot Updating Package Versions 2022-03-08 15:52:07 +01:00
LinuxServer-CI
390581557c Bot Updating Package Versions 2022-02-28 03:02:25 +01:00
LinuxServer-CI
677287ab57 Bot Updating Package Versions 2022-02-22 15:52:33 +01:00
LinuxServer-CI
b6c885104a Bot Updating Package Versions 2022-02-16 20:03:05 +01:00
LinuxServer-CI
9710151041 Bot Updating Package Versions 2022-02-08 15:53:26 +01:00
LinuxServer-CI
bbdd23aa11 Bot Updating Package Versions 2022-02-03 02:22:55 +01:00
aptalca
9439c21a52
Merge pull request #9 from linuxserver/ffmpeg
add ffmpeg and click'n'load port
2022-02-02 20:19:00 -05:00
aptalca
58325c00f9 add ffmpeg and click'n'load port 2022-02-02 19:54:58 -05:00
LinuxServer-CI
cafcc7fe19 Bot Updating Package Versions 2022-01-25 14:46:43 +01:00
aptalca
942a01a074
Merge pull request #3 from linuxserver/p7zip
replace unrar with p7zip
2022-01-25 08:40:11 -05:00
aptalca
2bbdd6c2c5 replace unrar with p7zip 2022-01-24 14:46:02 -05:00
LinuxServer-CI
b306349a65 Bot Updating Package Versions 2022-01-24 20:00:53 +01:00
aptalca
be18a646e9
Merge pull request #1 from linuxserver/initial
initial release
2022-01-24 13:52:52 -05:00
aptalca
19229f83a7 fix repo name 2022-01-24 11:44:38 -05:00
40 changed files with 1651 additions and 841 deletions

2
.editorconfig Executable file → Normal file
View File

@ -15,6 +15,6 @@ trim_trailing_whitespace = false
indent_style = space
indent_size = 2
[{**.sh,root/etc/cont-init.d/**,root/etc/services.d/**}]
[{**.sh,root/etc/s6-overlay/s6-rc.d/**,root/etc/cont-init.d/**,root/etc/services.d/**}]
indent_style = space
indent_size = 4

6
.github/CONTRIBUTING.md vendored Executable file → Normal file
View File

@ -6,7 +6,7 @@
* Read, and fill the Pull Request template
* If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR
* If the PR is addressing an existing issue include, closes #\<issue number>, in the body of the PR commit message
* If you want to discuss changes, you can also bring it up in [#dev-talk](https://discordapp.com/channels/354974912613449730/757585807061155840) in our [Discord server](https://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
@ -105,10 +105,10 @@ docker build \
-t linuxserver/pyload-ng:latest .
```
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`
```bash
docker run --rm --privileged multiarch/qemu-user-static:register --reset
docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
```
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.

1
.github/FUNDING.yml vendored Executable file → Normal file
View File

@ -1,2 +1,3 @@
github: linuxserver
open_collective: linuxserver
custom: ["https://PayPal.Me/nitzo2001/0usd",]

2
.github/ISSUE_TEMPLATE/config.yml vendored Executable file → Normal file
View File

@ -1,7 +1,7 @@
blank_issues_enabled: false
contact_links:
- name: Discord chat support
url: https://discord.gg/YWrKVTn
url: https://linuxserver.io/discord
about: Realtime support / chat with the community and the team.
- name: Discourse discussion forum

View File

@ -1,40 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
---
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
<!--- If you are new to Docker or this application our issue tracker is **ONLY** used for reporting bugs or requesting features. Please use [our discord server](https://discord.gg/YWrKVTn) for general support. --->
<!--- Provide a general summary of the bug 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 pyload-ng" -->

76
.github/ISSUE_TEMPLATE/issue.bug.yml vendored Normal 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 pyload-ng"
label: Container logs
placeholder: |
Output of `docker logs pyload-ng`
render: bash
validations:
required: true

View File

@ -1,25 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
---
[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 request in the Title above -->
------------------------------
## Desired Behavior
<!--- Tell us what should happen -->
## Current Behavior
<!--- Tell us what happens instead of the expected behavior -->
## Alternatives Considered
<!--- Tell us what other options you have tried or considered -->

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

0
.github/PULL_REQUEST_TEMPLATE.md vendored Executable file → Normal file
View File

View File

@ -0,0 +1,19 @@
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]
permissions:
contents: read
jobs:
manage-project:
permissions:
issues: write
uses: linuxserver/github-workflows/.github/workflows/issue-pr-tracker.yml@v1
secrets: inherit

16
.github/workflows/call_issues_cron.yml vendored Normal file
View File

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

145
.github/workflows/external_trigger.yml vendored Executable file → Normal file
View File

@ -3,24 +3,42 @@ name: External Trigger Main
on:
workflow_dispatch:
permissions:
contents: read
jobs:
external-trigger-main:
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/main'
env:
SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }}
run: |
if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_PYLOAD_NG_MAIN }}" ]; then
echo "**** Github secret PAUSE_EXTERNAL_TRIGGER_PYLOAD_NG_MAIN is set; skipping trigger. ****"
printf "# External trigger for docker-pyload-ng\n\n" >> $GITHUB_STEP_SUMMARY
if grep -q "^pyload-ng_main_" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`pyload-ng_main_\`; will skip trigger if version matches." >> $GITHUB_STEP_SUMMARY
elif grep -q "^pyload-ng_main" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`pyload-ng_main\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0
fi
echo "**** External trigger running off of main branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_PYLOAD_NG_MAIN\". ****"
echo "**** Retrieving external version ****"
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo "> External trigger running off of main branch. To disable this trigger, add \`pyload-ng_main\` 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://pypi.python.org/pypi/pyload-ng/json" |jq -r '. | .info.version')
echo "Type is \`pip_version\`" >> $GITHUB_STEP_SUMMARY
if grep -q "^pyload-ng_main_${EXT_RELEASE}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` matches current external release; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0
fi
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
echo "**** 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 pyload-ng branch main"
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-pyload-ng/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,
@ -28,65 +46,102 @@ jobs:
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
exit 1
fi
EXT_RELEASE=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
echo "**** External version: ${EXT_RELEASE} ****"
echo "**** Retrieving last pushed version ****"
EXT_RELEASE_SANITIZED=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
echo "Sanitized external version: \`${EXT_RELEASE_SANITIZED}\`" >> $GITHUB_STEP_SUMMARY
echo "Retrieving last pushed version" >> $GITHUB_STEP_SUMMARY
image="linuxserver/pyload-ng"
tag="latest"
token=$(curl -sX GET \
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fpyload-ng%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 pyload-ng 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} ****"
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
echo "**** Version ${EXT_RELEASE} already pushed, exiting ****"
echo "Last pushed version: \`${IMAGE_VERSION}\`" >> $GITHUB_STEP_SUMMARY
if [ "${EXT_RELEASE_SANITIZED}" == "${IMAGE_VERSION}" ]; then
echo "Sanitized version \`${EXT_RELEASE_SANITIZED}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY
exit 0
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-pyload-ng/job/main/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-pyload-ng/job/main/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 pyload-ng 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 pyload-ng 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 sanitized version \`${EXT_RELEASE_SANITIZED}\` 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-pyload-ng/job/main/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 pyload-ng tag latest. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE_SANITIZED}"
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

37
.github/workflows/external_trigger_scheduler.yml vendored Executable file → Normal file
View File

@ -2,42 +2,47 @@ name: External Trigger Scheduler
on:
schedule:
- cron: '54 * * * *'
- cron: '59 * * * *'
workflow_dispatch:
permissions:
contents: read
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-pyload-ng\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-pyload-ng/${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-pyload-ng/${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-pyload-ng/${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-pyload-ng/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

8
.github/workflows/greetings.yml vendored Executable file → Normal file
View File

@ -2,12 +2,18 @@ name: Greetings
on: [pull_request_target, issues]
permissions:
contents: read
jobs:
greeting:
permissions:
issues: write
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/first-interaction@v1
with:
issue-message: 'Thanks for opening your first issue here! Be sure to follow the [bug](https://github.com/linuxserver/docker-pyload-ng/blob/main/.github/ISSUE_TEMPLATE/issue.bug.md) or [feature](https://github.com/linuxserver/docker-pyload-ng/blob/main/.github/ISSUE_TEMPLATE/issue.feature.md) issue templates!'
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-pyload-ng/blob/main/.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-main:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: Package Trigger
if: github.ref == 'refs/heads/main'
run: |
if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_PYLOAD_NG_MAIN }}" ]; then
echo "**** Github secret PAUSE_PACKAGE_TRIGGER_PYLOAD_NG_MAIN is set; skipping trigger. ****"
exit 0
fi
if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-pyload-ng/job/main/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 main branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_PYLOAD_NG_MAIN\". ****"
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-pyload-ng/job/main/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"

111
.github/workflows/package_trigger_scheduler.yml vendored Executable file → Normal file
View File

@ -2,49 +2,102 @@ name: Package Trigger Scheduler
on:
schedule:
- cron: '44 14 * * 2'
- cron: '9 19 * * 5'
workflow_dispatch:
permissions:
contents: read
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-pyload-ng\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-pyload-ng/${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-pyload-ng/${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-pyload-ng/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-pyload-ng/${br}/jenkins-vars.yml)
if ! curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-pyload-ng/${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-pyload-ng/${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 "^pyload-ng_${br}" <<< "${SKIP_PACKAGE_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_PACKAGE_TRIGGER\` contains \`pyload-ng_${br}\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-pyload-ng/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 \`pyload-ng_%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-pyload-ng/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 pyload-ng** \n**Branch(es):** '"${triggered_branches}"' \n**Build URL:** '"https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-pyload-ng/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-pyload-ng/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 pyload-ng** \n'"${NOTIFY_BRANCHES}"''"${NOTIFY_BUILD_URL}"'"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
fi

12
.github/workflows/permissions.yml vendored Normal 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@v3
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 }}

View File

@ -1,4 +1,8 @@
FROM ghcr.io/linuxserver/baseimage-alpine:3.15
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/unrar:latest AS unrar
FROM ghcr.io/linuxserver/baseimage-alpine:3.22
# set version label
ARG BUILD_DATE
@ -22,32 +26,25 @@ RUN \
zlib-dev && \
echo "**** install packages ****" && \
apk add --no-cache \
curl \
ffmpeg \
gcompat \
libatomic \
libjpeg-turbo \
py3-pip \
7zip \
python3 \
sqlite \
tesseract-ocr && \
echo "**** install unrar ****" && \
mkdir /tmp/unrar && \
curl -o /tmp/unrar.tar.gz \
-L "https://www.rarlab.com/rar/unrarsrc-6.1.4.tar.gz" && \
tar xf /tmp/unrar.tar.gz -C \
/tmp/unrar --strip-components=1 && \
cd /tmp/unrar && \
make && \
make install && \
mkdir -p /usr/share/licenses/unrar && \
mv license.txt /usr/share/licenses/unrar/ && \
echo "**** install pyload ****" && \
if [ -z ${PYLOAD_VERSION+x} ]; then \
PYLOAD="pyload-ng[all]"; \
else \
PYLOAD="pyload-ng[all]==${PYLOAD_VERSION}"; \
PYLOAD_VERSION=$(curl -sL https://pypi.python.org/pypi/pyload-ng/json |jq -r '. | .info.version'); \
fi && \
pip3 install -U pip setuptools wheel && \
pip install -U --find-links https://wheel-index.linuxserver.io/alpine-3.15/ \
"${PYLOAD}" && \
python3 -m venv /lsiopy && \
pip install -U --no-cache-dir \
pip \
wheel && \
pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.22/ \
pyload-ng[all]=="${PYLOAD_VERSION}" && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
@ -59,6 +56,9 @@ RUN \
# add local files
COPY root/ /
# add unrar
COPY --from=unrar /usr/bin/unrar-alpine /usr/bin/unrar
# ports and volumes
EXPOSE 8000
VOLUME /config

View File

@ -1,4 +1,8 @@
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.15
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/unrar:arm64v8-latest AS unrar
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.22
# set version label
ARG BUILD_DATE
@ -22,32 +26,25 @@ RUN \
zlib-dev && \
echo "**** install packages ****" && \
apk add --no-cache \
curl \
ffmpeg \
gcompat \
libatomic \
libjpeg-turbo \
py3-pip \
7zip \
python3 \
sqlite \
tesseract-ocr && \
echo "**** install unrar ****" && \
mkdir /tmp/unrar && \
curl -o /tmp/unrar.tar.gz \
-L "https://www.rarlab.com/rar/unrarsrc-6.1.4.tar.gz" && \
tar xf /tmp/unrar.tar.gz -C \
/tmp/unrar --strip-components=1 && \
cd /tmp/unrar && \
make && \
make install && \
mkdir -p /usr/share/licenses/unrar && \
mv license.txt /usr/share/licenses/unrar/ && \
echo "**** install pyload ****" && \
if [ -z ${PYLOAD_VERSION+x} ]; then \
PYLOAD="pyload-ng[all]"; \
else \
PYLOAD="pyload-ng[all]==${PYLOAD_VERSION}"; \
PYLOAD_VERSION=$(curl -sL https://pypi.python.org/pypi/pyload-ng/json |jq -r '. | .info.version'); \
fi && \
pip3 install -U pip setuptools wheel && \
pip install -U --find-links https://wheel-index.linuxserver.io/alpine-3.15/ \
"${PYLOAD}" && \
python3 -m venv /lsiopy && \
pip install -U --no-cache-dir \
pip \
wheel && \
pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.22/ \
pyload-ng[all]=="${PYLOAD_VERSION}" && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
@ -59,6 +56,9 @@ RUN \
# add local files
COPY root/ /
# add unrar
COPY --from=unrar /usr/bin/unrar-alpine /usr/bin/unrar
# ports and volumes
EXPOSE 8000
VOLUME /config

View File

@ -1,64 +0,0 @@
FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.15
# set version label
ARG BUILD_DATE
ARG VERSION
ARG PYLOAD_VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="aptalca"
ENV HOME="/config"
RUN \
echo "**** install build packages ****" && \
apk add --no-cache --virtual=build-dependencies \
build-base \
cargo \
curl-dev \
libffi-dev \
libjpeg-turbo-dev \
openssl-dev \
python3-dev \
zlib-dev && \
echo "**** install packages ****" && \
apk add --no-cache \
curl \
libjpeg-turbo \
py3-pip \
python3 \
sqlite \
tesseract-ocr && \
echo "**** install unrar ****" && \
mkdir /tmp/unrar && \
curl -o /tmp/unrar.tar.gz \
-L "https://www.rarlab.com/rar/unrarsrc-6.1.4.tar.gz" && \
tar xf /tmp/unrar.tar.gz -C \
/tmp/unrar --strip-components=1 && \
cd /tmp/unrar && \
make && \
make install && \
mkdir -p /usr/share/licenses/unrar && \
mv license.txt /usr/share/licenses/unrar/ && \
echo "**** install pyload ****" && \
if [ -z ${PYLOAD_VERSION+x} ]; then \
PYLOAD="pyload-ng[all]"; \
else \
PYLOAD="pyload-ng[all]==${PYLOAD_VERSION}"; \
fi && \
pip3 install -U pip setuptools wheel && \
pip install -U --find-links https://wheel-index.linuxserver.io/alpine-3.15/ \
"${PYLOAD}" && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/tmp/* \
${HOME}/.cache \
${HOME}/.cargo
# add local files
COPY root/ /
# ports and volumes
EXPOSE 8000
VOLUME /config

1033
Jenkinsfile vendored

File diff suppressed because it is too large Load Diff

213
README.md
View File

@ -1,12 +1,10 @@
<!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read the https://github.com/linuxserver/docker-pyload-ng/blob/main/.github/CONTRIBUTING.md -->
<!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read https://github.com/linuxserver/docker-pyload-ng/blob/main/.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.")
[![Open Collective](https://img.shields.io/opencollective/all/linuxserver.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Supporters&logo=open%20collective)](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
@ -21,15 +19,14 @@ The [LinuxServer.io](https://linuxserver.io) team brings you another container r
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.
* [Open Collective](https://opencollective.com/linuxserver) - please consider helping us by either donating or contributing to our budget
# [linuxserver/pyload-ng](https://github.com/linuxserver/docker-pyload-ng)
[![Scarf.io pulls](https://scarf.sh/installs-badge/linuxserver-ci/linuxserver%2Fpyload-ng?color=94398d&label-color=555555&logo-color=ffffff&style=for-the-badge&package-type=docker)](https://scarf.sh/gateway/linuxserver-ci/docker/linuxserver%2Fpyload-ng)
[![Scarf.io pulls](https://scarf.sh/installs-badge/linuxserver-ci/linuxserver%2Fpyload-ng?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-pyload-ng.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-pyload-ng)
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-pyload-ng.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-pyload-ng/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-pyload-ng/packages)
@ -42,34 +39,33 @@ Find us at:
[pyLoad](https://pyload.net/) is a Free and Open Source download manager written in Python and designed to be extremely lightweight, easily extensible and fully manageable via web.
[![pyload-ng](https://pyload.net/img/banner.png)](https://pyload.net/)
[![pyload-ng](https://github.com/linuxserver/docker-templates/raw/master/linuxserver.io/img/pyload-logo.png)](https://pyload.net/)
## 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 `lscr.io/linuxserver/pyload-ng` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
Simply pulling `lscr.io/linuxserver/pyload-ng: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\> |
## 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 releases from pyLoad Next |
| development | Releases from pyload Next development branch |
| Tag | Available | Description |
| :----: | :----: |--- |
| latest | ✅ | Stable releases from pyLoad Next |
| develop | ✅ | Releases from pyload Next develop branch |
## Application Setup
Access the web interface at `http://your-ip:8000` the default login is:
Access the web interface at `http://your-ip:8000` the default login is:
username - **pyload**
password - **pyload**
@ -77,26 +73,29 @@ For general usage please see the pyLoad wiki [here](https://github.com/pyload/py
## 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.
>[!NOTE]
>Unless a parameter is flagged as 'optional', it is *mandatory* and a value must be provided.
### docker-compose (recommended, [click here for more info](https://docs.linuxserver.io/general/docker-compose))
```yaml
---
version: "2.1"
services:
pyload-ng:
image: lscr.io/linuxserver/pyload-ng
image: lscr.io/linuxserver/pyload-ng:latest
container_name: pyload-ng
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- TZ=Etc/UTC
volumes:
- /path/to/appdata/config:/config
- /path/to/pyload-ng/config:/config
- /path/to/downloads:/downloads
ports:
- 8000:8000
- 9666:9666 #optional
restart: unless-stopped
```
@ -107,25 +106,27 @@ docker run -d \
--name=pyload-ng \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-e TZ=Etc/UTC \
-p 8000:8000 \
-v /path/to/appdata/config:/config \
-p 9666:9666 `#optional` \
-v /path/to/pyload-ng/config:/config \
-v /path/to/downloads:/downloads \
--restart unless-stopped \
lscr.io/linuxserver/pyload-ng
lscr.io/linuxserver/pyload-ng: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 8000` | Allows HTTP access to the application |
| `-p 8000:8000` | Allows HTTP access to the application |
| `-p 9666` | Click'n'Load port. |
| `-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 |
| `-v /config` | pyLoad Configuration and files database |
| `-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` | Persistent config files |
| `-v /downloads` | Destination of pyLoad downloads |
## Environment variables from files (Docker secrets)
@ -135,10 +136,10 @@ You can set any environment variable from a file by using a special prepend `FIL
As an example:
```bash
-e FILE__PASSWORD=/run/secrets/mysecretpassword
-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,15 +148,20 @@ 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:
```bash
$ id username
uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
id your_user
```
Example output:
```text
uid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
```
## Docker Mods
@ -166,53 +172,101 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to
## Support Info
* Shell access whilst the container is running: `docker exec -it pyload-ng /bin/bash`
* To monitor the logs of the container in realtime: `docker logs -f pyload-ng`
* container version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' pyload-ng`
* image version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/pyload-ng`
* Shell access whilst the container is running:
```bash
docker exec -it pyload-ng /bin/bash
```
* To monitor the logs of the container in realtime:
```bash
docker logs -f pyload-ng
```
* Container version number:
```bash
docker inspect -f '{{ index .Config.Labels "build_version" }}' pyload-ng
```
* Image version number:
```bash
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/pyload-ng: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 pyload-ng`
* Let compose update all containers as necessary: `docker-compose up -d`
* or update a single container: `docker-compose up -d pyload-ng`
* 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 pyload-ng
```
* Update containers:
* All containers:
```bash
docker-compose up -d
```
* Single container:
```bash
docker-compose up -d pyload-ng
```
* You can also remove the old dangling images:
```bash
docker image prune
```
### Via Docker Run
* Update the image: `docker pull lscr.io/linuxserver/pyload-ng`
* Stop the running container: `docker stop pyload-ng`
* Delete the container: `docker rm pyload-ng`
* Update the image:
```bash
docker pull lscr.io/linuxserver/pyload-ng:latest
```
* Stop the running container:
```bash
docker stop pyload-ng
```
* Delete the container:
```bash
docker rm pyload-ng
```
* 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:
```bash
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--run-once pyload-ng
```
* 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
@ -227,14 +281,27 @@ docker build \
-t lscr.io/linuxserver/pyload-ng:latest .
```
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`
```bash
docker run --rm --privileged multiarch/qemu-user-static:register --reset
docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
```
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
## Versions
* **09.01.26:** - Add gcompat for mini-racer.
* **01.09.25:** - Add new dep, libatomic.
* **09.06.25:** - Rebase to Alpine 3.22.
* **20.07.24:** - Revert to Alpine 3.19 due to inconsistent upstream addon support for Python 3.12.
* **27.06.24:** - Rebase to Alpine 3.20.
* **23.12.23:** - Rebase to Alpine 3.19.
* **08.10.23:** - Install unrar from [linuxserver repo](https://github.com/linuxserver/docker-unrar).
* **10.08.23:** - Bump unrar to 6.2.10.
* **01.06.23:** - Replace p7zip with 7zip, add unrar.
* **25.05.23:** - Rebase to Alpine 3.18, deprecate armhf.
* **02.02.22:** - Rebase master to alpine 3.17.
* **02.02.22:** - Add ffmpeg for the Youtube plugin.
* **24.01.22:** - Replace unrar with p7zip.
* **24.01.22:** - Initial release.

View File

@ -10,11 +10,11 @@ repo_vars:
- EXT_PIP = 'pyload-ng'
- BUILD_VERSION_ARG = 'PYLOAD_VERSION'
- LS_USER = 'linuxserver'
- LS_REPO = 'docker-pyload'
- CONTAINER_NAME = 'pyload'
- DOCKERHUB_IMAGE = 'linuxserver/pyload'
- DEV_DOCKERHUB_IMAGE = 'lsiodev/pyload'
- PR_DOCKERHUB_IMAGE = 'lspipepr/pyload'
- LS_REPO = 'docker-pyload-ng'
- CONTAINER_NAME = 'pyload-ng'
- DOCKERHUB_IMAGE = 'linuxserver/pyload-ng'
- DEV_DOCKERHUB_IMAGE = 'lsiodev/pyload-ng'
- PR_DOCKERHUB_IMAGE = 'lspipepr/pyload-ng'
- DIST_IMAGE = 'alpine'
- MULTIARCH='true'
- CI='true'
@ -22,6 +22,8 @@ repo_vars:
- CI_PORT='8000'
- CI_SSL='false'
- CI_DELAY='120'
- CI_DOCKERENV='TZ=US/Pacific'
- CI_AUTH='user:password'
- CI_DOCKERENV=''
- CI_AUTH=''
- CI_WEBPATH=''
sponsor_links:
- { name: "pyLoad", url: "https://PayPal.Me/nitzo2001/0usd" }

347
package_versions.txt Executable file
View File

@ -0,0 +1,347 @@
NAME VERSION TYPE
7zip 24.09-r0 apk
Simple Launcher 1.1.0.14 binary (+5 duplicates)
acl-libs 2.3.2-r1 apk
aia-chaser 3.4.0 python
aiodns 4.0.0 python
alpine-baselayout 3.7.0-r0 apk
alpine-baselayout-data 3.7.0-r0 apk
alpine-keys 2.5-r0 apk
alpine-release 3.22.3-r0 apk
alsa-lib 1.2.14-r0 apk
annotated-types 0.7.0 python
anstream 0.6.8 rust-crate
anstyle 1.0.4 rust-crate
anstyle-parse 0.2.3 rust-crate
anstyle-query 1.0.2 rust-crate
anyhow 1.0.79 rust-crate
anyhow 1.0.98 rust-crate
aom-libs 3.12.1-r0 apk
apk-tools 2.14.9-r3 apk
arg_enum_proc_macro 0.3.4 rust-crate
arrayvec 0.7.4 rust-crate
autocommand 2.2.2 python
av-metrics 0.9.1 rust-crate
av1-grain 0.2.3 rust-crate
babel 2.18.0 python
backports-tarfile 1.2.0 python
backports-zstd 1.3.0 python
bash 5.2.37-r0 apk
beautifulsoup4 4.14.3 python
bitflags 2.4.1 rust-crate
bitmath 1.3.3.1 python
bitstream-io 2.2.0 rust-crate
bitstream-io 2.6.0 rust-crate
bitvec 1.0.1 rust-crate
bitvec_helpers 3.1.6 rust-crate
blinker 1.9.0 python
brotli 1.2.0 python
brotli-libs 1.1.0-r2 apk
busybox 1.37.0-r20 apk
busybox-binsh 1.37.0-r20 apk
c-ares 1.34.6-r0 apk
ca-certificates 20250911-r0 apk
ca-certificates-bundle 20250911-r0 apk
cachelib 0.13.0 python
cairo 1.18.4-r0 apk
catatonit 0.2.1-r0 apk
certifi 2026.2.25 python
cffi 2.0.0 python
cfg-if 1.0.0 rust-crate
cheroot 11.1.2 python
cjson 1.7.19-r0 apk
clap 4.4.14 rust-crate
clap_builder 4.4.14 rust-crate
clap_complete 4.4.6 rust-crate
clap_derive 4.4.7 rust-crate
clap_lex 0.6.0 rust-crate
cli UNKNOWN binary
cli-32 UNKNOWN binary
cli-64 UNKNOWN binary
cli-arm64 UNKNOWN binary
click 8.3.1 python
colorchoice 1.0.0 rust-crate
colorlog 6.10.1 python
console 0.15.8 rust-crate
coreutils 9.7-r1 apk
coreutils-env 9.7-r1 apk
coreutils-fmt 9.7-r1 apk
coreutils-sha512sum 9.7-r1 apk
crc 3.3.0 rust-crate
crc-catalog 2.4.0 rust-crate
crossbeam 0.8.4 rust-crate
crossbeam-channel 0.5.14 rust-crate
crossbeam-deque 0.8.5 rust-crate
crossbeam-epoch 0.9.18 rust-crate
crossbeam-queue 0.3.11 rust-crate
crossbeam-utils 0.8.19 rust-crate
cryptography 46.0.5 python
curl 8.14.1-r2 apk
dbus-libs 1.16.2-r1 apk
defusedxml 0.7.1 python
dolby_vision 3.3.1 rust-crate
either 1.9.0 rust-crate
errno 0.3.8 rust-crate
fern 0.6.2 rust-crate
ffmpeg 6.1.2-r2 apk
ffmpeg-libavcodec 6.1.2-r2 apk
ffmpeg-libavdevice 6.1.2-r2 apk
ffmpeg-libavfilter 6.1.2-r2 apk
ffmpeg-libavformat 6.1.2-r2 apk
ffmpeg-libavutil 6.1.2-r2 apk
ffmpeg-libpostproc 6.1.2-r2 apk
ffmpeg-libswresample 6.1.2-r2 apk
ffmpeg-libswscale 6.1.2-r2 apk
filetype 1.2.0 python
findutils 4.10.0-r0 apk
flask 3.1.3 python
flask-babel 4.0.0 python
flask-caching 1.11.1 python
flask-compress 1.23 python
flask-session 0.8.0 python
flask-themes2 1.0.1 python
flask-wtf 1.2.2 python
fontconfig 2.15.0-r3 apk
freetype 2.13.3-r0 apk
fribidi 1.0.16-r1 apk
funty 2.0.0 rust-crate
gcompat 1.1.0-r4 apk
gdbm 1.24-r0 apk
getrandom 0.2.12 rust-crate
giflib 5.2.2-r1 apk
glib 2.84.4-r0 apk
glslang-libs 1.4.309.0-r0 apk
graphite2 1.3.14-r6 apk
gui UNKNOWN binary
gui-32 UNKNOWN binary
gui-64 UNKNOWN binary
gui-arm64 UNKNOWN binary
harfbuzz 11.2.1-r0 apk
heck 0.4.1 rust-crate
hwdata-pci 0.395-r0 apk
icu-data-en 76.1-r1 apk
icu-libs 76.1-r1 apk
imath 3.1.12-r0 apk
importlib-metadata 8.7.1 python
interpolate_name 0.2.4 rust-crate
itertools 0.10.5 rust-crate
itertools 0.12.0 rust-crate
itsdangerous 2.2.0 python
ivf 0.1.3 rust-crate
jaraco-context 6.1.0 python
jaraco-functools 4.4.0 python (+1 duplicate)
jaraco-text 4.0.0 python
jinja2 3.1.6 python
jq 1.8.1-r0 apk
lab 0.11.0 rust-crate
lame-libs 3.100-r5 apk
lazy_static 1.4.0 rust-crate
lcms2 2.16-r0 apk
leptonica 1.85.0-r0 apk
libSvtAv1Enc 2.3.0-r0 apk
libapk2 2.14.9-r3 apk
libass 0.17.3-r0 apk
libasyncns 0.8-r4 apk
libatomic 14.2.0-r6 apk
libattr 2.5.2-r2 apk
libblkid 2.41-r9 apk
libbluray 1.3.4-r1 apk
libbsd 0.12.2-r0 apk
libbz2 1.0.8-r6 apk
libc 0.2.155 rust-crate
libc 0.2.172 rust-crate
libcrypto3 3.5.5-r0 apk
libcurl 8.14.1-r2 apk
libdav1d 1.5.1-r0 apk
libdeflate 1.23-r0 apk
libdovi 3.3.1-r1 apk
libdrm 2.4.124-r0 apk
libeconf 0.6.3-r0 apk
libexpat 2.7.4-r0 apk
libffi 3.4.8-r0 apk
libflac 1.4.3-r1 apk
libgcc 14.2.0-r6 apk
libgomp 14.2.0-r6 apk
libhwy 1.0.7-r1 apk
libidn2 2.3.7-r0 apk
libintl 0.24.1-r0 apk
libjpeg-turbo 3.1.0-r0 apk
libjxl 0.10.3-r2 apk
libltdl 2.5.4-r1 apk
libmd 1.1.0-r0 apk
libmount 2.41-r9 apk
libncursesw 6.5_p20250503-r0 apk
libogg 1.3.5-r5 apk
libopenmpt 0.7.15-r0 apk
libpanelw 6.5_p20250503-r0 apk
libpciaccess 0.18.1-r0 apk
libplacebo 6.338.2-r3 apk
libpng 1.6.55-r0 apk
libproc2 4.0.4-r3 apk
libpsl 0.21.5-r3 apk
libpulse 17.0-r5 apk
librist 0.2.10-r1 apk
libsharpyuv 1.5.0-r0 apk
libsndfile 1.2.2-r2 apk
libsodium 1.0.20-r1 apk
libsrt 1.5.3-r1 apk
libssh 0.11.2-r0 apk
libssl3 3.5.5-r0 apk
libstdc++ 14.2.0-r6 apk
libtheora 1.1.1-r18 apk
libucontext 1.3.2-r0 apk
libunibreak 6.1-r0 apk
libunistring 1.3-r0 apk
libva 2.22.0-r1 apk
libvdpau 1.5-r4 apk
libvorbis 1.3.7-r2 apk
libvpx 1.15.0-r0 apk
libwebp 1.5.0-r0 apk
libwebpmux 1.5.0-r0 apk
libx11 1.8.11-r0 apk
libxau 1.0.12-r0 apk
libxcb 1.17.0-r0 apk
libxdmcp 1.1.5-r1 apk
libxext 1.3.6-r2 apk
libxfixes 6.0.1-r4 apk
libxft 2.3.8-r3 apk
libxml2 2.13.9-r0 apk
libxrender 0.9.12-r0 apk
libzmq 4.3.5-r2 apk
lilv-libs 0.24.26-r0 apk
linux-pam 1.7.0-r4 apk
linux-raw-sys 0.4.12 rust-crate
log 0.4.20 rust-crate
markupsafe 3.0.3 python
maybe-rayon 0.1.1 rust-crate
mbedtls 3.6.5-r0 apk
memchr 2.7.1 rust-crate
mini-racer 0.14.1 python
minimal-lexical 0.2.1 rust-crate
more-itertools 10.8.0 python (+1 duplicate)
mpdecimal 4.0.1-r0 apk
mpg123-libs 1.32.10-r0 apk
msgspec 0.20.0 python
musl 1.2.5-r10 apk
musl-obstack 1.2.3-r2 apk
musl-utils 1.2.5-r10 apk
ncurses-terminfo-base 6.5_p20250503-r0 apk
netcat-openbsd 1.229.1-r0 apk
new_debug_unreachable 1.0.4 rust-crate
nghttp2-libs 1.65.0-r0 apk
nom 7.1.3 rust-crate
noop_proc_macro 0.3.0 rust-crate
num-bigint 0.4.4 rust-crate
num-derive 0.4.1 rust-crate
num-integer 0.1.45 rust-crate
num-rational 0.4.1 rust-crate
num-traits 0.2.17 rust-crate
numactl 2.0.18-r0 apk
once_cell 1.19.0 rust-crate
onevpl-libs 2023.3.1-r2 apk
oniguruma 6.9.10-r0 apk
openexr-libiex 3.3.2-r0 apk
openexr-libilmthread 3.3.2-r0 apk
openexr-libopenexr 3.3.2-r0 apk
openexr-libopenexrcore 3.3.2-r0 apk
opus 1.5.2-r1 apk
orc 0.4.40-r1 apk
packaging 26.0 python (+1 duplicate)
pango 1.56.3-r0 apk
paste 1.0.14 rust-crate
pcre2 10.46-r0 apk
pillow 12.1.1 python
pip 26.0.1 python
pixman 0.46.4-r0 apk
platformdirs 4.4.0 python
ppv-lite86 0.2.17 rust-crate
proc-macro2 1.0.76 rust-crate
procps-ng 4.0.4-r3 apk
profiling 1.0.13 rust-crate
profiling-procmacros 1.0.13 rust-crate
pyasn1 0.6.2 python
pyasn1-modules 0.4.2 python
pyc 3.12.12-r0 apk
pycares 5.0.1 python
pycparser 3.0 python
pycurl 7.45.7 python
pydantic 2.12.5 python
pydantic-core 2.41.5 python
pyload-ng 0.5.0b3.dev96 python
pyopenssl 25.3.0 python
python3 3.12.12-r0 apk
python3-pyc 3.12.12-r0 apk
python3-pycache-pyc0 3.12.12-r0 apk
pytz 2026.1.post1 python
quote 1.0.35 rust-crate
radium 0.7.0 rust-crate
rand 0.8.5 rust-crate
rand_chacha 0.3.1 rust-crate
rand_core 0.6.4 rust-crate
rav1e 0.7.1 rust-crate
rav1e-libs 0.7.1-r2 apk
rayon 1.8.0 rust-crate
rayon-core 1.12.0 rust-crate
readline 8.2.13-r1 apk
rustix 0.38.28 rust-crate
scan_fmt 0.2.6 rust-crate
scanelf 1.3.8-r1 apk
sdl2-compat 2.32.56-r0 apk
sdl3 3.2.16-r0 apk
semver 2.13.0 python
send2trash 2.1.0 python
serd-libs 0.32.4-r0 apk
setuptools 82.0.0 python
shaderc 2024.4-r0 apk
shadow 4.17.3-r0 apk
signal-hook 0.3.17 rust-crate
signal-hook-registry 1.4.1 rust-crate
simd_helpers 0.1.0 rust-crate
skalibs-libs 2.14.4.0-r0 apk
slixmpp 1.13.2 python
sord-libs 0.16.18-r0 apk
soupsieve 2.8.3 python
soxr 0.1.3-r7 apk
speexdsp 1.2.1-r2 apk
spirv-tools 1.4.313.0-r0 apk
sqlite 3.49.2-r1 apk
sqlite-libs 3.49.2-r1 apk
sratom 0.6.18-r0 apk
ssl_client 1.37.0-r20 apk
syn 2.0.48 rust-crate
tap 1.0.1 rust-crate
tdb-libs 1.4.12-r0 apk
tenacity 9.1.4 python
terminal_size 0.3.0 rust-crate
tesseract-ocr 5.5.0-r2 apk
thiserror 1.0.56 rust-crate
thiserror-impl 1.0.56 rust-crate
tiff 4.7.1-r0 apk
tinyvec 1.9.0 rust-crate
tomli 2.4.0 python
typing-extensions 4.15.0 python
typing-inspection 0.4.2 python
tzdata 2025c-r0 apk
unicode-ident 1.0.12 rust-crate
unicode-width 0.1.11 rust-crate
utf8parse 0.2.1 rust-crate
utmps-libs 0.1.3.1-r0 apk
v4l-utils-libs 1.28.1-r1 apk
v_frame 0.3.7 rust-crate
vidstab 1.1.1-r0 apk
vulkan-loader 1.4.313.0-r0 apk
wayland-libs-client 1.23.1-r3 apk
werkzeug 3.1.6 python
wheel 0.46.3 python (+1 duplicate)
wtforms 3.2.1 python
wyz 0.5.1 rust-crate
x264-libs 0.164.3108-r0 apk
x265-libs 3.6-r0 apk
xvidcore 1.3.7-r2 apk
xz-libs 5.8.1-r0 apk
y4m 0.8.0 rust-crate
zimg 3.0.5-r3 apk
zipp 3.23.0 python
zix-libs 0.6.2-r0 apk
zlib 1.3.1-r2 apk
zstd-libs 1.5.7-r0 apk

View File

@ -3,51 +3,94 @@
# project information
project_name: pyload-ng
project_url: "https://pyload.net/"
project_logo: "https://pyload.net/img/banner.png"
project_logo: "https://github.com/linuxserver/docker-templates/raw/master/linuxserver.io/img/pyload-logo.png"
project_blurb: "[pyLoad]({{ project_url }}) is a Free and Open Source download manager written in Python and designed to be extremely lightweight, easily extensible and fully manageable via web."
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
project_categories: "Downloaders"
# 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 releases from pyLoad Next" }
- { tag: "development", desc: "Releases from pyload Next development branch" }
- {tag: "latest", desc: "Stable releases from pyLoad Next"}
- {tag: "develop", desc: "Releases from pyload Next develop branch"}
# container parameters
param_container_name: "{{ project_name }}"
param_usage_include_vols: true
param_volumes:
- { vol_path: "/config", vol_host_path: "/path/to/appdata/config", desc: "pyLoad Configuration and files database" }
- { vol_path: "/downloads", vol_host_path: "/path/to/downloads", desc: "Destination of pyLoad downloads" }
- {vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/config", desc: "Persistent config files"}
- {vol_path: "/downloads", vol_host_path: "/path/to/downloads", desc: "Destination of pyLoad downloads"}
param_usage_include_ports: true
param_ports:
- { external_port: "8000", internal_port: "8000", port_desc: "Allows HTTP access to the application" }
param_usage_include_env: true
param_env_vars:
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"}
- {external_port: "8000", internal_port: "8000", port_desc: "Allows HTTP access to the application"}
# optional params
opt_param_usage_include_ports: false
opt_param_usage_include_ports: true
opt_param_ports:
- { external_port: "7227", internal_port: "7227", port_desc: "pyLoad control port" }
- {external_port: "9666", internal_port: "9666", port_desc: "Click'n'Load port."}
# application setup block
app_setup_block_enabled: true
app_setup_block: |
Access the web interface at `http://your-ip:8000` the default login is:
Access the web interface at `http://your-ip:8000` the default login is:
username - **pyload**
password - **pyload**
For general usage please see the pyLoad wiki [here](https://github.com/pyload/pyload/wiki) .
# init diagram
init_diagram: |
"pyload-ng: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-pyload-config -> init-config-end
init-config -> init-crontab-config
init-mods-end -> init-custom-files
init-adduser -> init-device-perms
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-device-perms -> init-os-end
init-envfile -> init-os-end
init-config -> init-pyload-config
init-custom-files -> init-services
init-services -> svc-cron
svc-cron -> legacy-services
init-services -> svc-pyload
svc-pyload -> legacy-services
}
Base Images: {
"baseimage-alpine:3.22"
}
"pyload-ng:latest" <- Base Images
# changelog
changelogs:
- { date: "24.01.22:", desc: "Initial release." }
- {date: "09.01.26:", desc: "Add gcompat for mini-racer."}
- {date: "01.09.25:", desc: "Add new dep, libatomic."}
- {date: "09.06.25:", desc: "Rebase to Alpine 3.22."}
- {date: "20.07.24:", desc: "Revert to Alpine 3.19 due to inconsistent upstream addon support for Python 3.12."}
- {date: "27.06.24:", desc: "Rebase to Alpine 3.20."}
- {date: "23.12.23:", desc: "Rebase to Alpine 3.19."}
- {date: "08.10.23:", desc: "Install unrar from [linuxserver repo](https://github.com/linuxserver/docker-unrar)."}
- {date: "10.08.23:", desc: "Bump unrar to 6.2.10."}
- {date: "01.06.23:", desc: "Replace p7zip with 7zip, add unrar."}
- {date: "25.05.23:", desc: "Rebase to Alpine 3.18, deprecate armhf."}
- {date: "02.02.22:", desc: "Rebase master to alpine 3.17."}
- {date: "02.02.22:", desc: "Add ffmpeg for the Youtube plugin."}
- {date: "24.01.22:", desc: "Replace unrar with p7zip."}
- {date: "24.01.22:", desc: "Initial release."}

1
root/donate.txt Normal file
View File

@ -0,0 +1 @@
pyLoad: https://PayPal.Me/nitzo2001/0usd

View File

@ -1,19 +0,0 @@
#!/usr/bin/with-contenv bash
# create our folders
mkdir -p \
/config/settings \
/downloads
# default config file
[[ ! -f "/config/settings/pyload.cfg" ]] && \
cp \
/defaults/pyload.cfg \
/config/settings/pyload.cfg
# permissions
echo "[cont-init.d] Setting permissions this may take some time"
chown -R abc:abc \
/config
chown abc:abc \
/downloads

View File

@ -0,0 +1,18 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
# create our folders
mkdir -p \
/config/settings \
/downloads
# default config file
cp -n \
/defaults/pyload.cfg \
/config/settings/pyload.cfg
# permissions
lsiown -R abc:abc \
/config
lsiown abc:abc \
/downloads

View File

@ -0,0 +1 @@
oneshot

View File

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

View File

@ -0,0 +1 @@
3

View File

@ -0,0 +1,10 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
PORT=$(sed -n -e '/webui/,/proxy/p' /config/settings/pyload.cfg | grep "Port" | awk -F '=' '{print $2}' | tr -d ' ')
export LD_PRELOAD="/lib/libgcompat.so.0"
exec \
s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost ${PORT:-8000}" \
s6-setuidgid abc pyload --userdir /config --storagedir /downloads

View File

@ -0,0 +1 @@
longrun

View File

@ -1,4 +0,0 @@
#!/usr/bin/with-contenv bash
exec \
s6-setuidgid abc pyload --userdir /config --storagedir /downloads