Compare commits

..

250 Commits

Author SHA1 Message Date
LinuxServer-CI
6ea1e7b5c7 Bot Updating Package Versions 2021-01-04 06:45:58 -05:00
LinuxServer-CI
1a5a8e1c78 Bot Updating Package Versions 2020-12-31 16:10:54 +00:00
LinuxServer-CI
178f8a894d Bot Updating Package Versions 2020-12-30 16:11:21 +00:00
LinuxServer-CI
9489ffc30d Bot Updating Package Versions 2020-12-29 22:04:53 +00:00
LinuxServer-CI
9ccb2c1521 Bot Updating Package Versions 2020-12-28 15:00:06 +00:00
LinuxServer-CI
d0d9063104 Bot Updating Package Versions 2020-12-27 14:57:57 +00:00
LinuxServer-CI
97e593ca44 Bot Updating Package Versions 2020-12-26 16:05:22 +00:00
LinuxServer-CI
3240f8ebea Bot Updating Package Versions 2020-12-25 15:00:21 +00:00
LinuxServer-CI
af798daf7d Bot Updating Package Versions 2020-12-24 08:03:19 +00:00
LinuxServer-CI
6bb2c207db Bot Updating Package Versions 2020-12-22 19:11:55 +00:00
LinuxServer-CI
99917ba94a Bot Updating Package Versions 2020-12-19 11:01:48 +00:00
Eric Nemchik
6d47830633 Update Jenkinsfile 2020-12-15 18:54:15 -06:00
LinuxServer-CI
e25646ce8a Bot Updating Package Versions 2020-12-15 16:24:42 -05:00
LinuxServer-CI
bc23da7dc4 Bot Updating Templated Files 2020-12-15 16:17:15 -05:00
LinuxServer-CI
9a846a030d Bot Updating Templated Files 2020-12-15 16:16:04 -05:00
LinuxServer-CI
2af71920c6 Bot Updating Package Versions 2020-12-14 21:09:40 +00:00
LinuxServer-CI
255053c1a7 Bot Updating Package Versions 2020-12-13 16:09:35 -05:00
LinuxServer-CI
51a483f4b1 Bot Updating Package Versions 2020-12-12 18:09:31 -05:00
LinuxServer-CI
f6e2f0ec86 Bot Updating Package Versions 2020-12-10 15:10:57 -05:00
LinuxServer-CI
f4c2c0ac9c Bot Updating Package Versions 2020-12-08 12:09:23 -05:00
LinuxServer-CI
fc85c7f4fe Bot Updating Package Versions 2020-12-07 05:10:55 -05:00
LinuxServer-CI
331383c6a9 Bot Updating Package Versions 2020-12-05 10:08:51 -05:00
LinuxServer-CI
f99cb8f69e Bot Updating Package Versions 2020-12-04 21:11:09 +00:00
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
16 changed files with 461 additions and 209 deletions

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

@@ -0,0 +1,13 @@
blank_issues_enabled: false
contact_links:
- name: Discord chat support
url: https://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.

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

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

25
.github/ISSUE_TEMPLATE/issue.feature.md vendored Executable file
View File

@@ -0,0 +1,25 @@
---
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 -->

91
.github/workflows/external_trigger.yml vendored Executable file
View File

@@ -0,0 +1,91 @@
name: External Trigger Main
on:
workflow_dispatch:
jobs:
external-trigger-unstable:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: External Trigger
if: github.ref == 'refs/heads/unstable'
run: |
if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_QBITTORRENT_UNSTABLE }}" ]; then
echo "**** Github secret PAUSE_EXTERNAL_TRIGGER_QBITTORRENT_UNSTABLE is set; skipping trigger. ****"
exit 0
fi
echo "**** External trigger running off of unstable branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_QBITTORRENT_UNSTABLE\". ****"
echo "**** Retrieving external version ****"
EXT_RELEASE=$(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}')
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 unstable"
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
EXT_RELEASE=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
echo "**** External version: ${EXT_RELEASE} ****"
echo "**** Retrieving last pushed version ****"
image="linuxserver/qbittorrent"
tag="unstable"
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 unstable"
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/unstable/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/unstable/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 unstable. 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

@@ -0,0 +1,43 @@
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

38
.github/workflows/package_trigger.yml vendored Executable file
View File

@@ -0,0 +1,38 @@
name: Package Trigger Main
on:
workflow_dispatch:
jobs:
package-trigger-unstable:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: Package Trigger
if: github.ref == 'refs/heads/unstable'
run: |
if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_QBITTORRENT_UNSTABLE }}" ]; then
echo "**** Github secret PAUSE_PACKAGE_TRIGGER_QBITTORRENT_UNSTABLE is set; skipping trigger. ****"
exit 0
fi
if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/unstable/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 unstable branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_QBITTORRENT_UNSTABLE\". ****"
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/unstable/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

@@ -0,0 +1,50 @@
name: Package Trigger Scheduler
on:
schedule:
- cron: '12 11 * * 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 }}

View File

@@ -1,11 +1,11 @@
FROM lsiobase/ubuntu:bionic
FROM ghcr.io/linuxserver/baseimage-ubuntu:bionic
# set version label
ARG BUILD_DATE
ARG VERSION
ARG QBITTORRENT_VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="sparklyballs, thelamer"
LABEL maintainer="thelamer"
# environment settings
ARG DEBIAN_FRONTEND="noninteractive"
@@ -22,12 +22,12 @@ RUN \
python3 && \
curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \
apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \
echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu bionic 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-unstable/ubuntu bionic 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 ****" && \
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/bionic/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}');\
fi && \
apt-get update && \

View File

@@ -1,11 +1,11 @@
FROM lsiobase/ubuntu:arm64v8-bionic
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-bionic
# set version label
ARG BUILD_DATE
ARG VERSION
ARG QBITTORRENT_VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="sparklyballs, thelamer"
LABEL maintainer="thelamer"
# environment settings
ARG DEBIAN_FRONTEND="noninteractive"
@@ -22,12 +22,12 @@ RUN \
python3 && \
curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \
apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \
echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu bionic 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-unstable/ubuntu bionic 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 ****" && \
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/bionic/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}');\
fi && \
apt-get update && \

View File

@@ -1,11 +1,11 @@
FROM lsiobase/ubuntu:arm32v7-bionic
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-bionic
# set version label
ARG BUILD_DATE
ARG VERSION
ARG QBITTORRENT_VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="sparklyballs, thelamer"
LABEL maintainer="thelamer"
# environment settings
ARG DEBIAN_FRONTEND="noninteractive"
@@ -22,12 +22,12 @@ RUN \
python3 && \
curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \
apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \
echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu bionic 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-unstable/ubuntu bionic 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 ****" && \
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/bionic/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}');\
fi && \
apt-get update && \

288
Jenkinsfile vendored
View File

@@ -41,7 +41,7 @@ pipeline {
script{
env.EXIT_STATUS = ''
env.LS_RELEASE = sh(
script: '''docker run --rm 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()
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' ''',
@@ -55,7 +55,7 @@ pipeline {
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.PULL_REQUEST = env.CHANGE_ID
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'
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'
}
script{
env.LS_RELEASE_NUMBER = sh(
@@ -103,7 +103,7 @@ pipeline {
steps{
script{
env.EXT_RELEASE = sh(
script: ''' curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/bionic/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()
env.RELEASE_LINK = 'custom_command'
}
@@ -119,45 +119,47 @@ 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"){
when {
branch "master"
branch "unstable"
environment name: 'CHANGE_ID', value: ''
}
steps {
script{
env.IMAGE = env.DOCKERHUB_IMAGE
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/' + env.CONTAINER_NAME
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/' + env.CONTAINER_NAME
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.CI_TAGS = 'amd64-unstable-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-unstable-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-unstable-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.CI_TAGS = 'unstable-' + 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.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.META_TAG = 'unstable-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.EXT_RELEASE_TAG = 'unstable-version-' + env.EXT_RELEASE_CLEAN
}
}
}
// If this is a dev build use dev docker endpoints
stage("Set ENV dev build"){
when {
not {branch "master"}
not {branch "unstable"}
environment name: 'CHANGE_ID', value: ''
}
steps {
script{
env.IMAGE = env.DEV_DOCKERHUB_IMAGE
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/lsiodev-' + env.CONTAINER_NAME
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.CI_TAGS = 'amd64-unstable-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-unstable-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-unstable-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.CI_TAGS = 'unstable-' + 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.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.META_TAG = 'unstable-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.EXT_RELEASE_TAG = 'unstable-version-' + env.EXT_RELEASE_CLEAN
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
}
}
@@ -170,15 +172,16 @@ pipeline {
steps {
script{
env.IMAGE = env.PR_DOCKERHUB_IMAGE
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/lspipepr-' + env.CONTAINER_NAME
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.CI_TAGS = 'amd64-unstable-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-unstable-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-unstable-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.CI_TAGS = 'unstable-' + 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.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.META_TAG = 'unstable-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.EXT_RELEASE_TAG = 'unstable-version-' + env.EXT_RELEASE_CLEAN
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/'
}
@@ -191,24 +194,24 @@ pipeline {
}
steps {
withCredentials([
string(credentialsId: 'spaces-key', variable: 'DO_KEY'),
string(credentialsId: 'spaces-secret', variable: 'DO_SECRET')
string(credentialsId: 'ci-tests-s3-key-id', variable: 'S3_KEY'),
string(credentialsId: 'ci-tests-s3-secret-access-key', variable: 'S3_SECRET')
]) {
script{
env.SHELLCHECK_URL = 'https://lsio-ci.ams3.digitaloceanspaces.com/' + env.IMAGE + '/' + env.META_TAG + '/shellcheck-result.xml'
env.SHELLCHECK_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/shellcheck-result.xml'
}
sh '''curl -sL https://raw.githubusercontent.com/linuxserver/docker-shellcheck/master/checkrun.sh | /bin/bash'''
sh '''#! /bin/bash
set -e
docker pull lsiodev/spaces-file-upload:latest
docker pull ghcr.io/linuxserver/lsiodev-spaces-file-upload:latest
docker run --rm \
-e DESTINATION=\"${IMAGE}/${META_TAG}/shellcheck-result.xml\" \
-e FILE_NAME="shellcheck-result.xml" \
-e MIMETYPE="text/xml" \
-v ${WORKSPACE}:/mnt \
-e SECRET_KEY=\"${DO_SECRET}\" \
-e ACCESS_KEY=\"${DO_KEY}\" \
-t lsiodev/spaces-file-upload:latest \
-e SECRET_KEY=\"${S3_SECRET}\" \
-e ACCESS_KEY=\"${S3_KEY}\" \
-t ghcr.io/linuxserver/lsiodev-spaces-file-upload:latest \
python /upload.py'''
}
}
@@ -216,7 +219,7 @@ pipeline {
// Use helper containers to render templated files
stage('Update-Templates') {
when {
branch "master"
branch "unstable"
environment name: 'CHANGE_ID', value: ''
expression {
env.CONTAINER_NAME != null
@@ -226,8 +229,8 @@ pipeline {
sh '''#! /bin/bash
set -e
TEMPDIR=$(mktemp -d)
docker pull linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
docker pull 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
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
@@ -235,12 +238,15 @@ pipeline {
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
git checkout -f unstable
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
rm -f ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE.md
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
cd ${TEMPDIR}/repo/${LS_REPO}/
git add ${TEMPLATED_FILES}
git rm .github/ISSUE_TEMPLATE.md || :
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}
@@ -267,7 +273,7 @@ pipeline {
// Exit the build if the Templated files were just updated
stage('Template-exit') {
when {
branch "master"
branch "unstable"
environment name: 'CHANGE_ID', value: ''
environment name: 'FILES_UPDATED', value: 'true'
expression {
@@ -310,8 +316,9 @@ pipeline {
environment name: 'EXIT_STATUS', value: ''
}
steps {
echo "Running on node: ${NODE_NAME}"
sh "docker build --no-cache --pull -t ${IMAGE}:${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
}
}
// Build MultiArch Docker containers for push to LS Repo
@@ -323,8 +330,9 @@ pipeline {
parallel {
stage('Build X86') {
steps {
echo "Running on node: ${NODE_NAME}"
sh "docker build --no-cache --pull -t ${IMAGE}:amd64-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
}
}
stage('Build ARMHF') {
@@ -332,28 +340,20 @@ pipeline {
label 'ARMHF'
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
echo 'Logging into DockerHub'
sh '''#! /bin/bash
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
'''
sh "docker build --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \
--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} lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
retry(5) {
sh "docker push lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
}
sh '''docker rmi \
${IMAGE}:arm32v7-${META_TAG} \
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
echo "Running on node: ${NODE_NAME}"
echo 'Logging into Github'
sh '''#! /bin/bash
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} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
retry(5) {
sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
}
sh '''docker rmi \
${IMAGE}:arm32v7-${META_TAG} \
ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
}
}
stage('Build ARM64') {
@@ -361,28 +361,20 @@ pipeline {
label 'ARM64'
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
echo 'Logging into DockerHub'
sh '''#! /bin/bash
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
'''
sh "docker build --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
--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} lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
retry(5) {
sh "docker push lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
}
sh '''docker rmi \
${IMAGE}:arm64v8-${META_TAG} \
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
echo "Running on node: ${NODE_NAME}"
echo 'Logging into Github'
sh '''#! /bin/bash
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} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
retry(5) {
sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
}
sh '''docker rmi \
${IMAGE}:arm64v8-${META_TAG} \
ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
}
}
}
@@ -390,7 +382,7 @@ pipeline {
// Take the image we just built and dump package versions for comparison
stage('Update-packages') {
when {
branch "master"
branch "unstable"
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
@@ -418,7 +410,7 @@ pipeline {
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
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}/
cd ${TEMPDIR}/${LS_REPO}/
wait
@@ -442,12 +434,19 @@ pipeline {
// Exit the build if the package file was just updated
stage('PACKAGE-exit') {
when {
branch "master"
branch "unstable"
environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'true'
environment name: 'EXIT_STATUS', value: ''
}
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{
env.EXIT_STATUS = 'ABORTED'
}
@@ -456,7 +455,7 @@ pipeline {
// Exit the build if this is just a package check and there are no changes to push
stage('PACKAGECHECK-exit') {
when {
branch "master"
branch "unstable"
environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'false'
environment name: 'EXIT_STATUS', value: ''
@@ -465,6 +464,13 @@ pipeline {
}
}
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{
env.EXIT_STATUS = 'ABORTED'
}
@@ -481,20 +487,20 @@ pipeline {
}
steps {
withCredentials([
string(credentialsId: 'spaces-key', variable: 'DO_KEY'),
string(credentialsId: 'spaces-secret', variable: 'DO_SECRET')
string(credentialsId: 'ci-tests-s3-key-id', variable: 'S3_KEY'),
string(credentialsId: 'ci-tests-s3-secret-access-key ', variable: 'S3_SECRET')
]) {
script{
env.CI_URL = 'https://lsio-ci.ams3.digitaloceanspaces.com/' + env.IMAGE + '/' + env.META_TAG + '/index.html'
env.CI_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/index.html'
}
sh '''#! /bin/bash
set -e
docker pull lsiodev/ci:latest
docker pull ghcr.io/linuxserver/lsiodev-ci:latest
if [ "${MULTIARCH}" == "true" ]; then
docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
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 tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
fi
docker run --rm \
--shm-size=1gb \
@@ -506,15 +512,15 @@ pipeline {
-e PORT=\"${CI_PORT}\" \
-e SSL=\"${CI_SSL}\" \
-e BASE=\"${DIST_IMAGE}\" \
-e SECRET_KEY=\"${DO_SECRET}\" \
-e ACCESS_KEY=\"${DO_KEY}\" \
-e SECRET_KEY=\"${S3_SECRET}\" \
-e ACCESS_KEY=\"${S3_KEY}\" \
-e DOCKER_ENV=\"${CI_DOCKERENV}\" \
-e WEB_SCREENSHOT=\"${CI_WEB}\" \
-e WEB_AUTH=\"${CI_AUTH}\" \
-e WEB_PATH=\"${CI_WEBPATH}\" \
-e DO_REGION="ams3" \
-e DO_BUCKET="lsio-ci" \
-t lsiodev/ci:latest \
-t ghcr.io/linuxserver/lsiodev-ci:latest \
python /ci/ci.py'''
}
}
@@ -541,24 +547,24 @@ pipeline {
sh '''#! /bin/bash
set -e
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
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 push ${PUSHIMAGE}:latest
docker push ${PUSHIMAGE}:unstable
docker push ${PUSHIMAGE}:${META_TAG}
docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
done
'''
}
sh '''#! /bin/bash
for DELETEIMAGE in "${GITHUBIMAGE}" "{GITLABIMAGE}" "${IMAGE}"; do
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
docker rmi \
${DELETEIMAGE}:${META_TAG} \
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
${DELETEIMAGE}:latest || :
${DELETEIMAGE}:unstable || :
done
'''
}
@@ -583,85 +589,67 @@ pipeline {
sh '''#! /bin/bash
set -e
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
if [ "${CI}" == "false" ]; then
docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
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 tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
fi
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}"; do
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}"; do
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-unstable
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-unstable
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-unstable
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}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker push ${MANIFESTIMAGE}:amd64-latest
docker push ${MANIFESTIMAGE}:arm32v7-latest
docker push ${MANIFESTIMAGE}:arm64v8-latest
docker push ${MANIFESTIMAGE}:amd64-unstable
docker push ${MANIFESTIMAGE}:arm32v7-unstable
docker push ${MANIFESTIMAGE}:arm64v8-unstable
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:unstable || :
docker manifest create ${MANIFESTIMAGE}:unstable ${MANIFESTIMAGE}:amd64-unstable ${MANIFESTIMAGE}:arm32v7-unstable ${MANIFESTIMAGE}:arm64v8-unstable
docker manifest annotate ${MANIFESTIMAGE}:unstable ${MANIFESTIMAGE}:arm32v7-unstable --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:unstable ${MANIFESTIMAGE}:arm64v8-unstable --os linux --arch arm64 --variant v8
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 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 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 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 push --purge ${MANIFESTIMAGE}:latest
docker manifest push --purge ${MANIFESTIMAGE}:unstable
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
done
docker tag ${IMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:amd64-${META_TAG}
docker tag ${IMAGE}:arm32v7-${META_TAG} ${GITHUBIMAGE}:arm32v7-${META_TAG}
docker tag ${IMAGE}:arm64v8-${META_TAG} ${GITHUBIMAGE}:arm64v8-${META_TAG}
docker tag ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:latest
docker tag ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:${META_TAG}
docker tag ${GITHUBIMAGE}:arm32v7-${META_TAG} ${GITHUBIMAGE}:arm32v7-latest
docker tag ${GITHUBIMAGE}:arm64v8-${META_TAG} ${GITHUBIMAGE}:arm64v8-latest
docker tag ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:amd64-${EXT_RELEASE_TAG}
docker tag ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:${EXT_RELEASE_TAG}
docker tag ${GITHUBIMAGE}:arm32v7-${META_TAG} ${GITHUBIMAGE}:arm32v7-${EXT_RELEASE_TAG}
docker tag ${GITHUBIMAGE}:arm64v8-${META_TAG} ${GITHUBIMAGE}:arm64v8-${EXT_RELEASE_TAG}
docker push ${GITHUBIMAGE}:amd64-${META_TAG}
docker push ${GITHUBIMAGE}:arm32v7-${META_TAG}
docker push ${GITHUBIMAGE}:arm64v8-${META_TAG}
docker push ${GITHUBIMAGE}:latest
docker push ${GITHUBIMAGE}:${META_TAG}
docker push ${GITHUBIMAGE}:arm32v7-latest
docker push ${GITHUBIMAGE}:arm64v8-latest
docker push ${GITHUBIMAGE}:${EXT_RELEASE_TAG}
docker push ${GITHUBIMAGE}:amd64-${EXT_RELEASE_TAG}
docker push ${GITHUBIMAGE}:arm32v7-${EXT_RELEASE_TAG}
docker push ${GITHUBIMAGE}:arm64v8-${EXT_RELEASE_TAG}
'''
}
sh '''#! /bin/bash
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
docker rmi \
${DELETEIMAGE}:amd64-${META_TAG} \
${DELETEIMAGE}:amd64-latest \
${DELETEIMAGE}:amd64-unstable \
${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \
${DELETEIMAGE}:arm32v7-${META_TAG} \
${DELETEIMAGE}:arm32v7-latest \
${DELETEIMAGE}:arm32v7-unstable \
${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \
${DELETEIMAGE}:arm64v8-${META_TAG} \
${DELETEIMAGE}:arm64v8-latest || :
${DELETEIMAGE}:arm64v8-unstable \
${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
done
docker rmi \
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :
ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :
'''
}
}
@@ -669,7 +657,7 @@ pipeline {
// If this is a public release tag it in the LS Github
stage('Github-Tag-Push-Release') {
when {
branch "master"
branch "unstable"
expression {
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
}
@@ -681,17 +669,17 @@ pipeline {
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
-d '{"tag":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
"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",\
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
echo "Pushing New release for Tag"
sh '''#! /bin/bash
echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
"target_commitish": "master",\
"target_commitish": "unstable",\
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
"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
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
}
@@ -714,9 +702,9 @@ pipeline {
sh '''#! /bin/bash
set -e
TEMPDIR=$(mktemp -d)
docker pull linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH="${BRANCH_NAME}" -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
docker pull lsiodev/readme-sync
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 pull ghcr.io/linuxserver/lsiodev-readme-sync
docker run --rm=true \
-e DOCKERHUB_USERNAME=$DOCKERUSER \
-e DOCKERHUB_PASSWORD=$DOCKERPASS \
@@ -724,7 +712,7 @@ pipeline {
-e DOCKER_REPOSITORY=${IMAGE} \
-e GIT_BRANCH=master \
-v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \
lsiodev/readme-sync bash -c 'node sync'
ghcr.io/linuxserver/lsiodev-readme-sync bash -c 'node sync'
rm -Rf ${TEMPDIR} '''
}
}

View File

@@ -31,12 +31,12 @@ 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 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)
[![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")
[![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)
[![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/)
[![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%2Flsio-ci.ams3.digitaloceanspaces.com%2Flinuxserver%2Fqbittorrent%2Flatest%2Fci-status.yml)](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/qbittorrent/latest/index.html)
[![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)
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.
@@ -46,7 +46,7 @@ The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-
Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
Simply pulling `linuxserver/qbittorrent` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
Simply pulling `ghcr.io/linuxserver/qbittorrent` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
The architectures supported by this image are:
@@ -78,7 +78,7 @@ Compatible with docker-compose v2 schemas.
version: "2.1"
services:
qbittorrent:
image: linuxserver/qbittorrent
image: ghcr.io/linuxserver/qbittorrent
container_name: qbittorrent
environment:
- PUID=1000
@@ -112,7 +112,7 @@ docker run -d \
-v </path/to/appdata/config>:/config \
-v </path/to/downloads>:/downloads \
--restart unless-stopped \
linuxserver/qbittorrent
ghcr.io/linuxserver/qbittorrent
```
@@ -204,7 +204,7 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to
* container version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' qbittorrent`
* image version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/qbittorrent`
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' ghcr.io/linuxserver/qbittorrent`
## Updating Info
@@ -220,7 +220,7 @@ Below are the instructions for updating containers:
* You can also remove the old dangling images: `docker image prune`
### Via Docker Run
* Update the image: `docker pull linuxserver/qbittorrent`
* Update the image: `docker pull ghcr.io/linuxserver/qbittorrent`
* Stop the running container: `docker stop qbittorrent`
* Delete the container: `docker rm qbittorrent`
* Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
@@ -250,7 +250,7 @@ cd docker-qbittorrent
docker build \
--no-cache \
--pull \
-t linuxserver/qbittorrent:latest .
-t ghcr.io/linuxserver/qbittorrent:latest .
```
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
@@ -262,7 +262,8 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
* **03.04.20:** - Fix adding search engine plugin
* **05.07.20:** - Shift to Python3
* **31.10.19:** - Adding unstable tag.
* **02.08.19:** - Add qbitorrent-cli for processing scripts.
* **23.03.19:** - Switching to new Base images, shift to arm32v7 tag.
* **14.01.19:** - Rebase to Ubuntu, add multi arch and pipeline logic.

View File

@@ -3,10 +3,10 @@
# jenkins variables
project_name: docker-qbittorrent
external_type: na
custom_version_command: "curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/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_tag: latest
ls_branch: master
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: prerelease
release_tag: unstable
ls_branch: unstable
repo_vars:
- CONTAINER_NAME = 'qbittorrent'
- BUILD_VERSION_ARG = 'QBITTORRENT_VERSION'

View File

@@ -1,14 +1,14 @@
adduser3.116ubuntu1
apt1.6.12ubuntu0.1
apt-utils1.6.12ubuntu0.1
apt1.6.12ubuntu0.2
apt-utils1.6.12ubuntu0.2
base-files10.1ubuntu2.10
base-passwd3.5.44
bash4.4.18-2ubuntu1.2
bsdutils1:2.31.1-0.4ubuntu3.7
bzip21.0.6-8.1ubuntu0.2
ca-certificates20190110~18.04.1
ca-certificates20201027ubuntu0.18.04.1
coreutils8.28-1ubuntu1
curl7.58.0-2ubuntu3.10
curl7.58.0-2ubuntu3.12
dash0.5.8-2.10
dbus1.12.2-1ubuntu1.2
debconf1.5.66ubuntu1
@@ -37,11 +37,11 @@ grep3.1-2build1
gzip1.6-5ubuntu1
hostname3.20
init-system-helpers1.51
krb5-locales1.16-2ubuntu0.1
krb5-locales1.16-2ubuntu0.2
libacl12.2.52-3build1
libapparmor12.12-4ubuntu5.1
libapt-inst2.01.6.12ubuntu0.1
libapt-pkg5.01.6.12ubuntu0.1
libapt-inst2.01.6.12ubuntu0.2
libapt-pkg5.01.6.12ubuntu0.2
libasn1-8-heimdal7.5.0+dfsg-1
libassuan02.5.1-2
libattr11:2.4.47-2build1
@@ -54,7 +54,7 @@ libc62.27-3ubuntu1.2
libcap-ng00.7.7-3.1
libc-bin2.27-3ubuntu1.2
libcom-err21.44.1-1ubuntu1.3
libcurl47.58.0-2ubuntu3.10
libcurl47.58.0-2ubuntu3.12
libdb5.35.3.28-13.1ubuntu1.1
libdbus-1-31.12.2-1ubuntu1.2
libdebconfclient00.213ubuntu1
@@ -72,7 +72,7 @@ libgmp102:6.1.2+dfsg-2
libgnutls303.5.18-1ubuntu1.4
libgpg-error01.27-6
libgssapi3-heimdal7.5.0+dfsg-1
libgssapi-krb5-21.16-2ubuntu0.1
libgssapi-krb5-21.16-2ubuntu0.2
libhcrypto4-heimdal7.5.0+dfsg-1
libheimbase1-heimdal7.5.0+dfsg-1
libheimntlm0-heimdal7.5.0+dfsg-1
@@ -80,14 +80,14 @@ libhogweed43.4-1
libhx509-5-heimdal7.5.0+dfsg-1
libicu6060.2-3ubuntu3.1
libidn2-02.0.4-1.1ubuntu0.2
libk5crypto31.16-2ubuntu0.1
libk5crypto31.16-2ubuntu0.2
libkeyutils11.5.9-9.2ubuntu2
libkrb5-26-heimdal7.5.0+dfsg-1
libkrb5-31.16-2ubuntu0.1
libkrb5support01.16-2ubuntu0.1
libkrb5-31.16-2ubuntu0.2
libkrb5support01.16-2ubuntu0.2
libksba81.3.5-2
libldap-2.4-22.4.45+dfsg-1ubuntu1.6
libldap-common2.4.45+dfsg-1ubuntu1.6
libldap-2.4-22.4.45+dfsg-1ubuntu1.8
libldap-common2.4.45+dfsg-1ubuntu1.8
liblz4-10.0~r131-2ubuntu3
liblzma55.2.2-1.3
libmagic11:5.32-2ubuntu0.4
@@ -128,20 +128,20 @@ libsepol12.7-1
libsmartcols12.31.1-0.4ubuntu3.7
libsqlite3-03.22.0-1ubuntu0.4
libss21.44.1-1ubuntu1.3
libssl1.0.01.0.2n-1ubuntu5.4
libssl1.11.1.1-1ubuntu2.1~18.04.6
libssl1.0.01.0.2n-1ubuntu5.5
libssl1.11.1.1-1ubuntu2.1~18.04.7
libstdc++68.4.0-1ubuntu1~18.04
libsystemd0237-3ubuntu10.42
libtasn1-64.13-2
libtinfo56.1-1ubuntu1.18.04
libtorrent-rasterbar101.2.10+git20201018.3d48e7d056-1ppa1~18.04
libtorrent-rasterbar101.2.12+git20210104.bfafd20428-1ppa1~18.04
libudev1237-3ubuntu10.42
libunistring20.9.9-0ubuntu2
libuuid12.31.1-0.4ubuntu3.7
libwind0-heimdal7.5.0+dfsg-1
libxml22.9.4+dfsg1-6.1ubuntu1.3
libzstd11.3.3+dfsg-2ubuntu1.1
locales2.27-3ubuntu1.2
locales2.27-3ubuntu1.4
login1:4.5-1ubuntu2
lsb-base9.20170808ubuntu1
mawk1.3.3-17ubuntu3
@@ -149,11 +149,11 @@ mime-support3.60ubuntu1
mount2.31.1-0.4ubuntu3.7
ncurses-base6.1-1ubuntu1.18.04
ncurses-bin6.1-1ubuntu1.18.04
openssl1.1.1-1ubuntu2.1~18.04.6
openssl1.1.1-1ubuntu2.1~18.04.7
p7zip16.02+dfsg-6
p7zip-full16.02+dfsg-6
passwd1:4.5-1ubuntu2
perl-base5.26.1-6ubuntu0.3
perl-base5.26.1-6ubuntu0.5
pinentry-curses1.1.0-1
procps2:3.3.12-3ubuntu1.2
publicsuffix20180223.1310-1
@@ -161,8 +161,8 @@ python33.6.7-1~18.04
python3.63.6.9-1~18.04ubuntu1.3
python3.6-minimal3.6.9-1~18.04ubuntu1.3
python3-minimal3.6.7-1~18.04
qbittorrent-cli1.5.19350-1
qbittorrent-nox1:4.3.0.99~202010190447-7090-34e6b7337~ubuntu18.04.1
qbittorrent-cli1.6.20334-1
qbittorrent-nox4.4.0~202012311433-7161-a579b4a51~ubuntu18.04.1
qttranslations5-l10n5.9.5-0ubuntu1
readline-common7.0-3
sed4.4-2
@@ -170,10 +170,10 @@ sensible-utils0.0.12
shared-mime-info1.9-2
sysvinit-utils2.88dsf-59.10ubuntu1
tar1.29b-2ubuntu0.1
tzdata2020a-0ubuntu0.18.04
tzdata2020d-0ubuntu0.18.04
ubuntu-keyring2018.09.18.1~18.04.0
unrar1:5.5.8-1
unzip6.0-21ubuntu1
unzip6.0-21ubuntu1.1
util-linux2.31.1-0.4ubuntu3.7
xdg-user-dirs0.17-1ubuntu1
xz-utils5.2.2-1.3

View File

@@ -69,7 +69,8 @@ app_setup_block: |
# changelog
changelogs:
- { date: "03.04.20:", desc: "Fix adding search engine plugin" }
- { date: "05.07.20:", desc: "Shift to Python3" }
- { date: "31.10.19:", desc: "Adding unstable tag." }
- { 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: "14.01.19:", desc: "Rebase to Ubuntu, add multi arch and pipeline logic." }

View File

@@ -9,7 +9,7 @@ mkdir -p \
[[ ! -e /config/qBittorrent/qBittorrent.conf ]] && \
cp /defaults/qBittorrent.conf /config/qBittorrent/qBittorrent.conf
# chown download directory if currently not set to abc
# chown download directory if currently set to root
if [[ "$(stat -c '%U' /downloads)" != "abc" ]]; then
chown -R abc:abc /downloads
fi