Compare commits

..

301 Commits

Author SHA1 Message Date
LinuxServer-CI
1a86e4df8f Bot Updating Package Versions 2023-02-26 13:01:28 +01:00
LinuxServer-CI
d1c2eb9de7 Bot Updating Templated Files 2023-02-26 12:57:32 +01:00
Adam
637d9ebfe5 Merge pull request #230 from SinTan1729/master 2023-02-26 11:56:08 +00:00
SinTan1729
3c99647cc9 Add qt6-qtbase-sqlite to support SQLite database for resume files 2023-02-23 22:16:00 -06:00
LinuxServer-CI
8139611966 Bot Updating Package Versions 2023-02-20 04:48:20 +01:00
LinuxServer-CI
81d2117056 Bot Updating Package Versions 2023-02-13 01:49:40 -06:00
LinuxServer-CI
66c061972d Bot Updating Package Versions 2023-02-12 21:52:31 -06:00
LinuxServer-CI
f11127fc32 Bot Updating Templated Files 2023-02-13 04:48:25 +01:00
LinuxServer-CI
640ae3e999 Bot Updating Templated Files 2023-02-13 04:47:08 +01:00
LinuxServer-CI
aed8420354 Bot Updating Package Versions 2023-02-05 21:47:58 -06:00
LinuxServer-CI
a3a1398b16 Bot Updating Package Versions 2023-01-30 04:48:09 +01:00
LinuxServer-CI
b68208bdbc Bot Updating Package Versions 2023-01-22 21:48:04 -06:00
LinuxServer-CI
538b1ac1a2 Bot Updating Package Versions 2023-01-15 08:58:32 -06:00
Adam
af5ae7b15b Merge pull request #220 from linuxserver/buildbase-master 2023-01-15 14:55:47 +00:00
TheSpad
b3d6e8e631 Use build-base meta package for building unrar 2023-01-15 14:21:18 +00:00
LinuxServer-CI
d5288897f7 Bot Updating Package Versions 2023-01-08 21:48:09 -06:00
LinuxServer-CI
c9be56f0df Bot Updating Package Versions 2023-01-02 04:48:09 +01:00
LinuxServer-CI
7ffac23daa Bot Updating Package Versions 2022-12-25 21:48:15 -06:00
LinuxServer-CI
09d0018747 Bot Updating Package Versions 2022-12-22 03:04:27 +01:00
LinuxServer-CI
49f9389de4 Bot Updating Package Versions 2022-12-19 04:48:14 +01:00
LinuxServer-CI
941102a69f Bot Updating Package Versions 2022-12-12 04:48:15 +01:00
LinuxServer-CI
281e720b3c Bot Updating Package Versions 2022-12-04 21:47:50 -06:00
LinuxServer-CI
a57af7278d Bot Updating Package Versions 2022-11-29 18:44:05 +01:00
LinuxServer-CI
634f4e6c9e Bot Updating Templated Files 2022-11-29 18:41:37 +01:00
Adam
8cf402cc99 Merge pull request #203 from linuxserver/openssl1-master 2022-11-29 17:40:22 +00:00
TheSpad
85eb8bbe30 Add openssl1.1-compat for qbittorrent-cli 2022-11-29 15:56:12 +00:00
LinuxServer-CI
1a5fdb0072 Bot Updating Package Versions 2022-11-27 21:53:39 -06:00
LinuxServer-CI
c3b95fdabf Bot Updating Package Versions 2022-11-21 05:06:39 +01:00
Adam
65621a9ba3 Merge pull request #200 from linuxserver/lsiown-master 2022-11-13 15:34:22 +00:00
TheSpad
5f0e71b743 Use lsiown for init 2022-11-12 14:23:13 +00:00
LinuxServer-CI
121cbb9462 Bot Updating Package Versions 2022-11-12 05:52:56 -06:00
LinuxServer-CI
ca5673a409 Bot Updating Templated Files 2022-11-12 12:48:12 +01:00
LinuxServer-CI
17dabb494e Bot Updating Package Versions 2022-11-06 22:29:08 -06:00
Adam
f196789a76 Merge pull request #198 from linuxserver/readme-v1 2022-10-31 14:12:47 +00:00
TheSpad
16364f2964 Update changelog and tag list 2022-10-31 13:51:29 +00:00
LinuxServer-CI
83b482ab7a Bot Updating Package Versions 2022-10-30 23:37:46 -05:00
LinuxServer-CI
a10c1b8729 Bot Updating Package Versions 2022-10-23 08:30:00 -05:00
LinuxServer-CI
74008d71f2 Bot Updating Package Versions 2022-10-19 15:43:10 +02:00
LinuxServer-CI
f063e52eb9 Bot Updating Package Versions 2022-10-17 00:16:49 -05:00
Adam
134527e4a9 Merge pull request #195 from linuxserver/v3-tidyup 2022-10-10 22:53:18 +01:00
TheSpad
bc0d17401d Remove unnecessary packages 2022-10-10 22:15:05 +01:00
TheSpad
d97b2e7d4a Make init more consistent with s6v3 standard 2022-10-10 22:14:57 +01:00
LinuxServer-CI
60df08ba86 Bot Updating Package Versions 2022-10-10 00:11:55 -05:00
LinuxServer-CI
fe250e22db Bot Updating Package Versions 2022-10-03 06:35:43 +02:00
LinuxServer-CI
3816f56755 Bot Updating Package Versions 2022-09-26 07:18:42 +02:00
LinuxServer-CI
f1eac2644f Bot Updating Package Versions 2022-09-20 11:29:07 -05:00
Adam
384f7ba365 Merge pull request #192 from linuxserver/exec-master 2022-09-20 17:25:59 +01:00
TheSpad
c828bd5ccd Exec notify 2022-09-20 16:42:11 +01:00
LinuxServer-CI
dde6f08046 Bot Updating Package Versions 2022-09-19 00:19:09 -05:00
LinuxServer-CI
56ac0242f7 Bot Updating Templated Files 2022-09-19 07:15:49 +02:00
LinuxServer-CI
18d310d3c0 Bot Updating Package Versions 2022-09-12 07:17:07 +02:00
LinuxServer-CI
b0261130d1 Bot Updating Package Versions 2022-09-05 07:10:23 +02:00
LinuxServer-CI
38ce6e4eaf Bot Updating Package Versions 2022-08-31 15:52:36 -05:00
LinuxServer-CI
6483e582e8 Bot Updating Package Versions 2022-08-31 12:45:00 -05:00
LinuxServer-CI
61d98c0113 Bot Updating Templated Files 2022-08-31 19:42:20 +02:00
Adam
a8abbc12e2 v3ify qbittorrent image (#184) 2022-08-31 18:41:04 +01:00
LinuxServer-CI
97d4b22608 Bot Updating Package Versions 2022-08-29 07:11:28 +02:00
LinuxServer-CI
871008c306 Bot Updating Package Versions 2022-08-12 12:19:44 +02:00
LinuxServer-CI
6b27825bd7 Bot Updating Templated Files 2022-08-12 05:16:39 -05:00
Adam
a3ac4ce7a9 Merge pull request #186 from linuxserver/unrar617-master 2022-08-12 11:15:05 +01:00
TheSpad
beeb9de294 Bump unrar to 6.1.7 2022-08-12 10:35:36 +01:00
LinuxServer-CI
06bec27898 Bot Updating Package Versions 2022-08-07 23:21:33 -05:00
LinuxServer-CI
a081d82d11 Bot Updating Package Versions 2022-08-01 00:02:16 -05:00
LinuxServer-CI
5c73db523b Bot Updating Package Versions 2022-07-25 06:36:28 +02:00
LinuxServer-CI
5318d90428 Bot Updating Package Versions 2022-07-10 23:22:21 -05:00
LinuxServer-CI
d5e03be2cf Bot Updating Package Versions 2022-07-04 06:35:13 +02:00
LinuxServer-CI
ce85d8e0ce Bot Updating Package Versions 2022-06-16 21:03:29 -05:00
thelamer
b0576b6f80 rebase to alpine 3.16 from edge 2022-06-16 22:00:42 -04:00
LinuxServer-CI
bb25c8d32e Bot Updating Package Versions 2022-06-16 12:05:26 -05:00
LinuxServer-CI
4f68b52b04 Bot Updating Package Versions 2022-06-12 23:24:03 -05:00
LinuxServer-CI
72d7f0639c Bot Updating Package Versions 2022-06-05 23:09:21 -05:00
LinuxServer-CI
c0196b94a9 Bot Updating Package Versions 2022-05-31 01:51:26 +02:00
LinuxServer-CI
6c107b1b8e Bot Updating Package Versions 2022-05-26 14:49:48 -05:00
LinuxServer-CI
d688fd93ac Bot Updating Package Versions 2022-05-25 14:46:13 +02:00
Adam
cb886eabea Merge pull request #174 from linuxserver/qbt 2022-05-25 13:43:20 +01:00
TheSpad
10baef17ec Pull qbittorrent-cli from upstream repo 2022-05-25 13:20:51 +01:00
LinuxServer-CI
2196ea8947 Bot Updating Package Versions 2022-05-23 17:51:57 -05:00
LinuxServer-CI
27358397df Bot Updating Package Versions 2022-05-22 23:19:43 -05:00
LinuxServer-CI
7b1fd614bc Bot Updating Package Versions 2022-05-16 06:01:16 +02:00
LinuxServer-CI
151bd9ef20 Bot Updating Package Versions 2022-05-14 07:06:35 +02:00
LinuxServer-CI
1de14c6540 Bot Updating Package Versions 2022-05-08 23:09:54 -05:00
LinuxServer-CI
9e2f4c203c Bot Updating Package Versions 2022-05-02 06:42:55 +02:00
LinuxServer-CI
ff4883d743 Bot Updating Templated Files 2022-05-02 06:38:50 +02:00
LinuxServer-CI
8197ab7ad0 Bot Updating Templated Files 2022-05-02 06:37:41 +02:00
LinuxServer-CI
bf8e5f1962 Bot Updating Package Versions 2022-04-25 06:05:13 +02:00
LinuxServer-CI
987952046f Bot Updating Package Versions 2022-04-17 23:04:32 -05:00
LinuxServer-CI
f0938c4f2b Bot Updating Package Versions 2022-04-15 16:50:35 +02:00
LinuxServer-CI
d17662b2d7 Bot Updating Package Versions 2022-04-10 23:00:34 -05:00
LinuxServer-CI
565e33a035 Bot Updating Package Versions 2022-04-10 06:56:16 +02:00
LinuxServer-CI
f5d7576098 Bot Updating Package Versions 2022-04-03 22:57:29 -05:00
LinuxServer-CI
01863767be Bot Updating Templated Files 2022-03-27 13:36:28 +02:00
Roxedus
1f480ed6a9 Merge pull request #165 from mynameisbogdan/fix-ports-order
Fix ports order
2022-03-27 13:35:11 +02:00
Bogdan
aa8bf3811b fix ports order 2022-03-27 14:15:20 +03:00
LinuxServer-CI
6d4d5ae9d5 Bot Updating Package Versions 2022-03-26 17:51:55 -05:00
LinuxServer-CI
ac95fb5904 Bot Updating Package Versions 2022-03-25 06:49:43 +01:00
LinuxServer-CI
0358202857 Bot Updating Package Versions 2022-03-20 22:52:27 -05:00
LinuxServer-CI
52f469a40d Bot Updating Package Versions 2022-03-14 04:51:12 +01:00
LinuxServer-CI
c067dc6e28 Bot Updating Package Versions 2022-03-07 04:48:25 +01:00
LinuxServer-CI
e9c36e0989 Bot Updating Package Versions 2022-03-03 21:04:03 +01:00
thelamer
afe1de3e7f use bash wrapper for qbt and do not use single bin 2022-03-03 11:54:26 -08:00
thelamer
0ec11ff56a build unrar add 7zip and use qbt bins for alpine 2022-03-03 11:54:26 -08:00
LinuxServer-CI
0ff8121521 Bot Updating Package Versions 2022-03-01 14:42:14 +01:00
LinuxServer-CI
df6b84fcee Bot Updating Templated Files 2022-03-01 14:39:36 +01:00
aptalca
9a6fca93a4 Merge pull request #160 from linuxserver/python
Add python for search plugin support
2022-03-01 08:38:09 -05:00
TheSpad
3f1abde2d5 Add python for search plugin support 2022-03-01 10:21:03 +00:00
LinuxServer-CI
aa53903516 Bot Updating Package Versions 2022-02-28 04:47:38 +01:00
LinuxServer-CI
11399fc0b8 Bot Updating Package Versions 2022-02-27 15:00:19 +01:00
aptalca
d86db02334 Merge pull request #157 from linuxserver/edge
Rebase to Edge, install from repos.
2022-02-27 08:57:50 -05:00
TheSpad
7c0eb4e676 Fix formatting, restore 4.3.3 migration check. 2022-02-23 22:17:26 +00:00
TheSpad
f4688d02a6 Run builder 2022-02-23 21:53:27 +00:00
TheSpad
e219ebb68a Rebase to Edge, install from repos. 2022-02-23 21:50:19 +00:00
LinuxServer-CI
6b33e52b99 Bot Updating Package Versions 2022-02-21 04:56:14 +01:00
LinuxServer-CI
d8521268eb Bot Updating Templated Files 2022-02-20 00:04:50 +01:00
Adam
0589233f7e Merge pull request #156 from rchenzheng/ISSUE-155/missing-jq 2022-02-19 23:03:45 +00:00
Richard Chen Zheng
73869214a6 Include jq for build-stage 2022-02-19 16:42:19 -05:00
LinuxServer-CI
4ca216b6a5 Bot Updating Package Versions 2022-02-17 14:57:18 +01:00
Adam
7e84208a53 Change release logic (#154) 2022-02-17 13:16:55 +00:00
LinuxServer-CI
7c6e03cbee Bot Updating Package Versions 2022-02-14 05:01:04 +01:00
LinuxServer-CI
0d8a8358bc Bot Updating Package Versions 2022-02-07 05:00:34 +01:00
LinuxServer-CI
d8875f90f2 Bot Updating Package Versions 2022-01-24 04:57:38 +01:00
LinuxServer-CI
ffcce8c8ca Bot Updating Package Versions 2022-01-17 05:05:42 +01:00
LinuxServer-CI
196ab45449 Bot Updating Package Versions 2022-01-09 13:23:10 +01:00
Adam
ae8a2b630c Rebase to Alpine, build from source (#147) 2022-01-09 11:38:59 +00:00
LinuxServer-CI
bc82fbd112 Bot Updating Package Versions 2022-01-06 19:05:52 +01:00
LinuxServer-CI
6ff254fa94 Bot Updating Templated Files 2022-01-06 19:02:56 +01:00
Adam
161be85ba4 Merge pull request #146 from linuxserver/update-readme 2022-01-06 18:01:44 +00:00
TheSpad
ab5459e94a Deprecate unstable branch 2022-01-06 17:36:29 +00:00
LinuxServer-CI
8eedd9fc6b Bot Updating Package Versions 2021-12-27 04:49:41 +01:00
LinuxServer-CI
52f71c421d Bot Updating Package Versions 2021-12-20 04:53:54 +01:00
LinuxServer-CI
3864769098 Bot Updating Templated Files 2021-12-20 04:50:10 +01:00
LinuxServer-CI
3959ef3929 Bot Updating Templated Files 2021-12-20 04:48:55 +01:00
LinuxServer-CI
d0bd08d681 Bot Updating Package Versions 2021-11-29 04:49:22 +01:00
LinuxServer-CI
31fd25b76e Bot Updating Package Versions 2021-11-22 04:48:10 +01:00
LinuxServer-CI
f602e3f3de Bot Updating Package Versions 2021-11-15 04:48:50 +01:00
LinuxServer-CI
404387d1bf Bot Updating Package Versions 2021-11-08 04:48:38 +01:00
LinuxServer-CI
b43a38d223 Bot Updating Package Versions 2021-10-31 16:52:40 +01:00
LinuxServer-CI
7a5e9ce7a8 Bot Updating Package Versions 2021-10-12 10:51:40 +02:00
LinuxServer-CI
9a9a5ace5f Bot Updating Package Versions 2021-10-08 16:50:05 +02:00
LinuxServer-CI
0e9d1cd2a7 Bot Updating Package Versions 2021-10-04 05:52:02 +02:00
LinuxServer-CI
388c14d39f Bot Updating Templated Files 2021-10-04 05:48:33 +02:00
LinuxServer-CI
05353a4ffa Bot Updating Templated Files 2021-10-04 05:47:23 +02:00
LinuxServer-CI
f403791b9b Bot Updating Package Versions 2021-09-27 05:48:15 +02:00
LinuxServer-CI
8957575e62 Bot Updating Package Versions 2021-09-10 06:59:12 +02:00
LinuxServer-CI
51cd1d2cb9 Bot Updating Package Versions 2021-09-06 05:48:08 +02:00
LinuxServer-CI
42c5efa42d Bot Updating Package Versions 2021-08-29 22:51:09 +02:00
LinuxServer-CI
88a3d3fffb Bot Updating Templated Files 2021-08-29 22:47:59 +02:00
LinuxServer-CI
04b7ad8614 Bot Updating Package Versions 2021-08-23 11:49:40 +02:00
LinuxServer-CI
fa2c992f99 Bot Updating Package Versions 2021-08-21 11:50:06 +02:00
LinuxServer-CI
7b96dd8081 Bot Updating Package Versions 2021-08-04 03:47:26 +02:00
LinuxServer-CI
788e6ac4d1 Bot Updating Package Versions 2021-08-02 05:52:01 +02:00
LinuxServer-CI
1920d0a36b Bot Updating Package Versions 2021-07-26 05:53:21 +02:00
LinuxServer-CI
7b7b90e21c Bot Updating Templated Files 2021-07-19 17:35:59 +02:00
j0nnymoe
d9604dae91 Merge pull request #130 from linuxserver/old-kernels-stable
Add issue note for old kernels
2021-07-19 16:34:49 +01:00
Adam
f09bcb7608 Add issue note for old kernels 2021-07-19 15:42:30 +01:00
LinuxServer-CI
ad68a8d8b5 Bot Updating Package Versions 2021-07-12 11:50:27 +00:00
LinuxServer-CI
51fa07ef4c Bot Updating Package Versions 2021-07-12 03:52:15 +00:00
LinuxServer-CI
4dcbcffd20 Bot Updating Package Versions 2021-07-05 10:58:46 +00:00
LinuxServer-CI
36f6c4727c Bot Updating Package Versions 2021-07-04 23:56:23 -04:00
LinuxServer-CI
f4599598d5 Bot Updating Templated Files 2021-07-05 03:52:40 +00:00
LinuxServer-CI
4b7c5cfa3c Bot Updating Templated Files 2021-07-05 03:50:38 +00:00
LinuxServer-CI
453fa3ab17 Bot Updating Package Versions 2021-06-27 20:53:23 +00:00
LinuxServer-CI
1b01d5533e Bot Updating Package Versions 2021-06-21 18:03:19 +00:00
LinuxServer-CI
e4c0d9a5ca Bot Updating Package Versions 2021-06-20 15:50:06 -04:00
LinuxServer-CI
f95cc6ad6b Bot Updating Package Versions 2021-06-19 19:08:58 +00:00
LinuxServer-CI
6f70db3f3c Bot Updating Package Versions 2021-06-15 15:53:21 +01:00
LinuxServer-CI
a14a44463b Bot Updating Package Versions 2021-06-08 09:03:49 +00:00
LinuxServer-CI
c6a679f65e Bot Updating Package Versions 2021-06-07 05:19:22 +00:00
LinuxServer-CI
3f43261f08 Bot Updating Package Versions 2021-05-31 05:42:53 +00:00
LinuxServer-CI
9c6a639487 Bot Updating Package Versions 2021-05-10 04:11:48 +00:00
LinuxServer-CI
83d85cedc1 Bot Updating Package Versions 2021-05-03 02:00:21 +00:00
LinuxServer-CI
d9f7f21791 Bot Updating Package Versions 2021-04-30 18:03:23 -04:00
LinuxServer-CI
2375382a28 Bot Updating Package Versions 2021-04-28 16:09:23 +00:00
LinuxServer-CI
5d811b36c6 Bot Updating Package Versions 2021-04-26 19:39:15 +00:00
Adam
e824d378e7 Merge pull request #122 from linuxserver/qbittorrent-cli-patch 2021-04-26 20:31:43 +01:00
TheSpad
f9483a88b6 Fix indentation 2021-04-26 19:58:22 +01:00
TheSpad
f83f3fd5fb Update repos for qbittorrent-cli 2021-04-26 19:27:58 +01:00
Adam
ecbb937c39 Merge pull request #120 from TheSpad/master 2021-04-26 17:49:48 +01:00
TheSpad
2bbec40d33 Don't try and chown non-existent directory 2021-04-26 13:28:49 +01:00
Adam
05fbba3e20 Remove /downloads VOLUME declaration 2021-04-26 12:58:17 +01:00
Adam
f3de1fa5e5 Remove /downloads VOLUME declaration 2021-04-26 12:58:07 +01:00
Adam
ca6d61ebe6 Remove /downloads VOLUME declaration 2021-04-26 12:57:49 +01:00
LinuxServer-CI
0bf1c72566 Bot Updating Package Versions 2021-04-25 03:09:06 -04:00
LinuxServer-CI
45fcca6ea9 Bot Updating Package Versions 2021-04-18 08:00:37 +00:00
LinuxServer-CI
1dfe1b178b Bot Updating Templated Files 2021-04-18 07:52:38 +00:00
LinuxServer-CI
46b481c1f2 Bot Updating Templated Files 2021-04-18 08:51:08 +01:00
LinuxServer-CI
dd76ae8615 Bot Updating Package Versions 2021-04-09 06:00:14 +00:00
LinuxServer-CI
2862d4c64b Bot Updating Package Versions 2021-04-03 07:56:31 -04:00
LinuxServer-CI
9d15a99d0d Bot Updating Package Versions 2021-03-28 06:14:19 +01:00
LinuxServer-CI
3e1c6f411d Bot Updating Package Versions 2021-03-27 06:06:10 +00:00
LinuxServer-CI
727670c265 Bot Updating Package Versions 2021-03-25 17:05:45 +00:00
LinuxServer-CI
2b0dbd321b Bot Updating Package Versions 2021-03-24 20:50:54 +00:00
Roxedus
4aeb003f8f Merge pull request #117 from linuxserver/master-custom-trigger
2 stage external trigger to check for artifacts
2021-03-24 21:47:21 +01:00
aptalca
9e38503877 2 stage external trigger to check for artifacts 2021-03-24 15:48:12 -04:00
LinuxServer-CI
0efdf54653 Bot Updating Package Versions 2021-03-22 04:37:19 +00:00
LinuxServer-CI
ef9930aed5 Bot Updating Package Versions 2021-03-15 00:01:29 -04:00
LinuxServer-CI
f2a15340dc Bot Updating Package Versions 2021-02-28 23:05:11 -05:00
LinuxServer-CI
21daeaf0d5 Bot Updating Package Versions 2021-02-22 04:09:13 +00:00
aptalca
af977a986c Merge pull request #102 from TheSpad/patch-1
Safer BT_backup migration
2021-02-13 08:46:51 -05:00
Adam
5bb96a4860 Safer BT_backup migration
Backup /config/qBittorrent/BT_backup/ before we copy anything
Rename /config/data/qBittorrent/BT_backup/ after copy so we don't do it again.
2021-02-13 13:18:26 +00:00
LinuxServer-CI
b1d457d6cf Bot Updating Package Versions 2021-02-13 08:11:31 -05:00
LinuxServer-CI
14f875769b Bot Updating Templated Files 2021-02-13 13:04:00 +00:00
LinuxServer-CI
c361bde9db Bot Updating Templated Files 2021-02-13 13:02:28 +00:00
LinuxServer-CI
2a51275b3a Bot Updating Templated Files 2021-02-13 13:01:07 +00:00
j0nnymoe
9e1a9ee654 Merge pull request #100 from linuxserver/focal
rebase to focal
2021-02-13 12:59:23 +00:00
aptalca
82e6971458 Merge pull request #98 from zaggash/patch-1
v4.3.3 upgrade path
2021-02-10 18:07:39 -05:00
aptalca
db769dc00c rebase to focal 2021-02-10 17:49:24 -05:00
LinuxServer-CI
6b02d3dd3f Bot Updating Package Versions 2021-02-08 03:58:50 +00:00
LinuxServer-CI
c7d44af955 Bot Updating Package Versions 2021-02-01 04:09:18 +00:00
Alexandre Pinon
9a267928a3 v4.3.3 upgrade path 2021-01-25 23:58:51 +01:00
aptalca
a82199f478 Merge pull request #95 from linuxserver/master-deprecate-umask_set
Deprecate UMASK_SET in favor of UMASK in baseimage
2021-01-20 08:04:19 -05:00
Roxedus
2b00f83793 Deprecate UMASK_SET in favor of UMASK in baseimage 2021-01-20 13:19:04 +01:00
LinuxServer-CI
c730612170 Bot Updating Package Versions 2021-01-19 20:29:51 +00:00
LinuxServer-CI
f4aa670e36 Bot Updating Package Versions 2021-01-18 12:07:40 +00:00
LinuxServer-CI
de3c3d3f8f Bot Updating Templated Files 2021-01-18 07:00:42 -05:00
LinuxServer-CI
0ad6143ad5 Bot Updating Package Versions 2021-01-08 05:18:43 -05:00
LinuxServer-CI
c40da0d2fa Bot Updating Package Versions 2021-01-04 11:47:00 +00:00
LinuxServer-CI
8c57809c37 Bot Updating Package Versions 2020-12-27 22:04:12 +00:00
LinuxServer-CI
c0319dd36f Bot Updating Package Versions 2020-12-21 06:39:10 -05:00
Eric Nemchik
453b53f443 Update Jenkinsfile 2020-12-15 18:54:43 -06:00
LinuxServer-CI
f2aa60834d Bot Updating Package Versions 2020-12-15 21:25:06 +00:00
LinuxServer-CI
d732a5aa06 Bot Updating Templated Files 2020-12-15 21:17:43 +00:00
LinuxServer-CI
1d603b153f Bot Updating Templated Files 2020-12-15 21:16:40 +00:00
LinuxServer-CI
c40bd11abd Bot Updating Package Versions 2020-12-02 05:02:39 +00:00
LinuxServer-CI
fe17f2fc18 Bot Updating Package Versions 2020-11-25 12:13:02 -05:00
LinuxServer-CI
e43be66cdb Bot Updating Package Versions 2020-11-25 05:02:46 +00:00
LinuxServer-CI
763ec46cf3 Bot Updating Package Versions 2020-11-18 00:01:03 -05:00
LinuxServer-CI
9f10b8e233 Bot Updating Package Versions 2020-11-12 16:38:29 +00:00
LinuxServer-CI
520e471b04 Bot Updating Templated Files 2020-11-12 16:31:34 +00:00
Aaron
2b913e4df5 readme-vars.yml: Update changelog
Signed-off-by: Aaron <admin@datahoarder.dev>
2020-11-12 08:30:10 -08:00
Aaron
79d5ee0cd7 30-config: Stop creating /config/data directory on startup
Signed-off-by: Aaron <admin@datahoarder.dev>
2020-11-12 08:30:10 -08:00
LinuxServer-CI
46b6b4e375 Bot Updating Package Versions 2020-11-11 00:01:48 -05:00
LinuxServer-CI
8b363149a1 Bot Updating Package Versions 2020-11-02 03:48:20 +00:00
LinuxServer-CI
c87b025488 Bot Updating Templated Files 2020-11-02 03:42:20 +00:00
thelamer
cfc4e1cd36 update baseimages 2020-11-01 19:40:55 -08:00
LinuxServer-CI
a76f73b6d4 Bot Updating Package Versions 2020-10-23 08:13:03 -04:00
LinuxServer-CI
b468b496e9 Bot Updating Package Versions 2020-10-22 08:10:41 -04:00
LinuxServer-CI
6fb3ff602a Bot Updating Package Versions 2020-10-19 06:12:40 +00:00
LinuxServer-CI
19e9414071 Bot Updating Templated Files 2020-10-07 03:57:33 +00:00
LinuxServer-CI
e1105c3c10 Bot Updating Templated Files 2020-10-07 03:56:14 +00:00
LinuxServer-CI
12eeada89e Bot Updating Package Versions 2020-09-30 00:00:14 -04:00
LinuxServer-CI
a9570058b0 Bot Updating Package Versions 2020-09-23 04:59:52 +01:00
LinuxServer-CI
ea87627cc4 Bot Updating Package Versions 2020-09-16 04:59:42 +01:00
LinuxServer-CI
4b3791666e Bot Updating Package Versions 2020-08-26 00:01:06 -04:00
LinuxServer-CI
7132836687 Bot Updating Templated Files 2020-08-26 03:56:30 +00:00
LinuxServer-CI
0ae62b1e31 Bot Updating Package Versions 2020-08-19 00:00:23 -04:00
LinuxServer-CI
c00ae15d02 Bot Updating Package Versions 2020-08-05 04:02:14 +00:00
LinuxServer-CI
b40aefd8c0 Bot Updating Templated Files 2020-08-05 03:57:06 +00:00
LinuxServer-CI
f3ddd66daf Bot Updating Templated Files 2020-08-05 03:56:13 +00:00
LinuxServer-CI
771466e8d1 Bot Updating Package Versions 2020-07-29 04:00:32 +00:00
LinuxServer-CI
40386796be Bot Updating Package Versions 2020-07-22 03:59:48 +00:00
LinuxServer-CI
b1712457b3 Bot Updating Package Versions 2020-07-15 00:00:24 -04:00
LinuxServer-CI
a149240962 Bot Updating Package Versions 2020-07-08 00:00:22 -04:00
LinuxServer-CI
203665be42 Bot Updating Package Versions 2020-07-01 04:06:11 +00:00
LinuxServer-CI
6c73fdbe28 Bot Updating Package Versions 2020-06-17 05:59:45 +02:00
LinuxServer-CI
0fd37c121c Bot Updating Package Versions 2020-06-06 10:15:34 -04:00
LinuxServer-CI
d0e1c52430 Bot Updating Templated Files 2020-06-06 14:10:21 +00:00
driz
d905eb1a9c Merge pull request #77 from ngosang/feature/python2
Drop Python 2 support, removed in qBittorrent v4.2.2
2020-06-06 10:09:02 -04:00
LinuxServer-CI
73f60599a0 Bot Updating Package Versions 2020-06-03 00:00:59 -04:00
LinuxServer-CI
46a9021a49 Bot Updating Templated Files 2020-06-03 03:55:53 +00:00
LinuxServer-CI
454d4a325a Bot Updating Package Versions 2020-05-25 23:14:01 +00:00
Eric Nemchik
27c8324ebd Merge pull request #76 from linuxserver/drizuid-patch-1
Update 30-config
2020-05-25 18:08:37 -05:00
ngosang
358eefe9c6 Drop Python 2 support, removed in qBittorrent v4.2.2
I'm qBittorrent developer. https://github.com/qbittorrent/search-plugins/issues/84#issuecomment-619539387

Resolves #67
2020-05-26 01:00:52 +02:00
driz
722bd16154 Update 30-config
adjust comment wording to be more clear
2020-05-25 18:02:50 -04:00
LinuxServer-CI
72ca1908f8 Bot Updating Package Versions 2020-05-20 03:58:00 +00:00
LinuxServer-CI
fb1cae11aa Bot Updating Templated Files 2020-04-29 03:55:51 +00:00
LinuxServer-CI
5cafd8e13c Bot Updating Package Versions 2020-04-24 22:15:39 -04:00
LinuxServer-CI
61ca0015f3 Bot Updating Package Versions 2020-04-22 20:11:47 -04:00
LinuxServer-CI
ba58ecb683 Bot Updating Package Versions 2020-04-22 05:05:11 +01:00
LinuxServer-CI
58f4ae5129 Bot Updating Package Versions 2020-04-17 20:12:06 -04:00
LinuxServer-CI
16788fb0f2 Bot Updating Package Versions 2020-04-08 06:06:45 +02:00
LinuxServer-CI
24b3491eef Bot Updating Templated Files 2020-04-08 03:55:54 +00:00
LinuxServer-CI
978d08a5fd Bot Updating Package Versions 2020-04-05 17:56:33 -04:00
LinuxServer-CI
668e9858cc Bot Updating Templated Files 2020-04-05 21:47:10 +00:00
Richard Chen Zheng
e38b7158db Add python2 2020-04-05 14:44:49 -07:00
Richard Chen Zheng
b3c6a6e811 Fix issue #70
- update to python3
2020-04-05 14:44:49 -07:00
LinuxServer-CI
1b64db93e7 Bot Updating Package Versions 2020-04-03 00:10:11 +02:00
LinuxServer-CI
81242e2067 Bot Updating Package Versions 2020-04-02 15:22:44 +00:00
LinuxServer-CI
53200a7b1f Bot Updating Package Versions 2020-04-01 00:02:50 -04:00
LinuxServer-CI
f66091b91f Bot Updating Package Versions 2020-03-25 00:20:17 -04:00
LinuxServer-CI
4f6acb37d1 Bot Updating Package Versions 2020-03-19 12:16:34 +01:00
LinuxServer-CI
40a39fe84a Bot Updating Templated Files 2020-03-19 12:07:03 +01:00
LinuxServer-CI
9cdd5ef3d3 Bot Updating Package Versions 2020-03-18 06:10:57 +01:00
LinuxServer-CI
c70fd537e9 Bot Updating Templated Files 2020-03-18 04:56:15 +00:00
LinuxServer-CI
dea7c84f45 Bot Updating Package Versions 2020-02-26 05:00:58 +00:00
LinuxServer-CI
8d1dac2300 Bot Updating Package Versions 2020-02-19 00:01:20 -05:00
LinuxServer-CI
25691a42ff Bot Updating Package Versions 2020-02-12 05:04:37 +00:00
LinuxServer-CI
884270d998 Bot Updating Package Versions 2020-02-05 00:05:57 -05:00
LinuxServer-CI
8fcc3fb181 Bot Updating Package Versions 2020-01-29 05:03:36 +00:00
LinuxServer-CI
1e38561692 Bot Updating Package Versions 2020-01-22 06:04:06 +01:00
LinuxServer-CI
db829a8a40 Bot Updating Package Versions 2019-12-19 08:42:50 +00:00
LinuxServer-CI
5d2bcceef4 Bot Updating Package Versions 2019-12-05 11:11:51 -05:00
LinuxServer-CI
ddb0bea2aa Bot Updating Package Versions 2019-12-04 17:10:35 +01:00
LinuxServer-CI
450d6b60ec Bot Updating Package Versions 2019-12-04 00:02:37 -05:00
LinuxServer-CI
2421611e80 Bot Updating Templated Files 2019-12-03 23:55:53 -05:00
LinuxServer-CI
804a0a417c Bot Updating Package Versions 2019-11-26 23:59:53 -05:00
LinuxServer-CI
12c6b8b45d Bot Updating Package Versions 2019-11-19 11:11:34 +01:00
j0nnymoe
8f57215fc9 adding unstable branch to advertised tags (#58)
adding unstable branch to advertised tags
2019-11-05 15:41:39 +00:00
thelamer
9f36ab0e69 adding unstable branch to advertised tags 2019-11-04 19:04:50 -08:00
LinuxServer-CI
3eb0345870 Bot Updating Package Versions 2019-11-02 08:16:00 +00:00
LinuxServer-CI
00249991fd Bot Updating Package Versions 2019-11-01 01:12:40 +00:00
LinuxServer-CI
9989d4583d Bot Updating Templated Files 2019-10-31 21:07:26 -04:00
38 changed files with 630 additions and 502 deletions

View File

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

View File

@@ -24,7 +24,7 @@
## Readme
If you would like to change our readme, please __**do not**__ directly edit the readme, as it is auto-generated on each commit.
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-qbittorrent/edit/unstable/readme-vars.yml).
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-qbittorrent/edit/master/readme-vars.yml).
These variables are used in a template for our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) as part of an ansible play.
Most of these variables are also carried over to [docs.linuxserver.io](https://docs.linuxserver.io/images/docker-qbittorrent)
@@ -115,7 +115,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Update the changelog
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-qbittorrent/tree/unstable/root), add an entry to the changelog
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-qbittorrent/tree/master/root), add an entry to the changelog
```yml
changelogs:

View File

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

77
.github/ISSUE_TEMPLATE/issue.bug.yml vendored Normal file
View File

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

View File

@@ -1,25 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
---
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
<!--- If you are new to Docker or this application our issue tracker is **ONLY** used for reporting bugs or requesting features. Please use [our discord server](https://discord.gg/YWrKVTn) for general support. --->
<!--- If this acts as a feature request please ask yourself if this modification is something the whole userbase will benefit from --->
<!--- If this is a specific change for corner case functionality or plugins please look at making a Docker Mod or local script https://blog.linuxserver.io/2019/09/14/customizing-our-containers/ -->
<!--- Provide a general summary of the request in the Title above -->
------------------------------
## Desired Behavior
<!--- Tell us what should happen -->
## Current Behavior
<!--- Tell us what happens instead of the expected behavior -->
## Alternatives Considered
<!--- Tell us what other options you have tried or considered -->

View File

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

View File

@@ -21,7 +21,7 @@
------------------------------
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-qbittorrent/blob/unstable/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-qbittorrent/blob/master/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
------------------------------

View File

@@ -0,0 +1,12 @@
name: Comment on invalid interaction
on:
issues:
types:
- labeled
jobs:
add-comment-on-invalid:
if: github.event.label.name == 'invalid'
permissions:
issues: write
uses: linuxserver/github-workflows/.github/workflows/invalid-interaction-helper.yml@v1
secrets: inherit

View File

@@ -4,35 +4,36 @@ on:
workflow_dispatch:
jobs:
external-trigger-unstable:
external-trigger-master:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- uses: actions/checkout@v3.1.0
- name: External Trigger
if: github.ref == 'refs/heads/unstable'
if: github.ref == 'refs/heads/master'
run: |
if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_QBITTORRENT_UNSTABLE }}" ]; then
echo "**** Github secret PAUSE_EXTERNAL_TRIGGER_QBITTORRENT_UNSTABLE is set; skipping trigger. ****"
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 unstable branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_QBITTORRENT_UNSTABLE\". ****"
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-unstable/ubuntu/dists/focal/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}')
EXT_RELEASE=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
&& awk '/^P:'"qbittorrent-nox"'$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://')
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"
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_CLEAN=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
EXT_RELEASE=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
echo "**** External version: ${EXT_RELEASE} ****"
echo "**** Retrieving last pushed version ****"
image="linuxserver/qbittorrent"
tag="unstable"
tag="latest"
token=$(curl -sX GET \
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fqbittorrent%3Apull" \
| jq -r '.token')
@@ -48,35 +49,33 @@ jobs:
| jq -r '.config.digest')
image_info=$(curl -sL \
--header "Authorization: Bearer ${token}" \
"https://ghcr.io/v2/${image}/blobs/${digest}" \
| jq -r '.container_config')
"https://ghcr.io/v2/${image}/blobs/${digest}")
if [[ $(echo $image_info | jq -r '.container_config') == "null" ]]; then
image_info=$(echo $image_info | jq -r '.config')
else
image_info=$(echo $image_info | jq -r '.container_config')
fi
IMAGE_RELEASE=$(echo ${image_info} | jq -r '.Labels.build_version' | awk '{print $3}')
IMAGE_VERSION=$(echo ${IMAGE_RELEASE} | awk -F'-ls' '{print $1}')
if [ -z "${IMAGE_VERSION}" ]; then
echo "**** Can't retrieve last pushed version, exiting ****"
FAILURE_REASON="Can't retrieve last pushed version for qbittorrent tag unstable"
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_CLEAN}" == "${IMAGE_VERSION}" ]; then
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
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_CLEAN} found; old version was ${IMAGE_VERSION}. Checking artifacts. . . ****"
EXT_RELEASE_STRIPPED=$(echo ${EXT_RELEASE} | sed 's|^1:||')
URL_AMD64="https://launchpad.net/~qbittorrent-team/+archive/ubuntu/qbittorrent-unstable/+files/qbittorrent-nox_${EXT_RELEASE_STRIPPED}_amd64.deb"
URL_ARMHF="https://launchpad.net/~qbittorrent-team/+archive/ubuntu/qbittorrent-unstable/+files/qbittorrent-nox_${EXT_RELEASE_STRIPPED}_armhf.deb"
URL_ARM64="https://launchpad.net/~qbittorrent-team/+archive/ubuntu/qbittorrent-unstable/+files/qbittorrent-nox_${EXT_RELEASE_STRIPPED}_arm64.deb"
if curl -fL "${URL_AMD64}" >/dev/null && curl -fL "${URL_ARMHF}" >/dev/null && curl -fL "${URL_ARM64}" >/dev/null; then
echo "**** All artifacts seem to be published, triggering build ****"
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 \
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 ****"
@@ -91,15 +90,8 @@ jobs:
--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}"
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 }}
else
echo "**** Not all artifacts are published yet, skipping trigger ****"
FAILURE_REASON="New version ${EXT_RELEASE} for qbittorrent tag unstable is detected, however not all artifacts are uploaded to launchpad yet. Will try again in 1 hr."
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
fi
fi

View File

@@ -9,7 +9,7 @@ jobs:
external-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- uses: actions/checkout@v3.1.0
with:
fetch-depth: '0'

View File

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

View File

@@ -4,25 +4,25 @@ on:
workflow_dispatch:
jobs:
package-trigger-unstable:
package-trigger-master:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- uses: actions/checkout@v3.1.0
- name: Package Trigger
if: github.ref == 'refs/heads/unstable'
if: github.ref == 'refs/heads/master'
run: |
if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_QBITTORRENT_UNSTABLE }}" ]; then
echo "**** Github secret PAUSE_PACKAGE_TRIGGER_QBITTORRENT_UNSTABLE is set; skipping trigger. ****"
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/unstable/lastBuild/api/json | jq -r '.building') == "true" ]; then
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 unstable branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_QBITTORRENT_UNSTABLE\". ****"
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/unstable/buildWithParameters?PACKAGE_CHECK=true \
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 ****"

View File

@@ -9,7 +9,7 @@ jobs:
package-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- uses: actions/checkout@v3.1.0
with:
fetch-depth: '0'

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

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

View File

@@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v3
- uses: actions/stale@v6.0.1
with:
stale-issue-message: "This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
stale-pr-message: "This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."

View File

@@ -1,15 +1,73 @@
FROM ghcr.io/linuxserver/qbittorrent:unstable
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine:edge
# set version label
ARG BUILD_DATE
ARG VERSION
ARG QBITTORRENT_VERSION
ARG QBT_VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="thelamer"
LABEL maintainer="thespad"
# environment settings
ARG UNRAR_VERSION=6.1.7
ENV HOME="/config" \
XDG_CONFIG_HOME="/config" \
XDG_DATA_HOME="/config"
# install runtime packages and qbitorrent-cli
RUN \
echo "**** install build packages ****" && \
apk add --no-cache --upgrade --virtual=build-dependencies \
build-base && \
echo "**** install packages ****" && \
apk add -U --update --no-cache \
icu-libs \
libstdc++ \
openssl \
openssl1.1-compat \
p7zip \
python3 \
qt6-qtbase-sqlite && \
echo "**** install unrar from source ****" && \
mkdir /tmp/unrar && \
curl -o \
/tmp/unrar.tar.gz -L \
"https://www.rarlab.com/rar/unrarsrc-${UNRAR_VERSION}.tar.gz" && \
tar xf \
/tmp/unrar.tar.gz -C \
/tmp/unrar --strip-components=1 && \
cd /tmp/unrar && \
make && \
install -v -m755 unrar /usr/bin && \
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
QBITTORRENT_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
&& awk '/^P:qbittorrent-nox$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \
fi && \
apk add -U --upgrade --no-cache \
qbittorrent-nox==${QBITTORRENT_VERSION} && \
echo "***** install qbitorrent-cli ****" && \
mkdir /qbt && \
QBT_VERSION=$(curl -sL "https://api.github.com/repos/fedarovich/qbittorrent-cli/releases" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
curl -o \
/tmp/qbt.tar.gz -L \
"https://github.com/fedarovich/qbittorrent-cli/releases/download/${QBT_VERSION}/qbt-linux-alpine-x64-${QBT_VERSION:1}.tar.gz" && \
tar xf \
/tmp/qbt.tar.gz -C \
/qbt && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/root/.cache \
/tmp/*
# add local files
COPY root/ /
# ports and volumes
EXPOSE 6881 6881/udp 8080
EXPOSE 8080 6881 6881/udp
VOLUME /config

View File

@@ -1,15 +1,73 @@
FROM ghcr.io/linuxserver/qbittorrent:arm64v8-unstable
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-edge
# set version label
ARG BUILD_DATE
ARG VERSION
ARG QBITTORRENT_VERSION
ARG QBT_VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="thelamer"
LABEL maintainer="thespad"
# environment settings
ARG UNRAR_VERSION=6.1.7
ENV HOME="/config" \
XDG_CONFIG_HOME="/config" \
XDG_DATA_HOME="/config"
# install runtime packages and qbitorrent-cli
RUN \
echo "**** install build packages ****" && \
apk add --no-cache --upgrade --virtual=build-dependencies \
build-base && \
echo "**** install packages ****" && \
apk add -U --update --no-cache \
icu-libs \
libstdc++ \
openssl \
openssl1.1-compat \
p7zip \
python3 \
qt6-qtbase-sqlite && \
echo "**** install unrar from source ****" && \
mkdir /tmp/unrar && \
curl -o \
/tmp/unrar.tar.gz -L \
"https://www.rarlab.com/rar/unrarsrc-${UNRAR_VERSION}.tar.gz" && \
tar xf \
/tmp/unrar.tar.gz -C \
/tmp/unrar --strip-components=1 && \
cd /tmp/unrar && \
make && \
install -v -m755 unrar /usr/bin && \
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
QBITTORRENT_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
&& awk '/^P:qbittorrent-nox$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \
fi && \
apk add -U --upgrade --no-cache \
qbittorrent-nox==${QBITTORRENT_VERSION} && \
echo "***** install qbitorrent-cli ****" && \
mkdir /qbt && \
QBT_VERSION=$(curl -sL "https://api.github.com/repos/fedarovich/qbittorrent-cli/releases" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
curl -o \
/tmp/qbt.tar.gz -L \
"https://github.com/fedarovich/qbittorrent-cli/releases/download/${QBT_VERSION}/qbt-linux-alpine-arm64-${QBT_VERSION:1}.tar.gz" && \
tar xf \
/tmp/qbt.tar.gz -C \
/qbt && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/root/.cache \
/tmp/*
# add local files
COPY root/ /
# ports and volumes
EXPOSE 6881 6881/udp 8080
EXPOSE 8080 6881 6881/udp
VOLUME /config

View File

@@ -1,15 +1,73 @@
FROM ghcr.io/linuxserver/qbittorrent:arm32v7-unstable
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-edge
# set version label
ARG BUILD_DATE
ARG VERSION
ARG QBITTORRENT_VERSION
ARG QBT_VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="thelamer"
LABEL maintainer="thespad"
# environment settings
ARG UNRAR_VERSION=6.1.7
ENV HOME="/config" \
XDG_CONFIG_HOME="/config" \
XDG_DATA_HOME="/config"
# install runtime packages and qbitorrent-cli
RUN \
echo "**** install build packages ****" && \
apk add --no-cache --upgrade --virtual=build-dependencies \
build-base && \
echo "**** install packages ****" && \
apk add -U --update --no-cache \
icu-libs \
libstdc++ \
openssl \
openssl1.1-compat \
p7zip \
python3 \
qt6-qtbase-sqlite && \
echo "**** install unrar from source ****" && \
mkdir /tmp/unrar && \
curl -o \
/tmp/unrar.tar.gz -L \
"https://www.rarlab.com/rar/unrarsrc-${UNRAR_VERSION}.tar.gz" && \
tar xf \
/tmp/unrar.tar.gz -C \
/tmp/unrar --strip-components=1 && \
cd /tmp/unrar && \
make && \
install -v -m755 unrar /usr/bin && \
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
QBITTORRENT_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
&& awk '/^P:qbittorrent-nox$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \
fi && \
apk add -U --upgrade --no-cache \
qbittorrent-nox==${QBITTORRENT_VERSION} && \
echo "***** install qbitorrent-cli ****" && \
mkdir /qbt && \
QBT_VERSION=$(curl -sL "https://api.github.com/repos/fedarovich/qbittorrent-cli/releases" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
curl -o \
/tmp/qbt.tar.gz -L \
"https://github.com/fedarovich/qbittorrent-cli/releases/download/${QBT_VERSION}/qbt-linux-alpine-arm-${QBT_VERSION:1}.tar.gz" && \
tar xf \
/tmp/qbt.tar.gz -C \
/qbt && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/root/.cache \
/tmp/*
# add local files
COPY root/ /
# ports and volumes
EXPOSE 6881 6881/udp 8080
EXPOSE 8080 6881 6881/udp
VOLUME /config

142
Jenkinsfile vendored
View File

@@ -24,7 +24,10 @@ pipeline {
DOCKERHUB_IMAGE = 'linuxserver/qbittorrent'
DEV_DOCKERHUB_IMAGE = 'lsiodev/qbittorrent'
PR_DOCKERHUB_IMAGE = 'lspipepr/qbittorrent'
DIST_IMAGE = 'ubuntu'
DIST_IMAGE = 'alpine'
DIST_TAG = 'edge'
DIST_REPO = 'http://dl-cdn.alpinelinux.org/alpine/edge/community/'
DIST_REPO_PACKAGES = 'qbittorrent-nox'
MULTIARCH='true'
CI='true'
CI_WEB='true'
@@ -42,7 +45,7 @@ pipeline {
script{
env.EXIT_STATUS = ''
env.LS_RELEASE = sh(
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' || : ''',
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' || : ''',
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' ''',
@@ -56,7 +59,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 .editorconfig ./.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/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/stale.yml ./.github/workflows/package_trigger.yml'
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.yml ./.github/ISSUE_TEMPLATE/issue.feature.yml ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/stale.yml ./.github/workflows/call_invalid_helper.yml ./.github/workflows/permissions.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml'
}
script{
env.LS_RELEASE_NUMBER = sh(
@@ -99,14 +102,15 @@ pipeline {
/* ########################
External Release Tagging
######################## */
// If this is a custom command to determine version use that command
stage("Set tag custom bash"){
// If this is an alpine repo change for external version determine an md5 from the version string
stage("Set tag Alpine Repo"){
steps{
script{
env.EXT_RELEASE = sh(
script: ''' curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/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 -sL "${DIST_REPO}x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
&& awk '/^P:'"${DIST_REPO_PACKAGES}"'$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://' ''',
returnStdout: true).trim()
env.RELEASE_LINK = 'custom_command'
env.RELEASE_LINK = 'alpine_repo'
}
}
}
@@ -144,10 +148,10 @@ pipeline {
}
}
}
// If this is a unstable build use live docker endpoints
// If this is a master build use live docker endpoints
stage("Set ENV live build"){
when {
branch "unstable"
branch "master"
environment name: 'CHANGE_ID', value: ''
}
steps {
@@ -157,20 +161,20 @@ pipeline {
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
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
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
} else {
env.CI_TAGS = 'unstable-' + 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 = 'unstable-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.EXT_RELEASE_TAG = 'unstable-version-' + env.EXT_RELEASE_CLEAN
env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
}
}
}
// If this is a dev build use dev docker endpoints
stage("Set ENV dev build"){
when {
not {branch "unstable"}
not {branch "master"}
environment name: 'CHANGE_ID', value: ''
}
steps {
@@ -180,13 +184,13 @@ pipeline {
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
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
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
} else {
env.CI_TAGS = 'unstable-' + 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 = 'unstable-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.EXT_RELEASE_TAG = 'unstable-version-' + env.EXT_RELEASE_CLEAN
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.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
}
}
@@ -203,13 +207,13 @@ pipeline {
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
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
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
} else {
env.CI_TAGS = 'unstable-' + 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 = 'unstable-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.EXT_RELEASE_TAG = 'unstable-version-' + env.EXT_RELEASE_CLEAN
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.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/'
}
@@ -247,7 +251,7 @@ pipeline {
// Use helper containers to render templated files
stage('Update-Templates') {
when {
branch "unstable"
branch "master"
environment name: 'CHANGE_ID', value: ''
expression {
env.CONTAINER_NAME != null
@@ -258,13 +262,13 @@ pipeline {
set -e
TEMPDIR=$(mktemp -d)
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
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -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 unstable
git checkout -f master
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
git add Jenkinsfile
git commit -m 'Bot Updating Templated Files'
@@ -277,7 +281,7 @@ pipeline {
echo "Jenkinsfile is up to date."
fi
# Stage 2 - Delete old templates
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md"
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md\n.github/ISSUE_TEMPLATE/issue.bug.md\n.github/ISSUE_TEMPLATE/issue.feature.md"
for i in ${OLD_TEMPLATES}; do
if [[ -f "${i}" ]]; then
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
@@ -287,7 +291,7 @@ 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 unstable
git checkout -f master
for i in ${TEMPLATES_TO_DELETE}; do
git rm "${i}"
done
@@ -308,7 +312,7 @@ 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 unstable
git checkout -f master
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
@@ -343,9 +347,11 @@ pipeline {
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
cd ${TEMPDIR}/unraid/templates/
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
echo "Image is on the ignore list, removing Unraid template"
git rm unraid/${CONTAINER_NAME}.xml || :
git commit -m 'Bot Removing Deprecated Unraid Template' || :
echo "Image is on the ignore list, marking Unraid template as deprecated"
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add -u unraid/${CONTAINER_NAME}.xml
git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || :
git commit -m 'Bot Moving Deprecated Unraid Template' || :
else
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add unraid/${CONTAINER_NAME}.xml
@@ -364,7 +370,7 @@ pipeline {
// Exit the build if the Templated files were just updated
stage('Template-exit') {
when {
branch "unstable"
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'FILES_UPDATED', value: 'true'
expression {
@@ -403,7 +409,7 @@ pipeline {
// Add package to Scarf.sh and set permissions
stage("Scarf.sh package registry"){
when {
branch "unstable"
branch "master"
environment name: 'EXIT_STATUS', value: ''
}
steps{
@@ -560,7 +566,7 @@ pipeline {
// Take the image we just built and dump package versions for comparison
stage('Update-packages') {
when {
branch "unstable"
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
@@ -597,7 +603,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 unstable
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f master
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
cd ${TEMPDIR}/${LS_REPO}/
wait
@@ -621,7 +627,7 @@ pipeline {
// Exit the build if the package file was just updated
stage('PACKAGE-exit') {
when {
branch "unstable"
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'true'
environment name: 'EXIT_STATUS', value: ''
@@ -642,7 +648,7 @@ pipeline {
// Exit the build if this is just a package check and there are no changes to push
stage('PACKAGECHECK-exit') {
when {
branch "unstable"
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'false'
environment name: 'EXIT_STATUS', value: ''
@@ -708,7 +714,7 @@ pipeline {
-e DO_REGION="ams3" \
-e DO_BUCKET="lsio-ci" \
-t ghcr.io/linuxserver/ci:latest \
python /ci/ci.py'''
python3 test_build.py'''
}
}
}
@@ -745,12 +751,12 @@ pipeline {
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:unstable
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${SEMVER}
fi
docker push ${PUSHIMAGE}:unstable
docker push ${PUSHIMAGE}:latest
docker push ${PUSHIMAGE}:${META_TAG}
docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
@@ -764,7 +770,7 @@ pipeline {
docker rmi \
${DELETEIMAGE}:${META_TAG} \
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
${DELETEIMAGE}:unstable || :
${DELETEIMAGE}:latest || :
if [ -n "${SEMVER}" ]; then
docker rmi ${DELETEIMAGE}:${SEMVER} || :
fi
@@ -803,19 +809,19 @@ pipeline {
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
if [ "${CI}" == "false" ]; then
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 pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
fi
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; 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-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-latest
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER}
@@ -823,23 +829,23 @@ pipeline {
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
fi
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
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}:amd64-latest
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-latest
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-latest
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER}
docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
fi
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}: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}:${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
@@ -854,7 +860,7 @@ pipeline {
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
fi
docker manifest push --purge ${MANIFESTIMAGE}:unstable
docker manifest push --purge ${MANIFESTIMAGE}:latest
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
@@ -867,13 +873,13 @@ pipeline {
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
docker rmi \
${DELETEIMAGE}:amd64-${META_TAG} \
${DELETEIMAGE}:amd64-unstable \
${DELETEIMAGE}:amd64-latest \
${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \
${DELETEIMAGE}:arm32v7-${META_TAG} \
${DELETEIMAGE}:arm32v7-unstable \
${DELETEIMAGE}:arm32v7-latest \
${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \
${DELETEIMAGE}:arm64v8-${META_TAG} \
${DELETEIMAGE}:arm64v8-unstable \
${DELETEIMAGE}:arm64v8-latest \
${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
if [ -n "${SEMVER}" ]; then
docker rmi \
@@ -892,7 +898,7 @@ pipeline {
// If this is a public release tag it in the LS Github
stage('Github-Tag-Push-Release') {
when {
branch "unstable"
branch "master"
expression {
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
}
@@ -904,17 +910,17 @@ pipeline {
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
-d '{"tag":"'${META_TAG}'",\
"object": "'${COMMIT_SHA}'",\
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to unstable",\
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
"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 "Updating external repo packages to ${EXT_RELEASE_CLEAN}" > releasebody.json
echo '{"tag_name":"'${META_TAG}'",\
"target_commitish": "unstable",\
"target_commitish": "master",\
"name": "'${META_TAG}'",\
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**Remote Changes:**\\n\\n' > start
printf '","draft": false,"prerelease": true}' >> releasebody.json
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**Repo Changes:**\\n\\n' > start
printf '","draft": false,"prerelease": false}' >> 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'''
}
@@ -975,12 +981,12 @@ pipeline {
sh 'echo "build aborted"'
}
else if (currentBuild.currentResult == "SUCCESS"){
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 1681177,\
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jenkins-avatar.png","embeds": [{"color": 1681177,\
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** Success\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
}
else {
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 16711680,\
sh ''' curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/jenkins-avatar.png","embeds": [{"color": 16711680,\
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** failure\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
}

View File

@@ -1,5 +1,5 @@
<!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read the https://github.com/linuxserver/docker-qbittorrent/blob/unstable/.github/CONTRIBUTING.md -->
<!-- Please read the https://github.com/linuxserver/docker-qbittorrent/blob/master/.github/CONTRIBUTING.md -->
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io)
@@ -37,7 +37,7 @@ Find us at:
[![Quay.io](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Quay.io)](https://quay.io/repository/linuxserver.io/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)
[![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/)
[![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%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,33 +46,32 @@ The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-
## Supported Architectures
Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://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 `lscr.io/linuxserver/qbittorrent` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
Simply pulling `lscr.io/linuxserver/qbittorrent:latest` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
The architectures supported by this image are:
| Architecture | Tag |
| :----: | --- |
| x86-64 | amd64-latest |
| arm64 | arm64v8-latest |
| armhf | arm32v7-latest |
| Architecture | Available | Tag |
| :----: | :----: | ---- |
| x86-64 | ✅ | amd64-\<version tag\> |
| arm64 | ✅ | arm64v8-\<version tag\> |
| armhf | ✅ | arm32v7-\<version tag\> |
## Version Tags
This image provides various versions that are available via tags. `latest` tag usually provides the latest stable version. Others are considered under development and caution must be exercised when using them.
| Tag | Description |
| :----: | --- |
| latest | Stable qbittorrent releases |
This image provides various versions that are available via tags. Please read the descriptions carefully and exercise caution when using unstable or development tags.
| Tag | Available | Description |
| :----: | :----: |--- |
| latest | ✅ | Stable qbittorrent releases |
| libtorrentv1 | ✅ | Static qbittorrent builds using libtorrent v1 |
## Application Setup
The webui is at `<your-ip>:8080` and the default username/password is `admin/adminadmin`.
Change username/password via the webui in the webui section of settings.
### WEBUI_PORT variable
Due to issues with CSRF and port mapping, should you require to alter the port for the webui you need to change both sides of the -p 8080 switch AND set the WEBUI_PORT variable to the new port.
@@ -85,7 +84,7 @@ If you have no webui , check the file /config/qBittorrent/qBittorrent.conf
edit or add the following lines
```
```text
WebUI\Address=*
WebUI\ServerDomains=*
@@ -104,20 +103,20 @@ Here are some example snippets to help you get started creating a container.
version: "2.1"
services:
qbittorrent:
image: lscr.io/linuxserver/qbittorrent
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- TZ=Etc/UTC
- WEBUI_PORT=8080
volumes:
- </path/to/appdata/config>:/config
- </path/to/downloads>:/downloads
- /path/to/appdata/config:/config
- /path/to/downloads:/downloads
ports:
- 8080:8080
- 6881:6881
- 6881:6881/udp
- 8080:8080
restart: unless-stopped
```
@@ -128,15 +127,16 @@ docker run -d \
--name=qbittorrent \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-e TZ=Etc/UTC \
-e WEBUI_PORT=8080 \
-p 8080:8080 \
-p 6881:6881 \
-p 6881:6881/udp \
-p 8080:8080 \
-v </path/to/appdata/config>:/config \
-v </path/to/downloads>:/downloads \
-v /path/to/appdata/config:/config \
-v /path/to/downloads:/downloads \
--restart unless-stopped \
lscr.io/linuxserver/qbittorrent
lscr.io/linuxserver/qbittorrent:latest
```
## Parameters
@@ -145,12 +145,12 @@ Container images are configured using parameters passed at runtime (such as thos
| Parameter | Function |
| :----: | --- |
| `-p 8080` | WebUI |
| `-p 6881` | tcp connection port |
| `-p 6881/udp` | udp connection port |
| `-p 8080` | http gui |
| `-e PUID=1000` | for UserID - see below for explanation |
| `-e PGID=1000` | for GroupID - see below for explanation |
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London |
| `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). |
| `-e WEBUI_PORT=8080` | for changing the port of the webui, see below for explanation |
| `-v /config` | Contains all relevant configuration files. |
| `-v /downloads` | Location of downloads on disk. |
@@ -198,7 +198,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" }}' lscr.io/linuxserver/qbittorrent`
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/qbittorrent:latest`
## Updating Info
@@ -216,7 +216,7 @@ Below are the instructions for updating containers:
### Via Docker Run
* Update the image: `docker pull lscr.io/linuxserver/qbittorrent`
* Update the image: `docker pull lscr.io/linuxserver/qbittorrent:latest`
* 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)
@@ -264,11 +264,23 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
* **23.02.23:** - Add qt6-qtbase-sqlite to support SQLite database for resume files.
* **29.11.22:** - Add openssl1.1-compat for qbittorrent-cli.
* **31.10.22:** - Add libtorrentv1 branch.
* **31.08.22:** - Rebase to Alpine Edge again to follow latest releases.
* **12.08.22:** - Bump unrar to 6.1.7.
* **16.06.22:** - Rebase to Alpine 3.16 from edge.
* **25.05.22:** - Fetch qbitorrent-cli from upstream repo.
* **02.03.22:** - Add unrar, 7zip, and qbitorrent-cli.
* **01.03.22:** - Add python for search plugin support.
* **23.02.22:** - Rebase to Alpine Edge, install from Alpine repos.
* **19.02.22:** - Add jq to build-stage
* **07.01.22:** - Rebase to Alpine, build from source.
* **06.01.22:** - Deprecate unstable branch.
* **24.03.21:** - Rebase to focal.
* **10.02.21:** - Rebase to focal.
* **20.01.21:** - Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information.
* **05.07.20:** - Shift to Python3
* **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.
* **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

@@ -2,12 +2,10 @@
# jenkins variables
project_name: docker-qbittorrent
external_type: na
custom_version_command: "curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/focal/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
custom_external_trigger: true
external_type: alpine_repo
release_type: stable
release_tag: latest
ls_branch: master
repo_vars:
- CONTAINER_NAME = 'qbittorrent'
- BUILD_VERSION_ARG = 'QBITTORRENT_VERSION'
@@ -16,7 +14,10 @@ repo_vars:
- DOCKERHUB_IMAGE = 'linuxserver/qbittorrent'
- DEV_DOCKERHUB_IMAGE = 'lsiodev/qbittorrent'
- PR_DOCKERHUB_IMAGE = 'lspipepr/qbittorrent'
- DIST_IMAGE = 'ubuntu'
- DIST_IMAGE = 'alpine'
- DIST_TAG = 'edge'
- DIST_REPO = 'http://dl-cdn.alpinelinux.org/alpine/edge/community/'
- DIST_REPO_PACKAGES = 'qbittorrent-nox'
- MULTIARCH='true'
- CI='true'
- CI_WEB='true'

View File

@@ -1,193 +1,66 @@
adduser3.118ubuntu2
apt2.0.6
apt-utils2.0.6
base-files11ubuntu5.4
base-passwd3.5.47
bash5.0-6ubuntu1.1
bsdutils1:2.34-0.1ubuntu9.1
bzip21.0.8-2
ca-certificates20210119~20.04.2
coreutils8.30-3ubuntu2
curl7.68.0-1ubuntu2.7
dash0.5.10.2-6
dbus1.12.16-2ubuntu2.1
debconf1.5.73
debianutils4.9.1
diffutils1:3.7-3
dirmngr2.2.19-3ubuntu2.1
dpkg1.19.7ubuntu3
e2fsprogs1.45.5-2ubuntu1
fdisk2.34-0.1ubuntu9.1
file1:5.38-4
findutils4.7.0-1ubuntu1
gcc-10-base10.3.0-1ubuntu1~20.04
geoip-bin1.6.12-6build1
geoip-database20191224-2
gnupg2.2.19-3ubuntu2.1
gnupg-l10n2.2.19-3ubuntu2.1
gnupg-utils2.2.19-3ubuntu2.1
gpg2.2.19-3ubuntu2.1
gpg-agent2.2.19-3ubuntu2.1
gpgconf2.2.19-3ubuntu2.1
gpgsm2.2.19-3ubuntu2.1
gpgv2.2.19-3ubuntu2.1
gpg-wks-client2.2.19-3ubuntu2.1
gpg-wks-server2.2.19-3ubuntu2.1
grep3.4-1
gzip1.10-0ubuntu4
hostname3.23
init-system-helpers1.57
krb5-locales1.17-6ubuntu4.1
libacl12.2.53-6
libapparmor12.13.3-7ubuntu5.1
libapt-pkg6.02.0.6
libasn1-8-heimdal7.7.0+dfsg-1ubuntu1
libassuan02.5.3-7ubuntu2
libattr11:2.4.48-5
libaudit11:2.8.5-2ubuntu6
libaudit-common1:2.8.5-2ubuntu6
libblkid12.34-0.1ubuntu9.1
libbrotli11.0.7-6ubuntu0.1
libbz2-1.01.0.8-2
libc62.31-0ubuntu9.2
libcap-ng00.7.9-2.1build1
libc-bin2.31-0ubuntu9.2
libcom-err21.45.5-2ubuntu1
libcrypt11:4.4.10-10ubuntu4
libcurl47.68.0-1ubuntu2.7
libdb5.35.3.28+dfsg1-0.6ubuntu2
libdbus-1-31.12.16-2ubuntu2.1
libdebconfclient00.251ubuntu1
libdouble-conversion33.1.5-4ubuntu1
libexpat12.2.9-1build1
libext2fs21.45.5-2ubuntu1
libfdisk12.34-0.1ubuntu9.1
libffi73.3-4
libgcc-s110.3.0-1ubuntu1~20.04
libgcrypt201.8.5-5ubuntu1.1
libgdbm61.18.1-5
libgdbm-compat41.18.1-5
libgeoip11.6.12-6build1
libglib2.0-02.64.6-1~ubuntu20.04.4
libglib2.0-data2.64.6-1~ubuntu20.04.4
libgmp102:6.2.0+dfsg-4
libgnutls303.6.13-2ubuntu1.6
libgpg-error01.37-1
libgssapi3-heimdal7.7.0+dfsg-1ubuntu1
libgssapi-krb5-21.17-6ubuntu4.1
libhcrypto4-heimdal7.7.0+dfsg-1ubuntu1
libheimbase1-heimdal7.7.0+dfsg-1ubuntu1
libheimntlm0-heimdal7.7.0+dfsg-1ubuntu1
libhogweed53.5.1+really3.5.1-2ubuntu0.2
libhx509-5-heimdal7.7.0+dfsg-1ubuntu1
libicu6666.1-2ubuntu2
libidn2-02.2.0-2
libk5crypto31.17-6ubuntu4.1
libkeyutils11.6-6ubuntu1
libkrb5-26-heimdal7.7.0+dfsg-1ubuntu1
libkrb5-31.17-6ubuntu4.1
libkrb5support01.17-6ubuntu4.1
libksba81.3.5-2
libldap-2.4-22.4.49+dfsg-2ubuntu1.8
libldap-common2.4.49+dfsg-2ubuntu1.8
liblz4-11.9.2-2ubuntu0.20.04.1
liblzma55.2.4-1ubuntu1
libmagic11:5.38-4
libmagic-mgc1:5.38-4
libmount12.34-0.1ubuntu9.1
libmpdec22.4.2-3
libncurses66.2-0ubuntu2
libncursesw66.2-0ubuntu2
libnetaddr-ip-perl4.079+dfsg-1build4
libnettle73.5.1+really3.5.1-2ubuntu0.2
libnghttp2-141.40.0-1build1
libnpth01.6-1
libp11-kit00.23.20-1ubuntu0.1
libpam0g1.3.1-5ubuntu4.2
libpam-modules1.3.1-5ubuntu4.2
libpam-modules-bin1.3.1-5ubuntu4.2
libpam-runtime1.3.1-5ubuntu4.2
libpcre2-16-010.34-7
libpcre2-8-010.34-7
libpcre32:8.39-12build1
libperl5.305.30.0-9ubuntu0.2
libprocps82:3.3.16-1ubuntu2.3
libpsl50.21.0-1ubuntu1
libpython3.8-minimal3.8.10-0ubuntu1~20.04.1
libpython3.8-stdlib3.8.10-0ubuntu1~20.04.1
libpython3-stdlib3.8.2-0ubuntu2
libqt5core5a5.12.8+dfsg-0ubuntu1
libqt5dbus55.12.8+dfsg-0ubuntu1
libqt5network55.12.8+dfsg-0ubuntu1
libqt5sql55.12.8+dfsg-0ubuntu1
libqt5sql5-sqlite5.12.8+dfsg-0ubuntu1
libqt5xml55.12.8+dfsg-0ubuntu1
libreadline88.0-4
libroken18-heimdal7.7.0+dfsg-1ubuntu1
librtmp12.4+20151223.gitfa8646d.1-2build1
libsasl2-22.1.27+dfsg-2
libsasl2-modules2.1.27+dfsg-2
libsasl2-modules-db2.1.27+dfsg-2
libseccomp22.5.1-1ubuntu1~20.04.1
libselinux13.0-1build2
libsemanage13.0-1build2
libsemanage-common3.0-1build2
libsepol13.0-1
libsmartcols12.34-0.1ubuntu9.1
libsocket6-perl0.29-1build1
libsqlite3-03.31.1-4ubuntu0.2
libss21.45.5-2ubuntu1
libssh-40.9.3-2ubuntu2.2
libssl1.11.1.1f-1ubuntu2.8
libstdc++610.3.0-1ubuntu1~20.04
libsystemd0245.4-4ubuntu3.13
libtasn1-64.16.0-2
libtinfo66.2-0ubuntu2
libtorrent-rasterbar101.2.14+git20210623.c996ed7ef7-1ppa1~20.04
libudev1245.4-4ubuntu3.13
libunistring20.9.10-2
libuuid12.34-0.1ubuntu9.1
libwind0-heimdal7.7.0+dfsg-1ubuntu1
libxml22.9.10+dfsg-5ubuntu0.20.04.1
libzstd11.4.4+dfsg-3ubuntu0.1
locales2.31-0ubuntu9.2
login1:4.8.1-1ubuntu5.20.04.1
logsave1.45.5-2ubuntu1
lsb-base11.1.0ubuntu2
mawk1.3.4.20200120-2
mime-support3.64ubuntu1
mount2.34-0.1ubuntu9.1
ncurses-base6.2-0ubuntu2
ncurses-bin6.2-0ubuntu2
netbase6.1
openssl1.1.1f-1ubuntu2.8
p7zip16.02+dfsg-7build1
p7zip-full16.02+dfsg-7build1
passwd1:4.8.1-1ubuntu5.20.04.1
perl5.30.0-9ubuntu0.2
perl-base5.30.0-9ubuntu0.2
perl-modules-5.305.30.0-9ubuntu0.2
pinentry-curses1.1.0-3build1
procps2:3.3.16-1ubuntu2.3
publicsuffix20200303.0012-1
python33.8.2-0ubuntu2
python3.83.8.10-0ubuntu1~20.04.1
python3.8-minimal3.8.10-0ubuntu1~20.04.1
python3-minimal3.8.2-0ubuntu2
qbittorrent-cli1.7.21116-1
qbittorrent-nox4.4.0~202106140855-7320-2bd5aca3a~ubuntu20.04.1
qttranslations5-l10n5.12.8-0ubuntu1
readline-common8.0-4
sed4.7-1
sensible-utils0.0.12+nmu1
shared-mime-info1.15-1
sysvinit-utils2.96-2.1ubuntu1
tar1.30+dfsg-7ubuntu0.20.04.1
tzdata2021a-2ubuntu0.20.04
ubuntu-keyring2020.02.11.4
unrar1:5.6.6-2build1
unzip6.0-25ubuntu1
util-linux2.34-0.1ubuntu9.1
xdg-user-dirs0.17-2ubuntu1
xz-utils5.2.4-1ubuntu1
zlib1g1:1.2.11.dfsg-2ubuntu1.2
alpine-baselayout-3.4.0-r0
alpine-baselayout-data-3.4.0-r0
alpine-keys-2.4-r1
apk-tools-2.12.11-r0
bash-5.2.15-r0
brotli-libs-1.0.9-r10
busybox-1.36.0-r4
busybox-binsh-1.36.0-r4
ca-certificates-20230106-r0
ca-certificates-bundle-20230106-r0
coreutils-9.1-r0
curl-7.88.1-r0
dbus-libs-1.14.6-r1
double-conversion-3.2.1-r0
gdbm-1.23-r0
glib-2.74.6-r0
icu-data-en-72.1-r2
icu-libs-72.1-r2
jq-1.6-r2
libacl-2.3.1-r1
libattr-2.5.1-r3
libb2-0.98.1-r2
libblkid-2.38.1-r5
libbz2-1.0.8-r4
libc-utils-0.7.2-r4
libcrypto1.1-1.1.1t-r0
libcrypto3-3.0.8-r0
libcurl-7.88.1-r0
libexpat-2.5.0-r0
libffi-3.4.4-r0
libgcc-12.2.1_git20220924-r9
libgomp-12.2.1_git20220924-r9
libintl-0.21.1-r1
libmount-2.38.1-r5
libncursesw-6.4_p20230218-r3
libpanelw-6.4_p20230218-r3
libpcre2-16-10.42-r0
libssl1.1-1.1.1t-r0
libssl3-3.0.8-r0
libstdc++-12.2.1_git20220924-r9
libtorrent-rasterbar-2.0.8-r2
linux-pam-1.5.2-r3
mpdecimal-2.5.1-r1
musl-1.2.3-r4
musl-utils-1.2.3-r4
ncurses-terminfo-base-6.4_p20230218-r3
nghttp2-libs-1.52.0-r0
oniguruma-6.9.8-r0
openssl-3.0.8-r0
openssl1.1-compat-1.1.1t-r0
p7zip-17.05-r1
pcre2-10.42-r0
python3-3.11.2-r0
qbittorrent-nox-4.5.1-r1
qt6-qtbase-6.4.2-r0
qt6-qtbase-sqlite-6.4.2-r0
readline-8.2.001-r0
scanelf-1.3.7-r0
shadow-4.13-r1
skalibs-2.13.1.0-r0
sqlite-libs-3.41.0-r0
ssl_client-1.36.0-r4
tzdata-2022g-r0
utmps-libs-0.1.2.1-r0
xz-libs-5.4.1-r0
zlib-1.2.13-r0

View File

@@ -17,19 +17,20 @@ available_architectures:
development_versions: true
development_versions_items:
- { tag: "latest", desc: "Stable qbittorrent releases" }
- { tag: "libtorrentv1", desc: "Static qbittorrent builds using libtorrent v1" }
# container parameters
common_param_env_vars_enabled: true
param_container_name: "{{ project_name }}"
param_usage_include_vols: true
param_volumes:
- { 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: "/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." }
param_usage_include_ports: true
param_ports:
- { external_port: "8080", internal_port: "8080", port_desc: "WebUI" }
- { external_port: "6881", internal_port: "6881", port_desc: "tcp connection port" }
- { external_port: "6881", internal_port: "6881/udp", port_desc: "udp connection port" }
- { external_port: "8080", internal_port: "8080", port_desc: "http gui" }
param_usage_include_env: true
param_env_vars:
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"}
@@ -46,7 +47,6 @@ app_setup_block: |
Change username/password via the webui in the webui section of settings.
### WEBUI_PORT variable
Due to issues with CSRF and port mapping, should you require to alter the port for the webui you need to change both sides of the -p 8080 switch AND set the WEBUI_PORT variable to the new port.
@@ -59,7 +59,7 @@ app_setup_block: |
edit or add the following lines
```
```text
WebUI\Address=*
WebUI\ServerDomains=*
@@ -69,11 +69,23 @@ app_setup_block: |
# changelog
changelogs:
- { date: "23.02.23:", desc: "Add qt6-qtbase-sqlite to support SQLite database for resume files."}
- { date: "29.11.22:", desc: "Add openssl1.1-compat for qbittorrent-cli." }
- { date: "31.10.22:", desc: "Add libtorrentv1 branch." }
- { date: "31.08.22:", desc: "Rebase to Alpine Edge again to follow latest releases." }
- { date: "12.08.22:", desc: "Bump unrar to 6.1.7." }
- { date: "16.06.22:", desc: "Rebase to Alpine 3.16 from edge." }
- { date: "25.05.22:", desc: "Fetch qbitorrent-cli from upstream repo." }
- { date: "02.03.22:", desc: "Add unrar, 7zip, and qbitorrent-cli." }
- { date: "01.03.22:", desc: "Add python for search plugin support." }
- { date: "23.02.22:", desc: "Rebase to Alpine Edge, install from Alpine repos." }
- { date: "19.02.22:", desc: "Add jq to build-stage" }
- { date: "07.01.22:", desc: "Rebase to Alpine, build from source." }
- { date: "06.01.22:", desc: "Deprecate unstable branch." }
- { date: "24.03.21:", desc: "Rebase to focal." }
- { date: "10.02.21:", desc: "Rebase to focal." }
- { date: "20.01.21:", desc: "Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information." }
- { date: "05.07.20:", desc: "Shift to Python3" }
- { 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: "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

@@ -1,21 +0,0 @@
#!/usr/bin/with-contenv bash
# make our folders
mkdir -p \
/config/qBittorrent \
/config/data
# copy config
[[ ! -e /config/qBittorrent/qBittorrent.conf ]] && \
cp /defaults/qBittorrent.conf /config/qBittorrent/qBittorrent.conf
# chown download directory if currently set to root
if [[ -d /downloads ]]; then
if [[ "$(stat -c '%U' /downloads)" != "abc" ]]; then
chown -R abc:abc /downloads
fi
fi
# permissions
chown -R abc:abc \
/config

View File

@@ -1,21 +0,0 @@
#! /usr/bin/with-contenv bash
echo '
******************************************************
******************************************************
* *
* *
* This image is deprecated. *
* We will not offer support for this image *
* and it will not be updated. *
* *
* *
******************************************************
******************************************************
We recommend our stable qbittorrent branch instead:
https://github.com/linuxserver/docker-qbittorrent
******************************************************
******************************************************'

View File

@@ -0,0 +1,21 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
# make our folder
mkdir -p /config/qBittorrent
# copy default config
if [[ ! -f /config/qBittorrent/qBittorrent.conf ]]; then
cp /defaults/qBittorrent.conf /config/qBittorrent/qBittorrent.conf
fi
# chown download directory if currently not set to abc
if [[ -d /downloads ]]; then
if [[ "$(stat -c '%U' /downloads)" != "abc" ]]; then
lsiown -R abc:abc /downloads
fi
fi
# permissions
lsiown -R abc:abc \
/config

View File

@@ -0,0 +1 @@
oneshot

View File

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

View File

@@ -0,0 +1 @@
3

View File

@@ -0,0 +1,8 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
WEBUI_PORT=${WEBUI_PORT:-8080}
exec \
s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost ${WEBUI_PORT}" \
s6-setuidgid abc /usr/bin/qbittorrent-nox --webui-port="${WEBUI_PORT}"

View File

@@ -0,0 +1 @@
longrun

View File

@@ -1,11 +0,0 @@
#!/usr/bin/with-contenv bash
WEBUI_PORT=${WEBUI_PORT:-8080}
if [ -n "${UMASK_SET}" ] && [ -z "${UMASK}" ]; then
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 \
s6-setuidgid abc /usr/bin/qbittorrent-nox --webui-port="${WEBUI_PORT}"

14
root/usr/bin/qbt Executable file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/with-contenv bash
# qbt bash wrapper to prompt user when trying to save password
if [[ "$@" == "settings set password" ]]; then
echo "Setting password is not supported"
echo "Please use --ask-for-password or --password"
elif [[ "$@" == "settings set"* ]]; then
/qbt/qbt "$@"
elif [[ "$@" != *"--ask-for-password"* ]] && [[ "$@" != *"--password"* ]];then
echo "Please use --ask-for-password or --password and ensure username/url are set"
/qbt/qbt "$@"
else
/qbt/qbt "$@"
fi