Compare commits

..

227 Commits

Author SHA1 Message Date
LinuxServer-CI
0d736278ee Bot Updating Package Versions 2020-12-03 00:12:22 +00:00
LinuxServer-CI
ede6bcdae3 Bot Updating Package Versions 2020-12-01 23:11:14 +00:00
LinuxServer-CI
4455ba6aa3 Bot Updating Package Versions 2020-11-30 18:13:29 -05:00
LinuxServer-CI
2255455fee Bot Updating Package Versions 2020-11-29 23:11:38 +00:00
LinuxServer-CI
e477c8017e Bot Updating Package Versions 2020-11-29 19:14:09 +00:00
LinuxServer-CI
a954b7fd90 Bot Updating Package Versions 2020-11-28 09:10:56 +00:00
LinuxServer-CI
f2272e38d3 Bot Updating Package Versions 2020-11-27 09:10:27 +00:00
LinuxServer-CI
af19f984c9 Bot Updating Package Versions 2020-11-26 05:10:32 -05:00
LinuxServer-CI
5f6364d5fc Bot Updating Package Versions 2020-11-25 07:10:55 +00:00
LinuxServer-CI
fc3696efa2 Bot Updating Package Versions 2020-11-24 22:12:00 -05:00
LinuxServer-CI
0b14ae633a Bot Updating Package Versions 2020-11-18 18:09:07 +00:00
LinuxServer-CI
b269da2ca6 Bot Updating Package Versions 2020-11-17 18:12:09 +00:00
LinuxServer-CI
ea6f366bda Bot Updating Package Versions 2020-11-12 10:10:26 -05:00
LinuxServer-CI
2c75727692 Bot Updating Package Versions 2020-11-05 00:09:03 +00:00
LinuxServer-CI
3a28af5453 Bot Updating Package Versions 2020-11-02 21:10:41 +00:00
LinuxServer-CI
78847f5deb Bot Updating Package Versions 2020-11-01 22:48:36 -05:00
LinuxServer-CI
4fc9aef3b1 Bot Updating Templated Files 2020-11-01 22:42:29 -05:00
thelamer
6ac16fde90 update baseimages 2020-11-01 19:41:14 -08:00
LinuxServer-CI
9301d5d864 Bot Updating Package Versions 2020-10-25 15:12:38 -04:00
LinuxServer-CI
a66d315b6d Bot Updating Package Versions 2020-10-18 18:13:00 +00:00
LinuxServer-CI
1353390f7a Bot Updating Package Versions 2020-10-11 18:11:51 +00:00
LinuxServer-CI
862ff2451d Bot Updating Package Versions 2020-10-04 14:14:56 -04:00
LinuxServer-CI
8eec5266cb Bot Updating Templated Files 2020-10-04 19:09:29 +01:00
LinuxServer-CI
72f8691063 Bot Updating Templated Files 2020-10-04 18:08:14 +00:00
LinuxServer-CI
191e48d0cf Bot Updating Package Versions 2020-09-27 18:09:25 +00:00
LinuxServer-CI
d15d6d9c28 Bot Updating Package Versions 2020-09-26 14:10:42 -04:00
LinuxServer-CI
6cf37597d4 Bot Updating Package Versions 2020-09-25 19:09:14 +00:00
LinuxServer-CI
3dea61fe30 Bot Updating Package Versions 2020-09-23 03:08:56 -04:00
LinuxServer-CI
c731edebb5 Bot Updating Package Versions 2020-09-22 03:08:52 -04:00
LinuxServer-CI
877d47f9bb Bot Updating Package Versions 2020-09-21 03:08:59 -04:00
LinuxServer-CI
d202334cbd Bot Updating Package Versions 2020-09-20 07:08:53 -04:00
LinuxServer-CI
8f60b6c0e8 Bot Updating Package Versions 2020-09-19 08:11:42 +01:00
LinuxServer-CI
3ecd223ad9 Bot Updating Package Versions 2020-09-18 03:08:57 -04:00
LinuxServer-CI
a37a7ba4bf Bot Updating Package Versions 2020-09-17 03:08:57 -04:00
LinuxServer-CI
6505fd82e2 Bot Updating Package Versions 2020-09-15 04:50:26 -04:00
LinuxServer-CI
d8504b244e Bot Updating Package Versions 2020-09-13 04:09:07 -04:00
LinuxServer-CI
8c4abf4ee0 Bot Updating Package Versions 2020-09-12 09:10:49 +00:00
LinuxServer-CI
1311341487 Bot Updating Package Versions 2020-09-10 07:08:51 -04:00
LinuxServer-CI
cc8326aa67 Bot Updating Package Versions 2020-09-09 11:11:26 +00:00
LinuxServer-CI
d52e090b22 Bot Updating Package Versions 2020-09-08 12:17:44 +01:00
LinuxServer-CI
adc7d853b6 Bot Updating Package Versions 2020-09-07 06:17:50 +00:00
LinuxServer-CI
10eb0a6006 Bot Updating Package Versions 2020-09-02 01:19:46 +00:00
LinuxServer-CI
eaccc38883 Bot Updating Package Versions 2020-08-30 06:09:22 +00:00
LinuxServer-CI
1c5c031b63 Bot Updating Package Versions 2020-08-23 01:09:36 -04:00
LinuxServer-CI
58d25d7daa Bot Updating Package Versions 2020-08-20 17:09:27 -04:00
LinuxServer-CI
3e2a78cc2a Bot Updating Templated Files 2020-08-20 16:05:39 +00:00
LinuxServer-CI
a099b8c38d Bot Updating Package Versions 2020-08-18 12:09:09 +00:00
LinuxServer-CI
8ed86486ab Bot Updating Package Versions 2020-08-17 10:09:47 +00:00
LinuxServer-CI
a2770d6e0f Bot Updating Package Versions 2020-08-16 07:09:30 -04:00
LinuxServer-CI
a714082a67 Bot Updating Package Versions 2020-08-14 02:08:28 +00:00
LinuxServer-CI
f556d61d78 Bot Updating Package Versions 2020-08-12 11:09:08 +00:00
LinuxServer-CI
9d565929e9 Bot Updating Package Versions 2020-08-05 11:08:45 +02:00
LinuxServer-CI
291727b2b7 Bot Updating Package Versions 2020-08-04 08:09:30 +00:00
LinuxServer-CI
12b786b7aa Bot Updating Package Versions 2020-08-03 12:08:56 +00:00
LinuxServer-CI
412ee547ed Bot Updating Templated Files 2020-08-02 18:09:15 +00:00
LinuxServer-CI
cc4d63af1e Bot Updating Templated Files 2020-08-02 14:07:56 -04:00
LinuxServer-CI
be0eccdb16 Bot Updating Package Versions 2020-07-31 10:09:46 +00:00
LinuxServer-CI
c4297f6b57 Bot Updating Package Versions 2020-07-30 17:09:21 -04:00
LinuxServer-CI
2a8cec14c0 Bot Updating Package Versions 2020-07-27 21:09:49 +00:00
LinuxServer-CI
3f99043cf2 Bot Updating Package Versions 2020-07-26 15:09:35 -04:00
LinuxServer-CI
4512af81a5 Bot Updating Package Versions 2020-07-23 10:09:21 -04:00
LinuxServer-CI
fdeeb46849 Bot Updating Package Versions 2020-07-22 08:08:40 -04:00
LinuxServer-CI
98856b21c7 Bot Updating Package Versions 2020-07-21 12:09:09 +00:00
LinuxServer-CI
52bf0b4ea6 Bot Updating Package Versions 2020-07-20 08:09:11 -04:00
LinuxServer-CI
0f3af28a14 Bot Updating Package Versions 2020-07-18 07:09:27 -04:00
LinuxServer-CI
6fb889f9cf Bot Updating Package Versions 2020-07-09 11:09:26 -04:00
LinuxServer-CI
111b28608b Bot Updating Package Versions 2020-07-08 21:08:51 +00:00
LinuxServer-CI
6523c7770d Bot Updating Package Versions 2020-07-05 20:12:19 +00:00
aptalca
377a2fc4a9 Merge pull request #81 from linuxserver/unstable-python3
shift to python3 on unstable
2020-07-05 16:06:41 -04:00
thelamer
9f83cb8582 shift to python3 on unstable 2020-07-05 12:30:27 -07:00
LinuxServer-CI
6f87fedd60 Bot Updating Package Versions 2020-07-05 13:15:09 +02:00
LinuxServer-CI
311193e538 Bot Updating Package Versions 2020-07-04 11:15:26 +00:00
LinuxServer-CI
af1c078e19 Bot Updating Package Versions 2020-06-27 11:09:13 +00:00
LinuxServer-CI
4aed00b9a4 Bot Updating Package Versions 2020-06-25 01:09:11 +02:00
LinuxServer-CI
73b8c978f2 Bot Updating Package Versions 2020-06-23 20:09:06 +02:00
LinuxServer-CI
f20923d248 Bot Updating Package Versions 2020-06-20 06:08:35 +02:00
LinuxServer-CI
d66940680e Bot Updating Package Versions 2020-06-14 11:08:44 +00:00
LinuxServer-CI
9a4de8614c Bot Updating Package Versions 2020-06-12 19:08:44 +02:00
LinuxServer-CI
61ac215349 Bot Updating Package Versions 2020-06-09 10:08:49 -04:00
LinuxServer-CI
141112a1c3 Bot Updating Package Versions 2020-06-08 11:09:41 +00:00
LinuxServer-CI
0d22190039 Bot Updating Package Versions 2020-06-07 07:09:18 -04:00
LinuxServer-CI
7f13a37339 Bot Updating Package Versions 2020-06-06 10:09:35 +00:00
LinuxServer-CI
18a8af295e Bot Updating Package Versions 2020-06-03 19:10:12 -04:00
LinuxServer-CI
795265e42d Bot Updating Templated Files 2020-06-03 19:05:01 -04:00
LinuxServer-CI
ba6948be9f Bot Updating Package Versions 2020-06-02 22:08:19 +00:00
LinuxServer-CI
c1460d89d9 Bot Updating Package Versions 2020-06-01 15:08:55 +00:00
LinuxServer-CI
c4320af0d5 Bot Updating Package Versions 2020-05-31 09:08:39 -04:00
LinuxServer-CI
ab8cea8e8d Bot Updating Package Versions 2020-05-30 13:14:03 +00:00
LinuxServer-CI
135bcc9f8b Bot Updating Package Versions 2020-05-29 09:10:02 -04:00
LinuxServer-CI
89097744cd Bot Updating Templated Files 2020-05-29 13:04:53 +00:00
LinuxServer-CI
3491d634b7 Bot Updating Package Versions 2020-05-27 05:08:49 -04:00
LinuxServer-CI
7e9a3b9e83 Bot Updating Package Versions 2020-05-26 15:09:42 -04:00
LinuxServer-CI
77ac84c508 Bot Updating Package Versions 2020-05-25 09:13:59 +00:00
LinuxServer-CI
763bd1ed55 Bot Updating Package Versions 2020-05-23 20:13:38 +00:00
LinuxServer-CI
d2c044a614 Bot Updating Package Versions 2020-05-22 15:13:00 +00:00
LinuxServer-CI
fa6a046cf3 Bot Updating Package Versions 2020-05-20 10:08:46 +00:00
LinuxServer-CI
39476f4476 Bot Updating Package Versions 2020-05-18 12:13:54 +00:00
LinuxServer-CI
92a1afec52 Bot Updating Package Versions 2020-05-15 22:14:29 +00:00
LinuxServer-CI
fb7edd7cd8 Bot Updating Package Versions 2020-05-14 22:13:36 +02:00
LinuxServer-CI
cb5d2a4722 Bot Updating Package Versions 2020-05-12 12:16:21 +02:00
LinuxServer-CI
7e7b414276 Bot Updating Package Versions 2020-05-11 10:13:35 +00:00
LinuxServer-CI
c227b217b2 Bot Updating Package Versions 2020-05-10 11:13:28 +00:00
LinuxServer-CI
7d2018ab1b Bot Updating Package Versions 2020-05-09 13:09:28 +00:00
LinuxServer-CI
45f7d2f776 Bot Updating Package Versions 2020-05-07 09:13:54 +00:00
LinuxServer-CI
b97c9b8621 Bot Updating Package Versions 2020-05-06 10:15:05 +00:00
LinuxServer-CI
ca0667734d Bot Updating Package Versions 2020-05-05 11:09:25 +02:00
LinuxServer-CI
1cc1832bde Bot Updating Package Versions 2020-05-04 09:09:06 +00:00
LinuxServer-CI
2b92095233 Bot Updating Package Versions 2020-05-03 07:13:16 -04:00
LinuxServer-CI
4a4f41809c Bot Updating Package Versions 2020-05-02 09:09:14 -04:00
LinuxServer-CI
9219e8fce5 Bot Updating Package Versions 2020-05-01 09:14:23 +00:00
LinuxServer-CI
304045fa76 Bot Updating Package Versions 2020-04-30 09:09:37 +00:00
LinuxServer-CI
df557ace64 Bot Updating Package Versions 2020-04-29 09:08:33 +00:00
LinuxServer-CI
379a1c9dd6 Bot Updating Package Versions 2020-04-28 22:18:01 +02:00
LinuxServer-CI
3d2af511b9 Bot Updating Templated Files 2020-04-28 09:05:00 +00:00
LinuxServer-CI
29213a7f55 Bot Updating Package Versions 2020-04-27 13:08:56 +02:00
LinuxServer-CI
67b56af21e Bot Updating Package Versions 2020-04-25 08:13:42 -04:00
LinuxServer-CI
3de432ecd9 Bot Updating Package Versions 2020-04-24 07:43:30 -04:00
LinuxServer-CI
3a2a0f6a64 Bot Updating Package Versions 2020-04-23 02:14:02 -04:00
LinuxServer-CI
cfe29d7bea Bot Updating Package Versions 2020-04-22 08:14:45 +01:00
LinuxServer-CI
9ec6cb8041 Bot Updating Package Versions 2020-04-21 07:13:32 +01:00
LinuxServer-CI
4076cf5ec5 Bot Updating Package Versions 2020-04-20 07:15:08 +01:00
LinuxServer-CI
d50c109e59 Bot Updating Package Versions 2020-04-19 07:13:11 +01:00
LinuxServer-CI
8afc2aab34 Bot Updating Package Versions 2020-04-18 07:15:39 +01:00
LinuxServer-CI
939def454a Bot Updating Package Versions 2020-04-17 07:14:40 +01:00
LinuxServer-CI
c86f294259 Bot Updating Package Versions 2020-04-15 02:08:40 -04:00
LinuxServer-CI
3615b6d989 Bot Updating Package Versions 2020-04-13 13:13:09 +01:00
LinuxServer-CI
93fab38db4 Bot Updating Package Versions 2020-04-12 12:13:33 +00:00
LinuxServer-CI
083f5184e8 Bot Updating Package Versions 2020-04-11 08:09:22 -04:00
LinuxServer-CI
6fce866995 Bot Updating Package Versions 2020-04-10 13:13:05 +01:00
LinuxServer-CI
67a21bc3ae Bot Updating Package Versions 2020-04-09 14:12:32 +02:00
LinuxServer-CI
1700fd0597 Bot Updating Package Versions 2020-04-08 09:09:54 +00:00
LinuxServer-CI
dcf3c900c6 Bot Updating Templated Files 2020-04-08 05:05:35 -04:00
LinuxServer-CI
7ea39a799d Bot Updating Package Versions 2020-04-07 11:15:04 +01:00
LinuxServer-CI
c07ea919fe Bot Updating Package Versions 2020-04-06 11:13:13 +02:00
LinuxServer-CI
8050b258c9 Bot Updating Package Versions 2020-04-05 11:10:17 +00:00
LinuxServer-CI
623687cd2b Bot Updating Package Versions 2020-04-04 10:14:18 +02:00
LinuxServer-CI
fd5e88ff3a Bot Updating Package Versions 2020-04-03 13:13:36 +02:00
LinuxServer-CI
c485ce2fbd Bot Updating Package Versions 2020-04-02 17:15:11 +02:00
LinuxServer-CI
71118d855d Bot Updating Package Versions 2020-03-31 17:08:13 -04:00
LinuxServer-CI
51a3cf9dee Bot Updating Package Versions 2020-03-30 07:19:50 +00:00
LinuxServer-CI
207f13fc7a Bot Updating Package Versions 2020-03-29 11:12:27 +00:00
LinuxServer-CI
5de828fded Bot Updating Package Versions 2020-03-28 08:12:44 +00:00
LinuxServer-CI
137e2b5d6a Bot Updating Package Versions 2020-03-27 07:18:59 +00:00
LinuxServer-CI
f0853cfabb Bot Updating Package Versions 2020-03-26 03:18:34 -04:00
LinuxServer-CI
a5a7eb8d02 Bot Updating Package Versions 2020-03-25 04:14:16 +00:00
LinuxServer-CI
dc0f91c473 Bot Updating Package Versions 2020-03-23 20:10:23 +01:00
LinuxServer-CI
d28675bbf6 Bot Updating Package Versions 2020-03-22 11:08:10 -04:00
LinuxServer-CI
111caa6a1f Bot Updating Package Versions 2020-03-21 08:19:55 +00:00
LinuxServer-CI
69f2f66043 Bot Updating Package Versions 2020-03-19 11:08:15 +00:00
LinuxServer-CI
fd812496bc Bot Updating Package Versions 2020-03-17 07:08:09 +00:00
LinuxServer-CI
c5612f816e Bot Updating Package Versions 2020-03-13 16:43:50 -04:00
LinuxServer-CI
8607efc1fe Bot Updating Package Versions 2020-03-10 11:08:12 +00:00
LinuxServer-CI
88af8b5693 Bot Updating Package Versions 2020-03-09 07:13:53 -04:00
LinuxServer-CI
f514a71654 Bot Updating Package Versions 2020-03-08 07:19:15 -04:00
LinuxServer-CI
4ea94c9d1f Bot Updating Package Versions 2020-03-07 11:11:04 +00:00
LinuxServer-CI
c604390868 Bot Updating Package Versions 2020-03-06 11:13:30 +00:00
LinuxServer-CI
838278894d Bot Updating Package Versions 2020-03-04 20:08:08 +00:00
LinuxServer-CI
68bb38cc68 Bot Updating Package Versions 2020-03-03 19:10:17 +00:00
LinuxServer-CI
04f35bbc4d Bot Updating Package Versions 2020-03-01 20:13:00 +00:00
LinuxServer-CI
b3b097ebdc Bot Updating Package Versions 2020-02-28 07:18:34 -05:00
LinuxServer-CI
557b443175 Bot Updating Package Versions 2020-02-27 12:13:15 +00:00
LinuxServer-CI
49376cb514 Bot Updating Package Versions 2020-02-25 10:12:08 +00:00
LinuxServer-CI
15d7379386 Bot Updating Package Versions 2020-02-24 08:12:46 +00:00
LinuxServer-CI
2656893674 Bot Updating Package Versions 2020-02-22 07:08:43 -05:00
LinuxServer-CI
a5af0b35b7 Bot Updating Package Versions 2020-02-21 07:14:39 -05:00
LinuxServer-CI
b50b3d2897 Bot Updating Package Versions 2020-02-19 11:10:47 +00:00
LinuxServer-CI
a8c929c4fe Bot Updating Package Versions 2020-02-18 11:15:01 +00:00
LinuxServer-CI
e53c5dd330 Bot Updating Package Versions 2020-02-17 06:09:09 -05:00
LinuxServer-CI
49b3a91ab0 Bot Updating Package Versions 2020-02-16 05:14:22 -05:00
LinuxServer-CI
cf2e5b4ab0 Bot Updating Package Versions 2020-02-14 05:08:57 -05:00
LinuxServer-CI
f12ca4a394 Bot Updating Package Versions 2020-02-13 05:08:22 -05:00
LinuxServer-CI
57646b7af5 Bot Updating Package Versions 2020-02-12 10:12:52 +00:00
LinuxServer-CI
f6e5aa9f1e Bot Updating Package Versions 2020-02-11 10:09:23 +00:00
LinuxServer-CI
5c01f3dd4f Bot Updating Package Versions 2020-02-08 19:08:55 +00:00
LinuxServer-CI
1ab20ab07e Bot Updating Package Versions 2020-02-07 06:10:59 -05:00
LinuxServer-CI
71c9d26288 Bot Updating Package Versions 2020-01-31 19:14:05 +00:00
LinuxServer-CI
b027f732cd Bot Updating Package Versions 2020-01-30 12:10:30 +00:00
LinuxServer-CI
136bfc0cc5 Bot Updating Package Versions 2020-01-28 19:08:29 -05:00
LinuxServer-CI
f0658171c5 Bot Updating Package Versions 2020-01-24 20:12:48 +01:00
LinuxServer-CI
d9ff314a4c Bot Updating Package Versions 2020-01-22 06:08:58 +00:00
LinuxServer-CI
48695f300e Bot Updating Package Versions 2020-01-20 01:13:28 -05:00
LinuxServer-CI
156684155f Bot Updating Package Versions 2020-01-17 07:10:37 -05:00
LinuxServer-CI
8cb1690973 Bot Updating Package Versions 2020-01-16 06:09:28 +00:00
LinuxServer-CI
e90c67b867 Bot Updating Package Versions 2020-01-14 11:10:31 +00:00
LinuxServer-CI
5291380ad2 Bot Updating Package Versions 2020-01-13 01:13:18 -05:00
LinuxServer-CI
55acda7d6c Bot Updating Package Versions 2020-01-12 05:54:07 +00:00
LinuxServer-CI
ac6e13960e Bot Updating Package Versions 2020-01-11 00:12:38 -05:00
LinuxServer-CI
fa775fbd67 Bot Updating Package Versions 2020-01-09 06:08:34 +00:00
LinuxServer-CI
4068b58145 Bot Updating Package Versions 2020-01-08 01:10:34 -05:00
LinuxServer-CI
6bd6406f99 Bot Updating Package Versions 2020-01-06 19:09:42 -05:00
LinuxServer-CI
6be6f5e72b Bot Updating Package Versions 2020-01-02 13:11:44 -05:00
LinuxServer-CI
345081f5d9 Bot Updating Package Versions 2019-12-28 13:12:39 -05:00
LinuxServer-CI
89a246f79f Bot Updating Package Versions 2019-12-27 22:08:18 +00:00
LinuxServer-CI
f6f793f551 Bot Updating Package Versions 2019-12-26 17:12:04 +00:00
LinuxServer-CI
60e14150ca Bot Updating Package Versions 2019-12-25 22:12:03 -05:00
LinuxServer-CI
db0de95ceb Bot Updating Package Versions 2019-12-24 12:09:36 -05:00
LinuxServer-CI
b8711fd5bb Bot Updating Package Versions 2019-12-23 18:10:19 +00:00
LinuxServer-CI
22df5852db Bot Updating Package Versions 2019-12-20 00:12:50 -05:00
LinuxServer-CI
cd897f4a50 Bot Updating Package Versions 2019-12-19 08:46:39 +00:00
LinuxServer-CI
c1a23eda66 Bot Updating Package Versions 2019-12-17 05:12:10 +00:00
LinuxServer-CI
0d2c39dd04 Bot Updating Package Versions 2019-12-13 11:09:56 +00:00
LinuxServer-CI
9d3259cbdf Bot Updating Package Versions 2019-12-12 12:10:04 +01:00
LinuxServer-CI
034e9f1d68 Bot Updating Package Versions 2019-12-11 11:10:13 +00:00
LinuxServer-CI
924b3a2402 Bot Updating Package Versions 2019-12-10 06:10:36 -05:00
LinuxServer-CI
c53014eac3 Bot Updating Package Versions 2019-12-08 19:20:11 +00:00
LinuxServer-CI
0613934e6b Bot Updating Package Versions 2019-12-06 06:10:37 -05:00
LinuxServer-CI
40d19347c3 Bot Updating Package Versions 2019-12-05 10:12:20 +00:00
LinuxServer-CI
47d58f9e4d Bot Updating Package Versions 2019-12-04 05:11:41 -05:00
LinuxServer-CI
ece00294b1 Bot Updating Package Versions 2019-12-03 08:08:34 -05:00
LinuxServer-CI
5c8677d600 Bot Updating Package Versions 2019-12-02 05:15:18 -05:00
LinuxServer-CI
788d8fb753 Bot Updating Package Versions 2019-11-30 05:10:01 +01:00
LinuxServer-CI
c7e7c1c222 Bot Updating Package Versions 2019-11-27 17:19:39 -05:00
LinuxServer-CI
634fcd0f7d Bot Updating Templated Files 2019-11-27 17:05:09 -05:00
LinuxServer-CI
8f0acdeb52 Bot Updating Package Versions 2019-11-23 10:10:17 +00:00
LinuxServer-CI
e7f77f2ffc Bot Updating Package Versions 2019-11-21 17:08:14 -05:00
LinuxServer-CI
44fe098e99 Bot Updating Package Versions 2019-11-20 23:15:21 +01:00
LinuxServer-CI
9a220e3eee Bot Updating Package Versions 2019-11-18 16:09:38 -05:00
LinuxServer-CI
ad31b8c925 Bot Updating Package Versions 2019-11-15 08:12:27 +00:00
LinuxServer-CI
cb7a875129 Bot Updating Package Versions 2019-11-14 08:09:02 +00:00
LinuxServer-CI
cc700c5af2 Bot Updating Package Versions 2019-11-13 02:49:18 +01:00
LinuxServer-CI
fa140d452d Bot Updating Package Versions 2019-11-12 03:08:33 +00:00
LinuxServer-CI
02fe01a63a Bot Updating Package Versions 2019-11-11 02:09:05 +01:00
LinuxServer-CI
d9b8488135 Bot Updating Package Versions 2019-11-09 08:08:54 +00:00
LinuxServer-CI
20b308df2c Bot Updating Package Versions 2019-11-05 03:13:46 -05:00
LinuxServer-CI
419f0ae428 Bot Updating Package Versions 2019-11-04 20:12:38 +00:00
j0nnymoe
8766fd9a5c #55 adding unstable tag (#57)
#55 adding unstable tag
2019-11-04 20:08:01 +00:00
thelamer
60da66b714 adding unstable logic 2019-10-31 13:59:24 -07:00
19 changed files with 277 additions and 649 deletions

10
.github/ISSUE_TEMPLATE/issue.bug.md → .github/ISSUE_TEMPLATE.md vendored Executable file → Normal file
View File

@@ -1,14 +1,12 @@
---
name: Bug report
about: Create a report to help us improve
---
[linuxserverurl]: https://linuxserver.io [linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl] [![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 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 --> <!--- If this acts as a feature request please ask yourself if this modification is something the whole userbase will benefit from --->
<!--- If this is a specific change for corner case functionality or plugins please look at making a Docker Mod or local script https://blog.linuxserver.io/2019/09/14/customizing-our-containers/ -->
<!--- Provide a general summary of the issue in the Title above -->
------------------------------ ------------------------------

View File

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

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

@@ -1,92 +0,0 @@
name: External Trigger Main
on:
workflow_dispatch:
jobs:
external-trigger-master:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: External Trigger
if: github.ref == 'refs/heads/master'
run: |
if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_QBITTORRENT_MASTER }}" ]; then
echo "**** Github secret PAUSE_EXTERNAL_TRIGGER_QBITTORRENT_MASTER is set; skipping trigger. ****"
exit 0
fi
echo "**** External trigger running off of master branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_QBITTORRENT_MASTER\". ****"
echo "**** Retrieving external version ****"
EXT_RELEASE=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/focal/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}')
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
echo "**** Can't retrieve external version, exiting ****"
FAILURE_REASON="Can't retrieve external version for qbittorrent branch master"
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-qbittorrent/actions/runs/${{ github.run_id }}"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n**Trigger URL:** '"${GHA_TRIGGER_URL}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
exit 1
fi
EXT_RELEASE=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
echo "**** External version: ${EXT_RELEASE} ****"
echo "**** Retrieving last pushed version ****"
image="linuxserver/qbittorrent"
tag="latest"
token=$(curl -sX GET \
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fqbittorrent%3Apull" \
| jq -r '.token')
multidigest=$(curl -s \
--header "Accept: application/vnd.docker.distribution.manifest.v2+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')
image_info=$(curl -sL \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/blobs/${digest}" \
| jq -r '.container_config')
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 ****"
FAILURE_REASON="Can't retrieve last pushed version for qbittorrent 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 ****"
exit 0
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then
echo "**** New version ${EXT_RELEASE} found; but there already seems to be an active build on Jenkins; exiting ****"
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-qbittorrent/job/master/buildWithParameters?PACKAGE_CHECK=false \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
echo "**** Jenkins job queue url: ${response%$'\r'} ****"
echo "**** Sleeping 10 seconds until job starts ****"
sleep 10
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}"
echo "**** Jenkins job build url: ${buildurl} ****"
echo "**** Attempting to change the Jenkins job description ****"
curl -iX POST \
"${buildurl}submitDescription" \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
--data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
--data-urlencode "Submit=Submit"
echo "**** Notifying Discord ****"
TRIGGER_REASON="A version change was detected for qbittorrent tag latest. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE}"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
fi

View File

@@ -1,43 +0,0 @@
name: External Trigger Scheduler
on:
schedule:
- cron: '41 * * * *'
workflow_dispatch:
jobs:
external-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
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)
do
br=$(echo "$br" | sed 's|origin/||g')
echo "**** Evaluating branch ${br} ****"
ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-qbittorrent/${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-qbittorrent/${br}/.github/workflows/external_trigger.yml > /dev/null 2>&1; then
echo "**** Workflow exists. Triggering external trigger workflow for branch ${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-qbittorrent/actions/workflows/external_trigger.yml/dispatches
else
echo "**** Workflow doesn't exist; skipping trigger. ****"
fi
else
echo "**** ${br} appears to be a dev branch; skipping trigger. ****"
fi
done

View File

@@ -8,6 +8,6 @@ jobs:
steps: steps:
- uses: actions/first-interaction@v1 - uses: actions/first-interaction@v1
with: with:
issue-message: 'Thanks for opening your first issue here! Be sure to follow the [bug](https://github.com/linuxserver/docker-qbittorrent/blob/master/.github/ISSUE_TEMPLATE/issue.bug.md) or [feature](https://github.com/linuxserver/docker-qbittorrent/blob/master/.github/ISSUE_TEMPLATE/issue.feature.md) issue templates!' issue-message: 'Thanks for opening your first issue here! Be sure to follow the [issue template](https://github.com/linuxserver/docker-qbittorrent/blob/master/.github/ISSUE_TEMPLATE.md)!'
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-qbittorrent/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!' pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-qbittorrent/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}

View File

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

View File

@@ -1,50 +0,0 @@
name: Package Trigger Scheduler
on:
schedule:
- cron: '43 3 * * 1'
workflow_dispatch:
jobs:
package-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
with:
fetch-depth: '0'
- name: Package 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)
do
br=$(echo "$br" | sed 's|origin/||g')
echo "**** Evaluating branch ${br} ****"
ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-qbittorrent/${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-qbittorrent/${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-qbittorrent/actions/workflows/package_trigger.yml/dispatches
sleep 30
else
echo "**** Workflow doesn't exist; skipping trigger. ****"
fi
else
echo "**** ${br} appears to be a dev branch; skipping trigger. ****"
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 qbittorrent** \n**Branch(es):** '"${triggered_branches}"' \n**Build URL:** '"https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-qbittorrent/activity/"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}

1
.gitignore vendored
View File

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

View File

@@ -1,4 +1,4 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:focal FROM ghcr.io/linuxserver/baseimage-ubuntu:bionic
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
@@ -22,12 +22,12 @@ RUN \
python3 && \ python3 && \
curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \ curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \
apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \ apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \
echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \ echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \ echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \ echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
echo "**** install packages ****" && \ echo "**** install packages ****" && \
if [ -z ${QBITTORRENT_VERSION+x} ]; then \ if [ -z ${QBITTORRENT_VERSION+x} ]; then \
QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/focal/main/binary-amd64/Packages.gz | gunzip -c \ QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c \
|grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\ |grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\
fi && \ fi && \
apt-get update && \ apt-get update && \

View File

@@ -1,4 +1,4 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-focal FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-bionic
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
@@ -22,12 +22,12 @@ RUN \
python3 && \ python3 && \
curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \ curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \
apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \ apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \
echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \ echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \ echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \ echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
echo "**** install packages ****" && \ echo "**** install packages ****" && \
if [ -z ${QBITTORRENT_VERSION+x} ]; then \ if [ -z ${QBITTORRENT_VERSION+x} ]; then \
QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/focal/main/binary-amd64/Packages.gz | gunzip -c \ QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c \
|grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\ |grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\
fi && \ fi && \
apt-get update && \ apt-get update && \

View File

@@ -1,4 +1,4 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-focal FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-bionic
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
@@ -22,12 +22,12 @@ RUN \
python3 && \ python3 && \
curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \ curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \
apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \ apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \
echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \ echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \ echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \ echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
echo "**** install packages ****" && \ echo "**** install packages ****" && \
if [ -z ${QBITTORRENT_VERSION+x} ]; then \ if [ -z ${QBITTORRENT_VERSION+x} ]; then \
QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/focal/main/binary-amd64/Packages.gz | gunzip -c \ QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c \
|grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\ |grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\
fi && \ fi && \
apt-get update && \ apt-get update && \

194
Jenkinsfile vendored
View File

@@ -41,7 +41,7 @@ pipeline {
script{ script{
env.EXIT_STATUS = '' env.EXIT_STATUS = ''
env.LS_RELEASE = sh( env.LS_RELEASE = sh(
script: '''docker run --rm ghcr.io/linuxserver/alexeiled-skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':latest 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''', script: '''docker run --rm ghcr.io/linuxserver/alexeiled-skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':unstable 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
returnStdout: true).trim() returnStdout: true).trim()
env.LS_RELEASE_NOTES = sh( env.LS_RELEASE_NOTES = sh(
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''', script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
@@ -55,7 +55,7 @@ pipeline {
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/' env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
env.PULL_REQUEST = env.CHANGE_ID env.PULL_REQUEST = env.CHANGE_ID
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.md ./.github/ISSUE_TEMPLATE/issue.feature.md ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/greetings.yml ./.github/workflows/stale.yml ./.github/workflows/package_trigger.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/external_trigger.yml ./.github/workflows/external_trigger_scheduler.yml' env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE.md ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/greetings.yml ./.github/workflows/stale.yml'
} }
script{ script{
env.LS_RELEASE_NUMBER = sh( env.LS_RELEASE_NUMBER = sh(
@@ -103,7 +103,7 @@ pipeline {
steps{ steps{
script{ script{
env.EXT_RELEASE = sh( env.EXT_RELEASE = sh(
script: ''' curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/focal/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}' ''', script: ''' curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}' ''',
returnStdout: true).trim() returnStdout: true).trim()
env.RELEASE_LINK = 'custom_command' env.RELEASE_LINK = 'custom_command'
} }
@@ -119,10 +119,10 @@ pipeline {
} }
} }
} }
// If this is a master build use live docker endpoints // If this is a unstable build use live docker endpoints
stage("Set ENV live build"){ stage("Set ENV live build"){
when { when {
branch "master" branch "unstable"
environment name: 'CHANGE_ID', value: '' environment name: 'CHANGE_ID', value: ''
} }
steps { steps {
@@ -135,7 +135,6 @@ pipeline {
} else { } else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
} }
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
} }
@@ -144,7 +143,7 @@ pipeline {
// If this is a dev build use dev docker endpoints // If this is a dev build use dev docker endpoints
stage("Set ENV dev build"){ stage("Set ENV dev build"){
when { when {
not {branch "master"} not {branch "unstable"}
environment name: 'CHANGE_ID', value: '' environment name: 'CHANGE_ID', value: ''
} }
steps { steps {
@@ -157,7 +156,6 @@ pipeline {
} else { } else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
} }
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/' env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
@@ -179,7 +177,6 @@ pipeline {
} else { } else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
} }
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST
@@ -219,7 +216,7 @@ pipeline {
// Use helper containers to render templated files // Use helper containers to render templated files
stage('Update-Templates') { stage('Update-Templates') {
when { when {
branch "master" branch "unstable"
environment name: 'CHANGE_ID', value: '' environment name: 'CHANGE_ID', value: ''
expression { expression {
env.CONTAINER_NAME != null env.CONTAINER_NAME != null
@@ -230,67 +227,19 @@ pipeline {
set -e set -e
TEMPDIR=$(mktemp -d) TEMPDIR=$(mktemp -d)
docker pull ghcr.io/linuxserver/jenkins-builder:latest docker pull ghcr.io/linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=unstable -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
# Stage 1 - Jenkinsfile update
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f master
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
git add Jenkinsfile
git commit -m 'Bot Updating Templated Files'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Updating Jenkinsfile"
rm -Rf ${TEMPDIR}
exit 0
else
echo "Jenkinsfile is up to date."
fi
# Stage 2 - Delete old templates
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md"
for i in ${OLD_TEMPLATES}; do
if [[ -f "${i}" ]]; then
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
fi
done
if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f master
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
for i in ${TEMPLATES_TO_DELETE}; do
git rm "${i}"
done
git commit -m 'Bot Updating Templated Files'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Deleting old templates"
rm -Rf ${TEMPDIR}
exit 0
else
echo "No templates to delete"
fi
# Stage 3 - Update templates
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
cd ${TEMPDIR}/docker-${CONTAINER_NAME} cd ${TEMPDIR}/docker-${CONTAINER_NAME}
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then if [[ "${CURRENTHASH}" != "${NEWHASH}" ]]; then
mkdir -p ${TEMPDIR}/repo mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO} cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f master git checkout -f unstable
cd ${TEMPDIR}/docker-${CONTAINER_NAME} cd ${TEMPDIR}/docker-${CONTAINER_NAME}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
cd ${TEMPDIR}/repo/${LS_REPO}/ cd ${TEMPDIR}/repo/${LS_REPO}/
if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then
echo ".jenkins-external" >> .gitignore
git add .gitignore
fi
git add ${TEMPLATED_FILES} git add ${TEMPLATED_FILES}
git commit -m 'Bot Updating Templated Files' git commit -m 'Bot Updating Templated Files'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
@@ -300,30 +249,13 @@ pipeline {
fi fi
mkdir -p ${TEMPDIR}/gitbook mkdir -p ${TEMPDIR}/gitbook
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then if [[ "${BRANCH_NAME}" == "master" ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/ cp ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
cd ${TEMPDIR}/gitbook/docker-documentation/ cd ${TEMPDIR}/gitbook/docker-documentation/
git add images/docker-${CONTAINER_NAME}.md git add images/docker-${CONTAINER_NAME}.md
git commit -m 'Bot Updating Documentation' git commit -m 'Bot Updating Documentation'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all
fi fi
mkdir -p ${TEMPDIR}/unraid
git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
fi
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
echo "Image is on the ignore list, skipping Unraid template upload"
else
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
cd ${TEMPDIR}/unraid/templates/
git add unraid/${CONTAINER_NAME}.xml
git commit -m 'Bot Updating Unraid Template'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git --all
fi
fi
rm -Rf ${TEMPDIR}''' rm -Rf ${TEMPDIR}'''
script{ script{
env.FILES_UPDATED = sh( env.FILES_UPDATED = sh(
@@ -335,7 +267,7 @@ pipeline {
// Exit the build if the Templated files were just updated // Exit the build if the Templated files were just updated
stage('Template-exit') { stage('Template-exit') {
when { when {
branch "master" branch "unstable"
environment name: 'CHANGE_ID', value: '' environment name: 'CHANGE_ID', value: ''
environment name: 'FILES_UPDATED', value: 'true' environment name: 'FILES_UPDATED', value: 'true'
expression { expression {
@@ -378,9 +310,8 @@ pipeline {
environment name: 'EXIT_STATUS', value: '' environment name: 'EXIT_STATUS', value: ''
} }
steps { steps {
echo "Running on node: ${NODE_NAME}"
sh "docker build --no-cache --pull -t ${IMAGE}:${META_TAG} \ sh "docker build --no-cache --pull -t ${IMAGE}:${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
} }
} }
// Build MultiArch Docker containers for push to LS Repo // Build MultiArch Docker containers for push to LS Repo
@@ -392,9 +323,8 @@ pipeline {
parallel { parallel {
stage('Build X86') { stage('Build X86') {
steps { steps {
echo "Running on node: ${NODE_NAME}"
sh "docker build --no-cache --pull -t ${IMAGE}:amd64-${META_TAG} \ sh "docker build --no-cache --pull -t ${IMAGE}:amd64-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
} }
} }
stage('Build ARMHF') { stage('Build ARMHF') {
@@ -402,13 +332,12 @@ pipeline {
label 'ARMHF' label 'ARMHF'
} }
steps { steps {
echo "Running on node: ${NODE_NAME}"
echo 'Logging into Github' echo 'Logging into Github'
sh '''#! /bin/bash sh '''#! /bin/bash
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
''' '''
sh "docker build --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \ sh "docker build --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}" sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
retry(5) { retry(5) {
sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}" sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
@@ -423,13 +352,12 @@ pipeline {
label 'ARM64' label 'ARM64'
} }
steps { steps {
echo "Running on node: ${NODE_NAME}"
echo 'Logging into Github' echo 'Logging into Github'
sh '''#! /bin/bash sh '''#! /bin/bash
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
''' '''
sh "docker build --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \ sh "docker build --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}" sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
retry(5) { retry(5) {
sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}" sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
@@ -444,7 +372,7 @@ pipeline {
// Take the image we just built and dump package versions for comparison // Take the image we just built and dump package versions for comparison
stage('Update-packages') { stage('Update-packages') {
when { when {
branch "master" branch "unstable"
environment name: 'CHANGE_ID', value: '' environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: '' environment name: 'EXIT_STATUS', value: ''
} }
@@ -472,7 +400,7 @@ pipeline {
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github" echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO} git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f master git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f unstable
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/ cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
cd ${TEMPDIR}/${LS_REPO}/ cd ${TEMPDIR}/${LS_REPO}/
wait wait
@@ -496,19 +424,12 @@ pipeline {
// Exit the build if the package file was just updated // Exit the build if the package file was just updated
stage('PACKAGE-exit') { stage('PACKAGE-exit') {
when { when {
branch "master" branch "unstable"
environment name: 'CHANGE_ID', value: '' environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'true' environment name: 'PACKAGE_UPDATED', value: 'true'
environment name: 'EXIT_STATUS', value: '' environment name: 'EXIT_STATUS', value: ''
} }
steps { steps {
sh '''#! /bin/bash
echo "Packages were updated. Cleaning up the image and exiting."
if [ "${MULTIARCH}" == "true" ]; then
docker rmi ${IMAGE}:amd64-${META_TAG}
else
docker rmi ${IMAGE}:${META_TAG}
fi'''
script{ script{
env.EXIT_STATUS = 'ABORTED' env.EXIT_STATUS = 'ABORTED'
} }
@@ -517,7 +438,7 @@ pipeline {
// Exit the build if this is just a package check and there are no changes to push // Exit the build if this is just a package check and there are no changes to push
stage('PACKAGECHECK-exit') { stage('PACKAGECHECK-exit') {
when { when {
branch "master" branch "unstable"
environment name: 'CHANGE_ID', value: '' environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'false' environment name: 'PACKAGE_UPDATED', value: 'false'
environment name: 'EXIT_STATUS', value: '' environment name: 'EXIT_STATUS', value: ''
@@ -526,13 +447,6 @@ pipeline {
} }
} }
steps { steps {
sh '''#! /bin/bash
echo "There are no package updates. Cleaning up the image and exiting."
if [ "${MULTIARCH}" == "true" ]; then
docker rmi ${IMAGE}:amd64-${META_TAG}
else
docker rmi ${IMAGE}:${META_TAG}
fi'''
script{ script{
env.EXIT_STATUS = 'ABORTED' env.EXIT_STATUS = 'ABORTED'
} }
@@ -557,7 +471,7 @@ pipeline {
} }
sh '''#! /bin/bash sh '''#! /bin/bash
set -e set -e
docker pull ghcr.io/linuxserver/ci:latest docker pull ghcr.io/linuxserver/lsiodev-ci:latest
if [ "${MULTIARCH}" == "true" ]; then if [ "${MULTIARCH}" == "true" ]; then
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
@@ -582,7 +496,7 @@ pipeline {
-e WEB_PATH=\"${CI_WEBPATH}\" \ -e WEB_PATH=\"${CI_WEBPATH}\" \
-e DO_REGION="ams3" \ -e DO_REGION="ams3" \
-e DO_BUCKET="lsio-ci" \ -e DO_BUCKET="lsio-ci" \
-t ghcr.io/linuxserver/ci:latest \ -t ghcr.io/linuxserver/lsiodev-ci:latest \
python /ci/ci.py''' python /ci/ci.py'''
} }
} }
@@ -613,20 +527,20 @@ pipeline {
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG} docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:unstable
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG} docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG}
docker push ${PUSHIMAGE}:latest docker push ${PUSHIMAGE}:unstable
docker push ${PUSHIMAGE}:${META_TAG} docker push ${PUSHIMAGE}:${META_TAG}
docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG} docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
done done
''' '''
} }
sh '''#! /bin/bash sh '''#! /bin/bash
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do for DELETEIMAGE in "${GITHUBIMAGE}" "{GITLABIMAGE}" "${IMAGE}"; do
docker rmi \ docker rmi \
${DELETEIMAGE}:${META_TAG} \ ${DELETEIMAGE}:${META_TAG} \
${DELETEIMAGE}:${EXT_RELEASE_TAG} \ ${DELETEIMAGE}:${EXT_RELEASE_TAG} \
${DELETEIMAGE}:latest || : ${DELETEIMAGE}:unstable || :
done done
''' '''
} }
@@ -663,34 +577,33 @@ pipeline {
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-unstable
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-unstable
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-unstable
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:amd64-${META_TAG} docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG} docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG} docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker push ${MANIFESTIMAGE}:amd64-latest docker push ${MANIFESTIMAGE}:amd64-unstable
docker push ${MANIFESTIMAGE}:arm32v7-latest docker push ${MANIFESTIMAGE}:arm32v7-unstable
docker push ${MANIFESTIMAGE}:arm64v8-latest docker push ${MANIFESTIMAGE}:arm64v8-unstable
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
docker manifest push --purge ${MANIFESTIMAGE}:latest || : docker manifest push --purge ${MANIFESTIMAGE}:unstable || :
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest docker manifest create ${MANIFESTIMAGE}:unstable ${MANIFESTIMAGE}:amd64-unstable ${MANIFESTIMAGE}:arm32v7-unstable ${MANIFESTIMAGE}:arm64v8-unstable
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm docker manifest annotate ${MANIFESTIMAGE}:unstable ${MANIFESTIMAGE}:arm32v7-unstable --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8 docker manifest annotate ${MANIFESTIMAGE}:unstable ${MANIFESTIMAGE}:arm64v8-unstable --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || : docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8 docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || :
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8 docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:latest docker manifest push --purge ${MANIFESTIMAGE}:unstable
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
done done
@@ -700,14 +613,11 @@ pipeline {
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
docker rmi \ docker rmi \
${DELETEIMAGE}:amd64-${META_TAG} \ ${DELETEIMAGE}:amd64-${META_TAG} \
${DELETEIMAGE}:amd64-latest \ ${DELETEIMAGE}:amd64-unstable \
${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \
${DELETEIMAGE}:arm32v7-${META_TAG} \ ${DELETEIMAGE}:arm32v7-${META_TAG} \
${DELETEIMAGE}:arm32v7-latest \ ${DELETEIMAGE}:arm32v7-unstable \
${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \
${DELETEIMAGE}:arm64v8-${META_TAG} \ ${DELETEIMAGE}:arm64v8-${META_TAG} \
${DELETEIMAGE}:arm64v8-latest \ ${DELETEIMAGE}:arm64v8-unstable || :
${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
done done
docker rmi \ docker rmi \
ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \ ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
@@ -719,7 +629,7 @@ pipeline {
// If this is a public release tag it in the LS Github // If this is a public release tag it in the LS Github
stage('Github-Tag-Push-Release') { stage('Github-Tag-Push-Release') {
when { when {
branch "master" branch "unstable"
expression { expression {
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
} }
@@ -727,21 +637,21 @@ pipeline {
environment name: 'EXIT_STATUS', value: '' environment name: 'EXIT_STATUS', value: ''
} }
steps { steps {
echo "Pushing New tag for current commit ${META_TAG}" echo "Pushing New tag for current commit ${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}"
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \ sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
-d '{"tag":"'${META_TAG}'",\ -d '{"tag":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
"object": "'${COMMIT_SHA}'",\ "object": "'${COMMIT_SHA}'",\
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\ "message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to unstable",\
"type": "commit",\ "type": "commit",\
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' ''' "tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
echo "Pushing New release for Tag" echo "Pushing New release for Tag"
sh '''#! /bin/bash sh '''#! /bin/bash
echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json
echo '{"tag_name":"'${META_TAG}'",\ echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
"target_commitish": "master",\ "target_commitish": "unstable",\
"name": "'${META_TAG}'",\ "name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**Remote Changes:**\\n\\n' > start "body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**Remote Changes:**\\n\\n' > start
printf '","draft": false,"prerelease": false}' >> releasebody.json printf '","draft": false,"prerelease": true}' >> releasebody.json
paste -d'\\0' start releasebody.json > releasebody.json.done paste -d'\\0' start releasebody.json > releasebody.json.done
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done''' curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
} }
@@ -766,7 +676,7 @@ pipeline {
TEMPDIR=$(mktemp -d) TEMPDIR=$(mktemp -d)
docker pull ghcr.io/linuxserver/jenkins-builder:latest docker pull ghcr.io/linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH="${BRANCH_NAME}" -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH="${BRANCH_NAME}" -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
docker pull ghcr.io/linuxserver/readme-sync docker pull ghcr.io/linuxserver/lsiodev-readme-sync
docker run --rm=true \ docker run --rm=true \
-e DOCKERHUB_USERNAME=$DOCKERUSER \ -e DOCKERHUB_USERNAME=$DOCKERUSER \
-e DOCKERHUB_PASSWORD=$DOCKERPASS \ -e DOCKERHUB_PASSWORD=$DOCKERPASS \
@@ -774,7 +684,7 @@ pipeline {
-e DOCKER_REPOSITORY=${IMAGE} \ -e DOCKER_REPOSITORY=${IMAGE} \
-e GIT_BRANCH=master \ -e GIT_BRANCH=master \
-v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \ -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \
ghcr.io/linuxserver/readme-sync bash -c 'node sync' ghcr.io/linuxserver/lsiodev-readme-sync bash -c 'node sync'
rm -Rf ${TEMPDIR} ''' rm -Rf ${TEMPDIR} '''
} }
} }

View File

@@ -31,11 +31,11 @@ Find us at:
[![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-qbittorrent.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-qbittorrent) [![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-qbittorrent.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-qbittorrent)
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-qbittorrent.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-qbittorrent/releases) [![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-qbittorrent.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-qbittorrent/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-qbittorrent/packages) [![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-qbittorrent/packages)
[![GitLab Container Registry](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitLab%20Registry&logo=gitlab)](https://gitlab.com/linuxserver.io/docker-qbittorrent/container_registry) [![GitLab Container Registry](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitLab%20Registry&logo=gitlab)](https://gitlab.com/Linuxserver.io/docker-qbittorrent/container_registry)
[![MicroBadger Layers](https://img.shields.io/microbadger/layers/linuxserver/qbittorrent.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge)](https://microbadger.com/images/linuxserver/qbittorrent "Get your own version badge on microbadger.com") [![MicroBadger Layers](https://img.shields.io/microbadger/layers/linuxserver/qbittorrent.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge)](https://microbadger.com/images/linuxserver/qbittorrent "Get your own version badge on microbadger.com")
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/qbittorrent.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/qbittorrent) [![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/qbittorrent.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/qbittorrent)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/qbittorrent.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/qbittorrent) [![Docker Stars](https://img.shields.io/docker/stars/linuxserver/qbittorrent.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/qbittorrent)
[![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-qbittorrent%2Fjob%2Fmaster%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/master/) [![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-qbittorrent%2Fjob%2Funstable%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/unstable/)
[![LSIO CI](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=CI&query=CI&url=https%3A%2F%2Fci-tests.linuxserver.io%2Flinuxserver%2Fqbittorrent%2Flatest%2Fci-status.yml)](https://ci-tests.linuxserver.io/linuxserver/qbittorrent/latest/index.html) [![LSIO CI](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=CI&query=CI&url=https%3A%2F%2Fci-tests.linuxserver.io%2Flinuxserver%2Fqbittorrent%2Flatest%2Fci-status.yml)](https://ci-tests.linuxserver.io/linuxserver/qbittorrent/latest/index.html)
The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-source software alternative to µTorrent. qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library. The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-source software alternative to µTorrent. qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library.
@@ -84,10 +84,11 @@ services:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
- TZ=Europe/London - TZ=Europe/London
- UMASK_SET=022
- WEBUI_PORT=8080 - WEBUI_PORT=8080
volumes: volumes:
- /path/to/appdata/config:/config - </path/to/appdata/config>:/config
- /path/to/downloads:/downloads - </path/to/downloads>:/downloads
ports: ports:
- 6881:6881 - 6881:6881
- 6881:6881/udp - 6881:6881/udp
@@ -103,12 +104,13 @@ docker run -d \
-e PUID=1000 \ -e PUID=1000 \
-e PGID=1000 \ -e PGID=1000 \
-e TZ=Europe/London \ -e TZ=Europe/London \
-e UMASK_SET=022 \
-e WEBUI_PORT=8080 \ -e WEBUI_PORT=8080 \
-p 6881:6881 \ -p 6881:6881 \
-p 6881:6881/udp \ -p 6881:6881/udp \
-p 8080:8080 \ -p 8080:8080 \
-v /path/to/appdata/config:/config \ -v </path/to/appdata/config>:/config \
-v /path/to/downloads:/downloads \ -v </path/to/downloads>:/downloads \
--restart unless-stopped \ --restart unless-stopped \
ghcr.io/linuxserver/qbittorrent ghcr.io/linuxserver/qbittorrent
``` ```
@@ -126,6 +128,7 @@ Container images are configured using parameters passed at runtime (such as thos
| `-e PUID=1000` | for UserID - see below for explanation | | `-e PUID=1000` | for UserID - see below for explanation |
| `-e PGID=1000` | for GroupID - see below for explanation | | `-e PGID=1000` | for GroupID - see below for explanation |
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London | | `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London |
| `-e UMASK_SET=022` | for umask setting of qbittorrent, optional , default if left unset is 022 |
| `-e WEBUI_PORT=8080` | for changing the port of the webui, see below for explanation | | `-e WEBUI_PORT=8080` | for changing the port of the webui, see below for explanation |
| `-v /config` | Contains all relevant configuration files. | | `-v /config` | Contains all relevant configuration files. |
| `-v /downloads` | Location of downloads on disk. | | `-v /downloads` | Location of downloads on disk. |
@@ -259,10 +262,8 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions ## Versions
* **10.02.21:** - Rebase to focal. * **05.07.20:** - Shift to Python3
* **20.01.21:** - Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information. * **31.10.19:** - Adding unstable tag.
* **12.11.20:** - Stop creating /config/data directory on startup
* **03.04.20:** - Fix adding search engine plugin
* **02.08.19:** - Add qbitorrent-cli for processing scripts. * **02.08.19:** - Add qbitorrent-cli for processing scripts.
* **23.03.19:** - Switching to new Base images, shift to arm32v7 tag. * **23.03.19:** - Switching to new Base images, shift to arm32v7 tag.
* **14.01.19:** - Rebase to Ubuntu, add multi arch and pipeline logic. * **14.01.19:** - Rebase to Ubuntu, add multi arch and pipeline logic.

View File

@@ -3,10 +3,10 @@
# jenkins variables # jenkins variables
project_name: docker-qbittorrent project_name: docker-qbittorrent
external_type: na external_type: na
custom_version_command: "curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/focal/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}'" custom_version_command: "curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}'"
release_type: stable release_type: prerelease
release_tag: latest release_tag: unstable
ls_branch: master ls_branch: unstable
repo_vars: repo_vars:
- CONTAINER_NAME = 'qbittorrent' - CONTAINER_NAME = 'qbittorrent'
- BUILD_VERSION_ARG = 'QBITTORRENT_VERSION' - BUILD_VERSION_ARG = 'QBITTORRENT_VERSION'

View File

@@ -1,191 +1,180 @@
adduser3.118ubuntu2 adduser3.116ubuntu1
apt2.0.4 apt1.6.12ubuntu0.1
apt-utils2.0.4 apt-utils1.6.12ubuntu0.1
base-files11ubuntu5.3 base-files10.1ubuntu2.10
base-passwd3.5.47 base-passwd3.5.44
bash5.0-6ubuntu1.1 bash4.4.18-2ubuntu1.2
bsdutils1:2.34-0.1ubuntu9.1 bsdutils1:2.31.1-0.4ubuntu3.7
bzip21.0.8-2 bzip21.0.6-8.1ubuntu0.2
ca-certificates20210119~20.04.1 ca-certificates20201027ubuntu0.18.04.1
coreutils8.30-3ubuntu2 coreutils8.28-1ubuntu1
curl7.68.0-1ubuntu2.4 curl7.58.0-2ubuntu3.10
dash0.5.10.2-6 dash0.5.8-2.10
dbus1.12.16-2ubuntu2.1 dbus1.12.2-1ubuntu1.2
debconf1.5.73 debconf1.5.66ubuntu1
debianutils4.9.1 debianutils4.8.4
diffutils1:3.7-3 diffutils1:3.6-1
dirmngr2.2.19-3ubuntu2.1 dirmngr2.2.4-1ubuntu1.3
dpkg1.19.7ubuntu3 dpkg1.19.0.5ubuntu2.3
e2fsprogs1.45.5-2ubuntu1 e2fsprogs1.44.1-1ubuntu1.3
fdisk2.34-0.1ubuntu9.1 fdisk2.31.1-0.4ubuntu3.7
file1:5.38-4 file1:5.32-2ubuntu0.4
findutils4.7.0-1ubuntu1 findutils4.6.0+git+20170828-2
gcc-10-base10.2.0-5ubuntu1~20.04 gcc-8-base8.4.0-1ubuntu1~18.04
geoip-bin1.6.12-6build1 geoip-bin1.6.12-1
geoip-database20191224-2 geoip-database20180315-1
gnupg2.2.19-3ubuntu2.1 gnupg2.2.4-1ubuntu1.3
gnupg-l10n2.2.19-3ubuntu2.1 gnupg-l10n2.2.4-1ubuntu1.3
gnupg-utils2.2.19-3ubuntu2.1 gnupg-utils2.2.4-1ubuntu1.3
gpg2.2.19-3ubuntu2.1 gpg2.2.4-1ubuntu1.3
gpg-agent2.2.19-3ubuntu2.1 gpg-agent2.2.4-1ubuntu1.3
gpgconf2.2.19-3ubuntu2.1 gpgconf2.2.4-1ubuntu1.3
gpgsm2.2.19-3ubuntu2.1 gpgsm2.2.4-1ubuntu1.3
gpgv2.2.19-3ubuntu2.1 gpgv2.2.4-1ubuntu1.3
gpg-wks-client2.2.19-3ubuntu2.1 gpg-wks-client2.2.4-1ubuntu1.3
gpg-wks-server2.2.19-3ubuntu2.1 gpg-wks-server2.2.4-1ubuntu1.3
grep3.4-1 grep3.1-2build1
gzip1.10-0ubuntu4 gzip1.6-5ubuntu1
hostname3.23 hostname3.20
init-system-helpers1.57 init-system-helpers1.51
krb5-locales1.17-6ubuntu4.1 krb5-locales1.16-2ubuntu0.2
libacl12.2.53-6 libacl12.2.52-3build1
libapparmor12.13.3-7ubuntu5.1 libapparmor12.12-4ubuntu5.1
libapt-pkg6.02.0.4 libapt-inst2.01.6.12ubuntu0.1
libasn1-8-heimdal7.7.0+dfsg-1ubuntu1 libapt-pkg5.01.6.12ubuntu0.1
libassuan02.5.3-7ubuntu2 libasn1-8-heimdal7.5.0+dfsg-1
libattr11:2.4.48-5 libassuan02.5.1-2
libaudit11:2.8.5-2ubuntu6 libattr11:2.4.47-2build1
libaudit-common1:2.8.5-2ubuntu6 libaudit11:2.8.2-1ubuntu1
libblkid12.34-0.1ubuntu9.1 libaudit-common1:2.8.2-1ubuntu1
libbrotli11.0.7-6ubuntu0.1 libblkid12.31.1-0.4ubuntu3.7
libbz2-1.01.0.8-2 libboost-system1.65.11.65.1+dfsg-0ubuntu5
libc62.31-0ubuntu9.2 libbz2-1.01.0.6-8.1ubuntu0.2
libcap-ng00.7.9-2.1build1 libc62.27-3ubuntu1.2
libc-bin2.31-0ubuntu9.2 libcap-ng00.7.7-3.1
libcom-err21.45.5-2ubuntu1 libc-bin2.27-3ubuntu1.2
libcrypt11:4.4.10-10ubuntu4 libcom-err21.44.1-1ubuntu1.3
libcurl47.68.0-1ubuntu2.4 libcurl47.58.0-2ubuntu3.10
libdb5.35.3.28+dfsg1-0.6ubuntu2 libdb5.35.3.28-13.1ubuntu1.1
libdbus-1-31.12.16-2ubuntu2.1 libdbus-1-31.12.2-1ubuntu1.2
libdebconfclient00.251ubuntu1 libdebconfclient00.213ubuntu1
libdouble-conversion33.1.5-4ubuntu1 libdouble-conversion12.0.1-4ubuntu1
libexpat12.2.9-1build1 libexpat12.2.5-3ubuntu0.2
libext2fs21.45.5-2ubuntu1 libext2fs21.44.1-1ubuntu1.3
libfdisk12.34-0.1ubuntu9.1 libfdisk12.31.1-0.4ubuntu3.7
libffi73.3-4 libffi63.2.1-8
libgcc-s110.2.0-5ubuntu1~20.04 libgcc11:8.4.0-1ubuntu1~18.04
libgcrypt201.8.5-5ubuntu1 libgcrypt201.8.1-4ubuntu1.2
libgdbm61.18.1-5 libgeoip11.6.12-1
libgdbm-compat41.18.1-5 libglib2.0-02.56.4-0ubuntu0.18.04.6
libgeoip11.6.12-6build1 libglib2.0-data2.56.4-0ubuntu0.18.04.6
libglib2.0-02.64.6-1~ubuntu20.04.1 libgmp102:6.1.2+dfsg-2
libglib2.0-data2.64.6-1~ubuntu20.04.1 libgnutls303.5.18-1ubuntu1.4
libgmp102:6.2.0+dfsg-4 libgpg-error01.27-6
libgnutls303.6.13-2ubuntu1.3 libgssapi3-heimdal7.5.0+dfsg-1
libgpg-error01.37-1 libgssapi-krb5-21.16-2ubuntu0.2
libgssapi3-heimdal7.7.0+dfsg-1ubuntu1 libhcrypto4-heimdal7.5.0+dfsg-1
libgssapi-krb5-21.17-6ubuntu4.1 libheimbase1-heimdal7.5.0+dfsg-1
libhcrypto4-heimdal7.7.0+dfsg-1ubuntu1 libheimntlm0-heimdal7.5.0+dfsg-1
libheimbase1-heimdal7.7.0+dfsg-1ubuntu1 libhogweed43.4-1
libheimntlm0-heimdal7.7.0+dfsg-1ubuntu1 libhx509-5-heimdal7.5.0+dfsg-1
libhogweed53.5.1+really3.5.1-2 libicu6060.2-3ubuntu3.1
libhx509-5-heimdal7.7.0+dfsg-1ubuntu1 libidn2-02.0.4-1.1ubuntu0.2
libicu6666.1-2ubuntu2 libk5crypto31.16-2ubuntu0.2
libidn2-02.2.0-2 libkeyutils11.5.9-9.2ubuntu2
libk5crypto31.17-6ubuntu4.1 libkrb5-26-heimdal7.5.0+dfsg-1
libkeyutils11.6-6ubuntu1 libkrb5-31.16-2ubuntu0.2
libkrb5-26-heimdal7.7.0+dfsg-1ubuntu1 libkrb5support01.16-2ubuntu0.2
libkrb5-31.17-6ubuntu4.1
libkrb5support01.17-6ubuntu4.1
libksba81.3.5-2 libksba81.3.5-2
libldap-2.4-22.4.49+dfsg-2ubuntu1.6 libldap-2.4-22.4.45+dfsg-1ubuntu1.8
libldap-common2.4.49+dfsg-2ubuntu1.6 libldap-common2.4.45+dfsg-1ubuntu1.8
liblz4-11.9.2-2 liblz4-10.0~r131-2ubuntu3
liblzma55.2.4-1ubuntu1 liblzma55.2.2-1.3
libmagic11:5.38-4 libmagic11:5.32-2ubuntu0.4
libmagic-mgc1:5.38-4 libmagic-mgc1:5.32-2ubuntu0.4
libmount12.34-0.1ubuntu9.1 libmount12.31.1-0.4ubuntu3.7
libmpdec22.4.2-3 libmpdec22.4.2-1ubuntu1
libncurses66.2-0ubuntu2 libncurses56.1-1ubuntu1.18.04
libncursesw66.2-0ubuntu2 libncursesw56.1-1ubuntu1.18.04
libnetaddr-ip-perl4.079+dfsg-1build4 libnettle63.4-1
libnettle73.5.1+really3.5.1-2 libnghttp2-141.30.0-1ubuntu1
libnghttp2-141.40.0-1build1 libnpth01.5-3
libnpth01.6-1 libp11-kit00.23.9-2
libp11-kit00.23.20-1ubuntu0.1 libpam0g1.1.8-3.6ubuntu2.18.04.2
libpam0g1.3.1-5ubuntu4.1 libpam-modules1.1.8-3.6ubuntu2.18.04.2
libpam-modules1.3.1-5ubuntu4.1 libpam-modules-bin1.1.8-3.6ubuntu2.18.04.2
libpam-modules-bin1.3.1-5ubuntu4.1 libpam-runtime1.1.8-3.6ubuntu2.18.04.2
libpam-runtime1.3.1-5ubuntu4.1 libpcre32:8.39-9
libpcre2-16-010.34-7 libprocps62:3.3.12-3ubuntu1.2
libpcre2-8-010.34-7 libpsl50.19.1-5build1
libpcre32:8.39-12build1 libpython3.6-minimal3.6.9-1~18.04ubuntu1.3
libperl5.305.30.0-9ubuntu0.2 libpython3.6-stdlib3.6.9-1~18.04ubuntu1.3
libprocps82:3.3.16-1ubuntu2 libpython3-stdlib3.6.7-1~18.04
libpsl50.21.0-1ubuntu1 libqt5core5a5.9.5+dfsg-0ubuntu2.5
libpython3.8-minimal3.8.5-1~20.04 libqt5dbus55.9.5+dfsg-0ubuntu2.5
libpython3.8-stdlib3.8.5-1~20.04 libqt5network55.9.5+dfsg-0ubuntu2.5
libpython3-stdlib3.8.2-0ubuntu2 libqt5xml55.9.5+dfsg-0ubuntu2.5
libqt5core5a5.12.8+dfsg-0ubuntu1 libreadline77.0-3
libqt5dbus55.12.8+dfsg-0ubuntu1 libroken18-heimdal7.5.0+dfsg-1
libqt5network55.12.8+dfsg-0ubuntu1 librtmp12.4+20151223.gitfa8646d.1-1
libqt5xml55.12.8+dfsg-0ubuntu1 libsasl2-22.1.27~101-g0780600+dfsg-3ubuntu2.1
libreadline88.0-4 libsasl2-modules2.1.27~101-g0780600+dfsg-3ubuntu2.1
libroken18-heimdal7.7.0+dfsg-1ubuntu1 libsasl2-modules-db2.1.27~101-g0780600+dfsg-3ubuntu2.1
librtmp12.4+20151223.gitfa8646d.1-2build1 libseccomp22.4.3-1ubuntu3.18.04.3
libsasl2-22.1.27+dfsg-2 libselinux12.7-2build2
libsasl2-modules2.1.27+dfsg-2 libsemanage12.7-2build2
libsasl2-modules-db2.1.27+dfsg-2 libsemanage-common2.7-2build2
libseccomp22.4.3-1ubuntu3.20.04.3 libsepol12.7-1
libselinux13.0-1build2 libsmartcols12.31.1-0.4ubuntu3.7
libsemanage13.0-1build2 libsqlite3-03.22.0-1ubuntu0.4
libsemanage-common3.0-1build2 libss21.44.1-1ubuntu1.3
libsepol13.0-1 libssl1.0.01.0.2n-1ubuntu5.4
libsmartcols12.34-0.1ubuntu9.1 libssl1.11.1.1-1ubuntu2.1~18.04.6
libsocket6-perl0.29-1build1 libstdc++68.4.0-1ubuntu1~18.04
libsqlite3-03.31.1-4ubuntu0.2 libsystemd0237-3ubuntu10.42
libss21.45.5-2ubuntu1 libtasn1-64.13-2
libssh-40.9.3-2ubuntu2.1 libtinfo56.1-1ubuntu1.18.04
libssl1.11.1.1f-1ubuntu2.1 libtorrent-rasterbar101.2.11+git20201124.afa406f890-1ppa1~18.04
libstdc++610.2.0-5ubuntu1~20.04 libudev1237-3ubuntu10.42
libsystemd0245.4-4ubuntu3.4 libunistring20.9.9-0ubuntu2
libtasn1-64.16.0-2 libuuid12.31.1-0.4ubuntu3.7
libtinfo66.2-0ubuntu2 libwind0-heimdal7.5.0+dfsg-1
libtorrent-rasterbar101.2.12+git20210118.3efdb8a941-1ppa1~20.04 libxml22.9.4+dfsg1-6.1ubuntu1.3
libudev1245.4-4ubuntu3.4 libzstd11.3.3+dfsg-2ubuntu1.1
libunistring20.9.10-2 locales2.27-3ubuntu1.3
libuuid12.34-0.1ubuntu9.1 login1:4.5-1ubuntu2
libwind0-heimdal7.7.0+dfsg-1ubuntu1 lsb-base9.20170808ubuntu1
libxml22.9.10+dfsg-5 mawk1.3.3-17ubuntu3
libzstd11.4.4+dfsg-3 mime-support3.60ubuntu1
locales2.31-0ubuntu9.2 mount2.31.1-0.4ubuntu3.7
login1:4.8.1-1ubuntu5.20.04 ncurses-base6.1-1ubuntu1.18.04
logsave1.45.5-2ubuntu1 ncurses-bin6.1-1ubuntu1.18.04
lsb-base11.1.0ubuntu2 openssl1.1.1-1ubuntu2.1~18.04.6
mawk1.3.4.20200120-2 p7zip16.02+dfsg-6
mime-support3.64ubuntu1 p7zip-full16.02+dfsg-6
mount2.34-0.1ubuntu9.1 passwd1:4.5-1ubuntu2
ncurses-base6.2-0ubuntu2 perl-base5.26.1-6ubuntu0.5
ncurses-bin6.2-0ubuntu2 pinentry-curses1.1.0-1
netbase6.1 procps2:3.3.12-3ubuntu1.2
openssl1.1.1f-1ubuntu2.1 publicsuffix20180223.1310-1
p7zip16.02+dfsg-7build1 python33.6.7-1~18.04
p7zip-full16.02+dfsg-7build1 python3.63.6.9-1~18.04ubuntu1.3
passwd1:4.8.1-1ubuntu5.20.04 python3.6-minimal3.6.9-1~18.04ubuntu1.3
perl5.30.0-9ubuntu0.2 python3-minimal3.6.7-1~18.04
perl-base5.30.0-9ubuntu0.2
perl-modules-5.305.30.0-9ubuntu0.2
pinentry-curses1.1.0-3build1
procps2:3.3.16-1ubuntu2
publicsuffix20200303.0012-1
python33.8.2-0ubuntu2
python3.83.8.5-1~20.04
python3.8-minimal3.8.5-1~20.04
python3-minimal3.8.2-0ubuntu2
qbittorrent-cli1.6.20334-1 qbittorrent-cli1.6.20334-1
qbittorrent-nox1:4.3.3.99~202101191832-7248-da0b276d5~ubuntu20.04.1 qbittorrent-nox4.4.0~202012022148-7134-0f2df2380~ubuntu18.04.1
qttranslations5-l10n5.12.8-0ubuntu1 qttranslations5-l10n5.9.5-0ubuntu1
readline-common8.0-4 readline-common7.0-3
sed4.7-1 sed4.4-2
sensible-utils0.0.12+nmu1 sensible-utils0.0.12
shared-mime-info1.15-1 shared-mime-info1.9-2
sysvinit-utils2.96-2.1ubuntu1 sysvinit-utils2.88dsf-59.10ubuntu1
tar1.30+dfsg-7ubuntu0.20.04.1 tar1.29b-2ubuntu0.1
tzdata2021a-0ubuntu0.20.04 tzdata2020d-0ubuntu0.18.04
ubuntu-keyring2020.02.11.2 ubuntu-keyring2018.09.18.1~18.04.0
unrar1:5.6.6-2build1 unrar1:5.5.8-1
unzip6.0-25ubuntu1 unzip6.0-21ubuntu1
util-linux2.34-0.1ubuntu9.1 util-linux2.31.1-0.4ubuntu3.7
xdg-user-dirs0.17-2ubuntu1 xdg-user-dirs0.17-1ubuntu1
xz-utils5.2.4-1ubuntu1 xz-utils5.2.2-1.3
zlib1g1:1.2.11.dfsg-2ubuntu1.2 zlib1g1:1.2.11.dfsg-0ubuntu2

View File

@@ -24,8 +24,8 @@ common_param_env_vars_enabled: true
param_container_name: "{{ project_name }}" param_container_name: "{{ project_name }}"
param_usage_include_vols: true param_usage_include_vols: true
param_volumes: param_volumes:
- { vol_path: "/config", vol_host_path: "/path/to/appdata/config", desc: "Contains all relevant configuration files." } - { vol_path: "/config", vol_host_path: "</path/to/appdata/config>", desc: "Contains all relevant configuration files." }
- { vol_path: "/downloads", vol_host_path: "/path/to/downloads", desc: "Location of downloads on disk." } - { vol_path: "/downloads", vol_host_path: "</path/to/downloads>", desc: "Location of downloads on disk." }
param_usage_include_ports: true param_usage_include_ports: true
param_ports: param_ports:
- { external_port: "6881", internal_port: "6881", port_desc: "tcp connection port" } - { external_port: "6881", internal_port: "6881", port_desc: "tcp connection port" }
@@ -34,6 +34,7 @@ param_ports:
param_usage_include_env: true param_usage_include_env: true
param_env_vars: param_env_vars:
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"} - { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"}
- { env_var: "UMASK_SET", env_value: "022", desc: "for umask setting of qbittorrent, optional , default if left unset is 022"}
- { env_var: "WEBUI_PORT", env_value: "8080", desc: "for changing the port of the webui, see below for explanation"} - { env_var: "WEBUI_PORT", env_value: "8080", desc: "for changing the port of the webui, see below for explanation"}
# optional parameters # optional parameters
@@ -68,10 +69,8 @@ app_setup_block: |
# changelog # changelog
changelogs: changelogs:
- { date: "10.02.21:", desc: "Rebase to focal." } - { date: "05.07.20:", desc: "Shift to Python3" }
- { date: "20.01.21:", desc: "Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information." } - { date: "31.10.19:", desc: "Adding unstable tag." }
- { date: "12.11.20:", desc: "Stop creating /config/data directory on startup" }
- { date: "03.04.20:", desc: "Fix adding search engine plugin" }
- { date: "02.08.19:", desc: "Add qbitorrent-cli for processing scripts." } - { date: "02.08.19:", desc: "Add qbitorrent-cli for processing scripts." }
- { date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag." } - { date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag." }
- { date: "14.01.19:", desc: "Rebase to Ubuntu, add multi arch and pipeline logic." } - { date: "14.01.19:", desc: "Rebase to Ubuntu, add multi arch and pipeline logic." }

View File

@@ -1,20 +1,15 @@
#!/usr/bin/with-contenv bash #!/usr/bin/with-contenv bash
# make our folder # make our folders
mkdir -p /config/qBittorrent mkdir -p \
/config/qBittorrent \
/config/data
# copy config # copy config
[[ ! -e /config/qBittorrent/qBittorrent.conf ]] && \ [[ ! -e /config/qBittorrent/qBittorrent.conf ]] && \
cp /defaults/qBittorrent.conf /config/qBittorrent/qBittorrent.conf cp /defaults/qBittorrent.conf /config/qBittorrent/qBittorrent.conf
# v4.3.3 BT_backup migration # chown download directory if currently set to root
[[ -d /config/data/qBittorrent/BT_backup/ ]] && \
mv /config/qBittorrent/BT_backup/ /config/qBittorrent/BT_backup.bak/ && \
mkdir /config/qBittorrent/BT_backup/ && \
cp -a /config/data/qBittorrent/BT_backup/. /config/qBittorrent/BT_backup/ && \
mv /config/data/qBittorrent/BT_backup/ /config/data/qBittorrent/BT_backup.old/
# chown download directory if currently not set to abc
if [[ "$(stat -c '%U' /downloads)" != "abc" ]]; then if [[ "$(stat -c '%U' /downloads)" != "abc" ]]; then
chown -R abc:abc /downloads chown -R abc:abc /downloads
fi fi

View File

@@ -1,11 +1,9 @@
#!/usr/bin/with-contenv bash #!/usr/bin/with-contenv bash
UMASK_SET=${UMASK_SET:-022}
WEBUI_PORT=${WEBUI_PORT:-8080} WEBUI_PORT=${WEBUI_PORT:-8080}
if [ -n "${UMASK_SET}" ] && [ -z "${UMASK}" ]; then umask "$UMASK_SET"
echo -e "You are using a legacy method of defining umask\nplease update your environment variable from UMASK_SET to UMASK\nto keep the functionality after July 2021"
umask ${UMASK_SET}
fi
exec \ exec \
s6-setuidgid abc /usr/bin/qbittorrent-nox --webui-port="${WEBUI_PORT}" s6-setuidgid abc /usr/bin/qbittorrent-nox --webui-port="${WEBUI_PORT}"