Compare commits

..

224 Commits

Author SHA1 Message Date
LinuxServer-CI
0ea5f069a1 Bot Updating Package Versions 2026-02-20 19:08:26 +00:00
LinuxServer-CI
0bbf23fef2 Bot Updating Templated Files 2026-02-13 19:12:34 +00:00
LinuxServer-CI
745334ec1d Bot Updating Templated Files 2026-02-13 19:10:27 +00:00
LinuxServer-CI
5ce6c7af4a Bot Updating Package Versions 2026-02-06 19:10:18 +00:00
LinuxServer-CI
4070c6c1c1 Bot Updating Package Versions 2026-01-30 19:04:04 +00:00
LinuxServer-CI
6f90ce6e0d Bot Updating Package Versions 2026-01-23 18:55:21 +00:00
LinuxServer-CI
2b346cb9fa Bot Updating Package Versions 2026-01-02 18:49:15 +00:00
LinuxServer-CI
a40f07406b Bot Updating Package Versions 2025-12-26 18:47:23 +00:00
LinuxServer-CI
1c1f459dc4 Bot Updating Package Versions 2025-12-19 18:48:19 +00:00
LinuxServer-CI
302ee1006f Bot Updating Package Versions 2025-12-12 18:49:33 +00:00
LinuxServer-CI
fcc5f92e92 Bot Updating Package Versions 2025-11-28 18:44:27 +00:00
LinuxServer-CI
9fea03932a Bot Updating Package Versions 2025-11-21 18:46:07 +00:00
LinuxServer-CI
74ec59b86d Bot Updating Templated Files 2025-11-21 18:41:24 +00:00
LinuxServer-CI
724ba9ef76 Bot Updating Package Versions 2025-11-14 18:46:12 +00:00
LinuxServer-CI
f50233ce8b Bot Updating Package Versions 2025-10-24 18:44:06 +00:00
LinuxServer-CI
c73a11aba7 Bot Updating Templated Files 2025-10-24 18:41:03 +00:00
LinuxServer-CI
703c162c61 Bot Updating Package Versions 2025-10-17 18:40:31 +00:00
LinuxServer-CI
255dadc4a2 Bot Updating Package Versions 2025-10-10 18:42:53 +00:00
LinuxServer-CI
b630586890 Bot Updating Package Versions 2025-10-03 18:41:31 +00:00
LinuxServer-CI
5b41448ab4 Bot Updating Package Versions 2025-09-26 18:40:43 +00:00
LinuxServer-CI
7de3a01c49 Bot Updating Package Versions 2025-09-19 18:41:36 +00:00
LinuxServer-CI
e862bbe087 Bot Updating Package Versions 2025-08-22 18:44:39 +00:00
LinuxServer-CI
631ca67ed7 Bot Updating Package Versions 2025-08-15 18:48:03 +00:00
LinuxServer-CI
feddce3a10 Bot Updating Package Versions 2025-08-08 18:48:17 +00:00
LinuxServer-CI
c9cae0a107 Bot Updating Package Versions 2025-08-01 18:50:09 +00:00
LinuxServer-CI
d81ca906b4 Bot Updating Package Versions 2025-07-29 14:26:44 +00:00
LinuxServer-CI
003291efcd Bot Updating Templated Files 2025-07-29 14:22:58 +00:00
Adam
84eab95209 Merge pull request #160 from linuxserver/master-3.22 2025-07-29 15:20:42 +01:00
thespad
4884cbbffe Fix opcache dir 2025-07-27 13:51:33 +01:00
LinuxServer-CI
cf1be7a51b Bot Updating Package Versions 2025-07-25 18:49:16 +00:00
thespad
367b8290ae Rebase to 3.22 2025-07-20 15:55:48 +01:00
LinuxServer-CI
28be1a9d0d Bot Updating Package Versions 2025-07-18 18:48:21 +00:00
LinuxServer-CI
baf9346f97 Bot Updating Package Versions 2025-07-17 14:55:54 +00:00
LinuxServer-CI
96e0f64b82 Bot Updating Package Versions 2025-07-11 18:47:00 +00:00
LinuxServer-CI
9fee85e68f Bot Updating Templated Files 2025-07-04 18:46:06 +00:00
LinuxServer-CI
b861d95624 Bot Updating Templated Files 2025-07-04 18:44:07 +00:00
LinuxServer-CI
1a07453ce2 Bot Updating Templated Files 2025-06-13 18:44:46 +00:00
LinuxServer-CI
05979763c7 Bot Updating Package Versions 2025-05-23 18:48:30 +00:00
LinuxServer-CI
87dc95bd6d Bot Updating Package Versions 2025-05-16 18:47:07 +00:00
LinuxServer-CI
2a7210c37e Bot Updating Templated Files 2025-05-16 18:42:10 +00:00
LinuxServer-CI
35f6b1f6d8 Bot Updating Package Versions 2025-04-18 18:39:23 +00:00
LinuxServer-CI
2c4d1b9b62 Bot Updating Package Versions 2025-04-11 18:41:50 +00:00
LinuxServer-CI
42fbe8217a Bot Updating Package Versions 2025-04-04 18:40:31 +00:00
LinuxServer-CI
7dee5e1a01 Bot Updating Package Versions 2025-03-21 18:42:02 +00:00
LinuxServer-CI
a230d311d1 Bot Updating Package Versions 2025-03-14 18:40:08 +00:00
LinuxServer-CI
ab125ba9c9 Bot Updating Package Versions 2025-02-28 18:40:12 +00:00
LinuxServer-CI
ab686871e0 Bot Updating Package Versions 2025-02-21 18:37:51 +00:00
LinuxServer-CI
ad873f5eb7 Bot Updating Package Versions 2025-02-14 18:41:09 +00:00
LinuxServer-CI
017a6a04c8 Bot Updating Templated Files 2025-02-14 18:36:03 +00:00
LinuxServer-CI
8fde173b55 Bot Updating Templated Files 2025-01-31 18:37:58 +00:00
LinuxServer-CI
7e221490a1 Bot Updating Templated Files 2025-01-31 18:36:28 +00:00
LinuxServer-CI
0b86fded9b Bot Updating Package Versions 2025-01-24 18:37:18 +00:00
quietsy
34e623e206 Merge pull request #158 from linuxserver/add-project-categories
Add categories to readme-vars.yml
2025-01-22 19:53:46 +02:00
quietsy
fe1da81d91 Add categories to readme-vars.yml 2025-01-22 14:53:01 +02:00
LinuxServer-CI
04b2db2a1e Bot Updating Package Versions 2025-01-17 18:36:41 +00:00
LinuxServer-CI
6f7a724083 Bot Updating Package Versions 2025-01-10 18:38:17 +00:00
LinuxServer-CI
bd423ad357 Bot Updating Package Versions 2024-12-27 18:37:08 +00:00
LinuxServer-CI
c87c3ad09f Bot Updating Package Versions 2024-12-20 18:42:28 +00:00
LinuxServer-CI
d54a4cf599 Bot Updating Templated Files 2024-12-20 18:39:05 +00:00
LinuxServer-CI
25fcd4876a Bot Updating Templated Files 2024-12-20 18:37:32 +00:00
LinuxServer-CI
83122a9d03 Bot Updating Package Versions 2024-12-13 18:42:33 +00:00
LinuxServer-CI
274349166b Bot Updating Templated Files 2024-12-06 18:44:22 +00:00
LinuxServer-CI
54548adcc7 Bot Updating Templated Files 2024-12-06 18:42:21 +00:00
LinuxServer-CI
e1470dc8ab Bot Updating Templated Files 2024-12-06 18:40:28 +00:00
LinuxServer-CI
413458f588 Bot Updating Package Versions 2024-11-29 18:41:01 +00:00
LinuxServer-CI
6b689fed34 Bot Updating Package Versions 2024-11-22 18:38:58 +00:00
LinuxServer-CI
5240552ed4 Bot Updating Templated Files 2024-11-15 18:39:32 +00:00
LinuxServer-CI
3f9edfc3cc Bot Updating Templated Files 2024-11-15 18:37:59 +00:00
LinuxServer-CI
a460662903 Bot Updating Package Versions 2024-11-01 18:36:43 +00:00
LinuxServer-CI
2b6f0b7927 Bot Updating Package Versions 2024-10-25 18:37:24 +00:00
LinuxServer-CI
9fb77214d3 Bot Updating Templated Files 2024-10-04 18:37:22 +00:00
LinuxServer-CI
fc112da970 Bot Updating Package Versions 2024-09-27 18:42:02 +00:00
LinuxServer-CI
b8432990ae Bot Updating Templated Files 2024-09-27 18:39:58 +00:00
LinuxServer-CI
698b56ae07 Bot Updating Templated Files 2024-09-27 18:38:40 +00:00
LinuxServer-CI
7c8281caba Bot Updating Templated Files 2024-09-27 18:37:12 +00:00
LinuxServer-CI
2374a19761 Bot Updating Package Versions 2024-09-20 18:36:33 +00:00
LinuxServer-CI
694a33a9c1 Bot Updating Package Versions 2024-09-13 18:38:02 +00:00
LinuxServer-CI
59959cbae7 Bot Updating Package Versions 2024-09-06 18:35:43 +00:00
LinuxServer-CI
def983ab25 Bot Updating Package Versions 2024-08-23 18:37:45 +00:00
LinuxServer-CI
95cdaf22af Bot Updating Templated Files 2024-08-23 18:35:34 +00:00
LinuxServer-CI
36e67b267e Bot Updating Templated Files 2024-08-23 18:34:00 +00:00
LinuxServer-CI
019bf21bf2 Bot Updating Package Versions 2024-08-16 18:34:50 +00:00
LinuxServer-CI
81a23c1ffe Bot Updating Package Versions 2024-08-09 18:36:21 +00:00
LinuxServer-CI
b601769e0f Bot Updating Package Versions 2024-08-02 18:35:10 +00:00
LinuxServer-CI
822a1e7bcd Bot Updating Package Versions 2024-07-26 18:32:46 +00:00
Eric Nemchik
a70321c371 Merge pull request #153 from linuxserver/delete-default-conf
Delete root/defaults/nginx/site-confs/default.conf.sample
2024-07-19 16:35:59 -05:00
LinuxServer-CI
f399491bf6 Bot Updating Package Versions 2024-07-19 18:33:47 +00:00
Eric Nemchik
493b46774c Delete root/defaults/nginx/site-confs/default.conf.sample
redundant to base
2024-07-16 20:44:11 -05:00
LinuxServer-CI
bf821250ce Bot Updating Package Versions 2024-07-12 18:39:29 +00:00
LinuxServer-CI
2c7e8e2347 Bot Updating Templated Files 2024-07-12 18:37:23 +00:00
LinuxServer-CI
0a811d8ff0 Bot Updating Templated Files 2024-07-12 18:35:17 +00:00
LinuxServer-CI
a2b5099589 Bot Updating Package Versions 2024-07-05 18:34:20 +00:00
LinuxServer-CI
d1de807dbd Bot Updating Package Versions 2024-06-28 09:08:39 +00:00
Roxedus
2d0a689cfa Merge pull request #152 from linuxserver/master-3.20 2024-06-28 11:04:07 +02:00
thespad
32482621b1 Rebase to 3.20 2024-06-27 16:33:46 +01:00
LinuxServer-CI
ae11a9757a Bot Updating Package Versions 2024-06-21 18:34:08 +00:00
LinuxServer-CI
438ca48450 Bot Updating Package Versions 2024-06-14 18:34:10 +00:00
LinuxServer-CI
f4d5ee4d4b Bot Updating Package Versions 2024-05-24 18:36:32 +00:00
LinuxServer-CI
50b7879b20 Bot Updating Templated Files 2024-05-24 18:34:18 +00:00
LinuxServer-CI
3a54e1e8a4 Bot Updating Templated Files 2024-05-24 18:32:03 +00:00
LinuxServer-CI
0fa6c3b178 Bot Updating Package Versions 2024-05-17 18:34:23 +00:00
LinuxServer-CI
5f8befb76f Bot Updating Package Versions 2024-05-10 18:34:30 +00:00
LinuxServer-CI
b4c8ae5421 Bot Updating Templated Files 2024-05-10 18:30:46 +00:00
LinuxServer-CI
0457e2e6c9 Bot Updating Package Versions 2024-05-03 18:34:58 +00:00
LinuxServer-CI
f2adb642db Bot Updating Templated Files 2024-05-03 18:30:46 +00:00
LinuxServer-CI
d7534720d4 Bot Updating Package Versions 2024-04-26 18:31:53 +00:00
LinuxServer-CI
44ed891b5b Bot Updating Package Versions 2024-04-19 18:30:03 +00:00
LinuxServer-CI
c4bfc70a35 Bot Updating Package Versions 2024-04-12 18:27:59 +00:00
LinuxServer-CI
810384ffc8 Bot Updating Package Versions 2024-04-05 18:29:54 +00:00
LinuxServer-CI
3980f54fb1 Bot Updating Package Versions 2024-03-29 18:29:08 +00:00
LinuxServer-CI
e1970defc6 Bot Updating Package Versions 2024-03-22 18:30:26 +00:00
LinuxServer-CI
0654cc0288 Bot Updating Package Versions 2024-03-15 18:35:44 +00:00
LinuxServer-CI
7cf45e7130 Bot Updating Templated Files 2024-03-15 18:30:00 +00:00
LinuxServer-CI
696994332b Bot Updating Package Versions 2024-03-07 13:54:12 +00:00
LinuxServer-CI
bbcf5f8d5a Bot Updating Templated Files 2024-03-07 13:51:18 +00:00
Andrew Berry
1aedaec411 Enable the PHP opcache and disable revalidation (#149)
* Enable the PHP opcache and disable revalidation

* Add opcache update to changelog
2024-03-07 08:49:31 -05:00
LinuxServer-CI
dee7bdbd92 Bot Updating Templated Files 2024-03-06 17:56:36 +00:00
Eric Nemchik
a721071117 Cleanup default site conf (#142)
* Cleanup default site conf

Signed-off-by: Eric Nemchik <eric@nemchik.com>

* update dates

---------

Signed-off-by: Eric Nemchik <eric@nemchik.com>
Co-authored-by: aptalca <541623+aptalca@users.noreply.github.com>
2024-03-06 12:52:31 -05:00
LinuxServer-CI
2e5e686e36 Bot Updating Package Versions 2024-03-01 18:31:19 +00:00
LinuxServer-CI
86fa1c70a3 Bot Updating Templated Files 2024-02-23 18:31:22 +00:00
LinuxServer-CI
2b2f8dfd6d Bot Updating Templated Files 2024-02-23 18:29:36 +00:00
LinuxServer-CI
46eacc80b8 Bot Updating Package Versions 2024-02-18 21:49:23 +00:00
LinuxServer-CI
0f3c2b0401 Bot Updating Package Versions 2024-02-17 15:45:10 +00:00
Adam
837c5942db Merge pull request #145 from linuxserver/feature/add_dom_php_extension
Add DOM php extension
2024-02-17 14:35:30 +00:00
Chris Hunt
879e81fb6b Add DOM php extension 2024-02-17 08:29:57 +00:00
LinuxServer-CI
c5500f1c10 Bot Updating Package Versions 2024-02-16 18:29:23 +00:00
LinuxServer-CI
0830b88bd6 Bot Updating Package Versions 2024-02-09 18:29:01 +00:00
LinuxServer-CI
27f3745f2a Bot Updating Package Versions 2024-02-02 18:30:25 +00:00
LinuxServer-CI
bbecc0b09a Bot Updating Package Versions 2024-01-26 16:43:37 +00:00
LinuxServer-CI
dad5208309 Bot Updating Templated Files 2024-01-26 16:39:55 +00:00
Eric Nemchik
d999bb49de Merge pull request #140 from linuxserver/3.19
Rebase to Alpine 3.19
2024-01-26 10:37:50 -06:00
LinuxServer-CI
6b588ea844 Bot Updating Package Versions 2024-01-19 18:31:46 +00:00
LinuxServer-CI
d893aac03f Bot Updating Package Versions 2024-01-12 18:35:54 +00:00
LinuxServer-CI
6432966c54 Bot Updating Templated Files 2024-01-12 18:32:20 +00:00
LinuxServer-CI
4ea20437ae Bot Updating Templated Files 2024-01-12 18:30:36 +00:00
LinuxServer-CI
883863471c Bot Updating Package Versions 2024-01-05 18:32:08 +00:00
Eric Nemchik
ca4da80275 Rebase to Alpine 3.19
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-12-23 18:12:50 -06:00
LinuxServer-CI
578be1f1f3 Bot Updating Package Versions 2023-12-22 18:31:05 +00:00
LinuxServer-CI
4cb619e62d Bot Updating Package Versions 2023-12-15 18:32:01 +00:00
LinuxServer-CI
c5eeeea25f Bot Updating Package Versions 2023-12-08 18:32:04 +00:00
LinuxServer-CI
7d6fadb7a0 Bot Updating Package Versions 2023-12-01 18:31:59 +00:00
Eric Nemchik
6208bee94a Merge pull request #138 from linuxserver/quiet-migration
only run migration if conf exists
2023-11-29 08:30:57 -06:00
Eric Nemchik
5a13df03c2 only run migration if conf exists
redirect stderr to /dev/null

Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-11-25 10:42:57 -06:00
LinuxServer-CI
95b5c12980 Bot Updating Package Versions 2023-11-24 18:30:13 +00:00
LinuxServer-CI
1930594564 Bot Updating Package Versions 2023-11-17 18:34:44 +00:00
LinuxServer-CI
ab062598dd Bot Updating Templated Files 2023-11-17 18:31:28 +00:00
LinuxServer-CI
6e67e9639f Bot Updating Package Versions 2023-11-10 18:29:51 +00:00
LinuxServer-CI
08c8690c05 Bot Updating Package Versions 2023-10-27 18:30:40 +00:00
LinuxServer-CI
10c24c4e6c Bot Updating Package Versions 2023-10-20 18:30:04 +00:00
LinuxServer-CI
9f3e2d5e25 Bot Updating Package Versions 2023-10-13 18:32:34 +00:00
LinuxServer-CI
7f2ed151a8 Bot Updating Templated Files 2023-10-07 00:23:35 +00:00
LinuxServer-CI
edf366cafc Bot Updating Package Versions 2023-10-06 18:37:37 +00:00
LinuxServer-CI
56cfd5e4f9 Bot Updating Templated Files 2023-10-06 18:32:40 +00:00
LinuxServer-CI
ec44060cd9 Bot Updating Templated Files 2023-10-06 18:30:08 +00:00
LinuxServer-CI
9c3398a642 Bot Updating Package Versions 2023-09-29 18:30:40 +00:00
LinuxServer-CI
8ae8376b0e Bot Updating Package Versions 2023-09-22 18:31:02 +00:00
LinuxServer-CI
171f7a06ba Bot Updating Package Versions 2023-09-08 18:29:10 +00:00
LinuxServer-CI
ea77b698e9 Bot Updating Package Versions 2023-09-01 18:28:10 +00:00
LinuxServer-CI
72e0b2429d Bot Updating Package Versions 2023-08-18 18:29:16 +00:00
LinuxServer-CI
cd14d065fb Bot Updating Package Versions 2023-08-11 18:28:08 +00:00
LinuxServer-CI
5ec148867c Bot Updating Package Versions 2023-08-04 18:29:09 +00:00
LinuxServer-CI
bc67105b9f Bot Updating Package Versions 2023-07-28 18:27:45 +00:00
LinuxServer-CI
78ce2e7888 Bot Updating Package Versions 2023-07-21 18:31:34 +00:00
LinuxServer-CI
a3d7d6b52d Bot Updating Package Versions 2023-07-14 18:33:24 +00:00
LinuxServer-CI
73abea2a2a Bot Updating Package Versions 2023-07-07 18:35:16 +00:00
LinuxServer-CI
2ee1aac893 Bot Updating Templated Files 2023-07-07 18:33:06 +00:00
LinuxServer-CI
ca1aad4eef Bot Updating Package Versions 2023-06-23 18:33:17 +00:00
LinuxServer-CI
4b1ebc551b Bot Updating Package Versions 2023-06-16 18:30:20 +00:00
LinuxServer-CI
405811c812 Bot Updating Package Versions 2023-06-09 18:29:18 +00:00
LinuxServer-CI
72febc8128 Bot Updating Package Versions 2023-06-02 18:30:09 +00:00
LinuxServer-CI
79cc6e9958 Bot Updating Package Versions 2023-05-31 17:35:27 +00:00
Eric Nemchik
106be7d4c8 Merge pull request #130 from linuxserver/3.18
Rebase to Alpine 3.18, deprecate armhf
2023-05-31 12:31:46 -05:00
Eric Nemchik
ef39ae4b09 Merge remote-tracking branch 'origin/master' into 3.18
Signed-off-by: Eric Nemchik <eric@nemchik.com>
2023-05-29 17:29:04 -05:00
Eric Nemchik
d631acbc2b Rebase to Alpine 3.18, deprecate armhf 2023-05-27 16:51:39 -05:00
LinuxServer-CI
1d14a698e9 Bot Updating Package Versions 2023-05-26 18:32:01 +00:00
LinuxServer-CI
a39cf6077e Bot Updating Templated Files 2023-05-26 18:28:15 +00:00
LinuxServer-CI
913d0ae731 Bot Updating Package Versions 2023-05-19 18:28:38 +00:00
LinuxServer-CI
f4373faaf7 Bot Updating Package Versions 2023-05-12 18:28:26 +00:00
LinuxServer-CI
6337038936 Bot Updating Package Versions 2023-04-28 18:32:32 +00:00
LinuxServer-CI
b4d0dd10ed Bot Updating Templated Files 2023-04-28 18:29:38 +00:00
LinuxServer-CI
0cd62d2600 Bot Updating Templated Files 2023-04-28 18:28:39 +00:00
LinuxServer-CI
7a416945f8 Bot Updating Package Versions 2023-04-21 18:30:09 +00:00
LinuxServer-CI
3a461589ae Bot Updating Package Versions 2023-04-18 09:13:38 -05:00
Eric Nemchik
7423abbba3 Merge pull request #125 from linuxserver/move-ssl-include
Move ssl.conf include to default.conf
2023-04-18 09:08:13 -05:00
LinuxServer-CI
dc90782e9b Bot Updating Package Versions 2023-04-14 13:30:32 -05:00
Eric Nemchik
4bc9c1c0a8 Move ssl.conf include to default.conf 2023-04-13 11:05:47 -05:00
LinuxServer-CI
c1e8f4aff6 Bot Updating Package Versions 2023-04-07 13:35:44 -05:00
LinuxServer-CI
ed2a01883e Bot Updating Package Versions 2023-04-02 03:03:28 -05:00
LinuxServer-CI
d4a94d2b22 Bot Updating Templated Files 2023-04-02 03:01:08 -05:00
LinuxServer-CI
268c0bd387 Bot Updating Templated Files 2023-04-02 02:59:33 -05:00
LinuxServer-CI
270e7fe693 Bot Updating Templated Files 2023-04-02 02:58:01 -05:00
LinuxServer-CI
12b0376ef0 Bot Updating Package Versions 2023-03-26 02:58:20 -05:00
LinuxServer-CI
279e8aff58 Bot Updating Package Versions 2023-03-09 17:53:32 +01:00
LinuxServer-CI
ff2790ec89 Bot Updating Package Versions 2023-03-05 09:00:27 +01:00
LinuxServer-CI
94c5031806 Bot Updating Templated Files 2023-03-05 08:57:50 +01:00
LinuxServer-CI
201ead3860 Bot Updating Package Versions 2023-02-26 01:59:11 -06:00
LinuxServer-CI
2a933c71f5 Bot Updating Package Versions 2023-02-19 08:58:54 +01:00
LinuxServer-CI
2579fdf1d5 Bot Updating Package Versions 2023-02-12 02:01:32 -06:00
LinuxServer-CI
9da5735d04 Bot Updating Templated Files 2023-02-12 01:59:02 -06:00
LinuxServer-CI
75a85e47d0 Bot Updating Templated Files 2023-02-12 01:57:45 -06:00
LinuxServer-CI
21da59c4d2 Bot Updating Package Versions 2023-02-05 01:58:11 -06:00
LinuxServer-CI
46f6a30e9d Bot Updating Package Versions 2023-01-27 04:20:22 -06:00
Eric Nemchik
86be90bf2e Merge pull request #120 from linuxserver/3.17
Rebase to alpine 3.17 with php8.1 (master)
2023-01-27 04:17:38 -06:00
Eric Nemchik
de8ba1b570 Fix perm check 2023-01-25 19:33:19 -06:00
Eric Nemchik
96d2cfabc4 Adjust for overlayfs chown bug 2023-01-25 19:19:23 -06:00
Eric Nemchik
fb74b689ec Adjust file ownership 2023-01-23 20:46:38 -06:00
Eric Nemchik
59fd8f30c9 Only set folder permissions when symlinking 2023-01-23 20:08:33 -06:00
Eric Nemchik
b9940034b8 Move install back to Dockerfile 2023-01-23 19:50:44 -06:00
Eric Nemchik
0a47a08cc0 Rebase to alpine 3.17 with php8.1 2023-01-22 16:28:25 -06:00
LinuxServer-CI
4ed42cde3a Bot Updating Package Versions 2023-01-22 01:58:06 -06:00
Eric Nemchik
c4f48e26a5 Merge pull request #119 from linuxserver/format
Format shell scripts
2023-01-18 06:02:56 -06:00
Eric Nemchik
a7e8da1751 Format shell scripts 2023-01-15 09:48:49 -06:00
LinuxServer-CI
fed915b7c7 Bot Updating Package Versions 2022-12-25 08:57:52 +01:00
LinuxServer-CI
89d886bf9b Bot Updating Templated Files 2022-12-04 02:00:50 -06:00
LinuxServer-CI
311858e691 Bot Updating Templated Files 2022-12-04 08:59:21 +01:00
LinuxServer-CI
c8907dc91d Bot Updating Templated Files 2022-12-04 01:58:04 -06:00
Eric Nemchik
a7e89cd97c Merge pull request #112 from linuxserver/fix-permissions
Reorder init to fix permissions
2022-11-25 11:20:32 -06:00
TheSpad
56f29b5e96 Symlink before permissions 2022-11-25 16:27:53 +00:00
TheSpad
9279d33966 Reorder init to fix permissions 2022-11-25 16:26:58 +00:00
KodeStar
e1be906c7a Merge pull request #111 from linuxserver/master-logs
Remove logrotate and symlink logs
2022-11-25 15:10:38 +00:00
Eric Nemchik
40f301e5f9 Spacing 2022-11-25 01:04:24 +00:00
Eric Nemchik
b4403d7c37 Remove logrotate and symlink logs 2022-11-24 23:11:37 +00:00
LinuxServer-CI
2d84657f1c Bot Updating Package Versions 2022-11-24 00:08:34 +01:00
Eric Nemchik
09350f3a5c Merge pull request #79 from linuxserver/standard-base
Standard base
2022-11-23 17:06:49 -06:00
11 changed files with 168 additions and 153 deletions

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-heimdall/edit/development/readme-vars.yml).
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-heimdall/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-heimdall)
@@ -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-heimdall/tree/development/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-heimdall/tree/master/root), add an entry to the changelog
```yml
changelogs:

View File

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

View File

@@ -7,31 +7,31 @@ permissions:
contents: read
jobs:
external-trigger-development:
external-trigger-master:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- name: External Trigger
if: github.ref == 'refs/heads/development'
if: github.ref == 'refs/heads/master'
env:
SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }}
run: |
printf "# External trigger for docker-heimdall\n\n" >> $GITHUB_STEP_SUMMARY
if grep -q "^heimdall_development_" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
if grep -q "^heimdall_master_" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`heimdall_development_\`; will skip trigger if version matches." >> $GITHUB_STEP_SUMMARY
elif grep -q "^heimdall_development" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`heimdall_master_\`; will skip trigger if version matches." >> $GITHUB_STEP_SUMMARY
elif grep -q "^heimdall_master" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`heimdall_development\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`heimdall_master\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0
fi
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo "> External trigger running off of development branch. To disable this trigger, add \`heimdall_development\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $GITHUB_STEP_SUMMARY
echo "> External trigger running off of master branch. To disable this trigger, add \`heimdall_master\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $GITHUB_STEP_SUMMARY
printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY
EXT_RELEASE=$(curl -u "${{ secrets.CR_USER }}:${{ secrets.CR_PAT }}" -sX GET "https://api.github.com/repos/linuxserver/Heimdall/commits/2.x" | jq -r '. | .sha' | cut -c1-8)
echo "Type is \`github_commit\`" >> $GITHUB_STEP_SUMMARY
if grep -q "^heimdall_development_${EXT_RELEASE}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
EXT_RELEASE=$(curl -u "${{ secrets.CR_USER }}:${{ secrets.CR_PAT }}" -sX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" | jq -r '. | .tag_name')
echo "Type is \`github_stable\`" >> $GITHUB_STEP_SUMMARY
if grep -q "^heimdall_master_${EXT_RELEASE}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` matches current external release; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0
@@ -39,7 +39,7 @@ jobs:
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Can't retrieve external version, exiting" >> $GITHUB_STEP_SUMMARY
FAILURE_REASON="Can't retrieve external version for heimdall branch development"
FAILURE_REASON="Can't retrieve external version for heimdall branch master"
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-heimdall/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"}],
@@ -50,7 +50,7 @@ jobs:
echo "Sanitized external version: \`${EXT_RELEASE_SANITIZED}\`" >> $GITHUB_STEP_SUMMARY
echo "Retrieving last pushed version" >> $GITHUB_STEP_SUMMARY
image="linuxserver/heimdall"
tag="development"
tag="latest"
token=$(curl -sX GET \
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fheimdall%3Apull" \
| jq -r '.token')
@@ -96,7 +96,7 @@ jobs:
if [ -z "${IMAGE_VERSION}" ]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "Can't retrieve last pushed version, exiting" >> $GITHUB_STEP_SUMMARY
FAILURE_REASON="Can't retrieve last pushed version for heimdall tag development"
FAILURE_REASON="Can't retrieve last pushed version for heimdall 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 }}
@@ -106,14 +106,14 @@ jobs:
if [ "${EXT_RELEASE_SANITIZED}" == "${IMAGE_VERSION}" ]; then
echo "Sanitized version \`${EXT_RELEASE_SANITIZED}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY
exit 0
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-heimdall/job/development/lastBuild/api/json | jq -r '.building') == "true" ]; then
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-heimdall/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" >> $GITHUB_STEP_SUMMARY
exit 0
else
if [[ "${artifacts_found}" == "false" ]]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> New version detected, but not all artifacts are published yet; skipping trigger" >> $GITHUB_STEP_SUMMARY
FAILURE_REASON="New version ${EXT_RELEASE} for heimdall tag development is detected, however not all artifacts are uploaded to upstream release yet. Will try again later."
FAILURE_REASON="New version ${EXT_RELEASE} for heimdall tag latest is detected, however not all artifacts are uploaded to upstream release yet. Will try again later."
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
@@ -124,7 +124,7 @@ jobs:
echo "All artifacts seem to be uploaded." >> $GITHUB_STEP_SUMMARY
fi
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-heimdall/job/development/buildWithParameters?PACKAGE_CHECK=false \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-heimdall/job/master/buildWithParameters?PACKAGE_CHECK=false \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY
echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY
@@ -139,7 +139,7 @@ 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 heimdall tag development. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE_SANITIZED}"
TRIGGER_REASON="A version change was detected for heimdall tag latest. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE_SANITIZED}"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}

View File

@@ -15,5 +15,5 @@ jobs:
- uses: actions/first-interaction@v1
with:
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-heimdall/blob/development/.github/PULL_REQUEST_TEMPLATE.md)!'
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-heimdall/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -35,8 +35,8 @@ RUN \
mkdir -p \
/heimdall && \
if [ -z ${HEIMDALL_RELEASE+x} ]; then \
HEIMDALL_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/commits/2.x" \
| awk '/sha/{print $4;exit}' FS='[""]'); \
HEIMDALL_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \
curl -o \
/tmp/heimdall.tar.gz -L \

View File

@@ -35,8 +35,8 @@ RUN \
mkdir -p \
/heimdall && \
if [ -z ${HEIMDALL_RELEASE+x} ]; then \
HEIMDALL_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/commits/2.x" \
| awk '/sha/{print $4;exit}' FS='[""]'); \
HEIMDALL_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \
curl -o \
/tmp/heimdall.tar.gz -L \

132
Jenkinsfile vendored
View File

@@ -79,7 +79,7 @@ pipeline {
script{
env.EXIT_STATUS = ''
env.LS_RELEASE = sh(
script: '''docker run --rm quay.io/skopeo/stable:v1 inspect docker://ghcr.io/${LS_USER}/${CONTAINER_NAME}:development 2>/dev/null | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
script: '''docker run --rm quay.io/skopeo/stable:v1 inspect docker://ghcr.io/${LS_USER}/${CONTAINER_NAME}: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' ''',
@@ -112,7 +112,7 @@ pipeline {
script{
env.LS_TAG_NUMBER = sh(
script: '''#! /bin/bash
tagsha=$(git rev-list -n 1 development-${LS_RELEASE} 2>/dev/null)
tagsha=$(git rev-list -n 1 ${LS_RELEASE} 2>/dev/null)
if [ "${tagsha}" == "${COMMIT_SHA}" ]; then
echo ${LS_RELEASE_NUMBER}
elif [ -z "${GIT_COMMIT}" ]; then
@@ -145,21 +145,21 @@ pipeline {
/* ########################
External Release Tagging
######################## */
// If this is a github commit trigger determine the current commit at head
stage("Set ENV github_commit"){
// If this is a stable github release use the latest endpoint from github to determine the ext tag
stage("Set ENV github_stable"){
steps{
script{
env.EXT_RELEASE = sh(
script: '''curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/commits/${EXT_GIT_BRANCH} | jq -r '. | .sha' | cut -c1-8 ''',
script: '''curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq -r '. | .tag_name' ''',
returnStdout: true).trim()
}
}
}
// If this is a github commit trigger Set the external release link
stage("Set ENV commit_link"){
// If this is a stable or devel github release generate the link for the build message
stage("Set ENV github_link"){
steps{
script{
env.RELEASE_LINK = 'https://github.com/' + env.EXT_USER + '/' + env.EXT_REPO + '/commit/' + env.EXT_RELEASE
env.RELEASE_LINK = 'https://github.com/' + env.EXT_USER + '/' + env.EXT_REPO + '/releases/tag/' + env.EXT_RELEASE
}
}
}
@@ -197,10 +197,10 @@ pipeline {
}
}
}
// If this is a development build use live docker endpoints
// If this is a master build use live docker endpoints
stage("Set ENV live build"){
when {
branch "development"
branch "master"
environment name: 'CHANGE_ID', value: ''
}
steps {
@@ -210,13 +210,13 @@ 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-development-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-development-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
} else {
env.CI_TAGS = 'development-' + 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 = 'development-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.EXT_RELEASE_TAG = 'development-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
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
env.CITEST_IMAGETAG = 'latest'
}
@@ -225,7 +225,7 @@ pipeline {
// If this is a dev build use dev docker endpoints
stage("Set ENV dev build"){
when {
not {branch "development"}
not {branch "master"}
environment name: 'CHANGE_ID', value: ''
}
steps {
@@ -235,13 +235,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-development-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-development-' + 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 + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
} else {
env.CI_TAGS = 'development-' + 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 = 'development-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.EXT_RELEASE_TAG = 'development-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/'
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
env.CITEST_IMAGETAG = 'develop'
@@ -260,13 +260,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-development-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-development-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
} else {
env.CI_TAGS = 'development-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
}
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
env.META_TAG = 'development-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
env.EXT_RELEASE_TAG = 'development-version-' + env.EXT_RELEASE_CLEAN
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-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/'
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
@@ -293,7 +293,7 @@ pipeline {
-v ${WORKSPACE}:/mnt \
-e AWS_ACCESS_KEY_ID=\"${S3_KEY}\" \
-e AWS_SECRET_ACCESS_KEY=\"${S3_SECRET}\" \
ghcr.io/linuxserver/baseimage-alpine:3 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\
ghcr.io/linuxserver/baseimage-alpine:3.23 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\
apk add --no-cache python3 && \
python3 -m venv /lsiopy && \
pip install --no-cache-dir -U pip && \
@@ -305,7 +305,7 @@ pipeline {
// Use helper containers to render templated files
stage('Update-Templates') {
when {
branch "development"
branch "master"
environment name: 'CHANGE_ID', value: ''
expression {
env.CONTAINER_NAME != null
@@ -317,24 +317,24 @@ pipeline {
TEMPDIR=$(mktemp -d)
docker pull ghcr.io/linuxserver/jenkins-builder:latest
# Cloned repo paths for templating:
# ${TEMPDIR}/docker-${CONTAINER_NAME}: Cloned branch development of ${LS_USER}/${LS_REPO} for running the jenkins builder on
# ${TEMPDIR}/repo/${LS_REPO}: Cloned branch development of ${LS_USER}/${LS_REPO} for commiting various templated file changes and pushing back to Github
# ${TEMPDIR}/docker-${CONTAINER_NAME}: Cloned branch master of ${LS_USER}/${LS_REPO} for running the jenkins builder on
# ${TEMPDIR}/repo/${LS_REPO}: Cloned branch master of ${LS_USER}/${LS_REPO} for commiting various templated file changes and pushing back to Github
# ${TEMPDIR}/docs/docker-documentation: Cloned docs repo for pushing docs updates to Github
# ${TEMPDIR}/unraid/docker-templates: Cloned docker-templates repo to check for logos
# ${TEMPDIR}/unraid/templates: Cloned templates repo for commiting unraid template changes and pushing back to Github
git clone --branch development --depth 1 https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/docker-${CONTAINER_NAME}
git clone --branch master --depth 1 https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/docker-${CONTAINER_NAME}
docker run --rm -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/tmp -e LOCAL=true -e PUID=$(id -u) -e PGID=$(id -g) ghcr.io/linuxserver/jenkins-builder:latest
echo "Starting 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 development
git checkout -f master
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
git add Jenkinsfile
git commit -m 'Bot Updating Templated Files'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Updating Jenkinsfile and exiting build, new one will trigger based on commit"
rm -Rf ${TEMPDIR}
@@ -353,13 +353,13 @@ 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 development
git checkout -f master
for i in ${TEMPLATES_TO_DELETE}; do
git rm "${i}"
done
git commit -m 'Bot Updating Templated Files'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Deleting old/deprecated templates and exiting build, new one will trigger based on commit"
rm -Rf ${TEMPDIR}
@@ -374,20 +374,20 @@ pipeline {
sed -i 's|^changelogs:|# init diagram\\ninit_diagram:\\n\\n# changelog\\nchangelogs:|' readme-vars.yml
fi
mkdir -p ${TEMPDIR}/d2
docker run --rm -v ${TEMPDIR}/d2:/output -e PUID=$(id -u) -e PGID=$(id -g) -e RAW="true" ghcr.io/linuxserver/d2-builder:latest ${CONTAINER_NAME}:development
docker run --rm -v ${TEMPDIR}/d2:/output -e PUID=$(id -u) -e PGID=$(id -g) -e RAW="true" ghcr.io/linuxserver/d2-builder:latest ${CONTAINER_NAME}:latest
ls -al ${TEMPDIR}/d2
yq -ei ".init_diagram |= load_str(\\"${TEMPDIR}/d2/${CONTAINER_NAME}-development.d2\\")" readme-vars.yml
yq -ei ".init_diagram |= load_str(\\"${TEMPDIR}/d2/${CONTAINER_NAME}-latest.d2\\")" readme-vars.yml
if [[ $(md5sum readme-vars.yml | cut -c1-8) != $(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/readme-vars.yml | cut -c1-8) ]]; then
echo "'init_diagram' has been updated. Updating repo and exiting build, new one will trigger based on commit."
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 development
git checkout -f master
cp ${WORKSPACE}/readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/readme-vars.yml
git add readme-vars.yml
git commit -m 'Bot Updating Templated Files'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Updating templates and exiting build, new one will trigger based on commit"
rm -Rf ${TEMPDIR}
@@ -404,7 +404,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 development
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
@@ -417,8 +417,8 @@ pipeline {
fi
git add readme-vars.yml ${TEMPLATED_FILES}
git commit -m 'Bot Updating Templated Files'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
echo "Updating templates and exiting build, new one will trigger based on commit"
rm -Rf ${TEMPDIR}
@@ -519,7 +519,7 @@ pipeline {
// Exit the build if the Templated files were just updated
stage('Template-exit') {
when {
branch "development"
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'FILES_UPDATED', value: 'true'
expression {
@@ -532,10 +532,10 @@ pipeline {
}
}
}
// If this is a development build check the S6 service file perms
// If this is a master build check the S6 service file perms
stage("Check S6 Service file Permissions"){
when {
branch "development"
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
@@ -788,7 +788,7 @@ pipeline {
// Take the image we just built and dump package versions for comparison
stage('Update-packages') {
when {
branch "development"
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
@@ -811,14 +811,14 @@ 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 development
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f master
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
cd ${TEMPDIR}/${LS_REPO}/
wait
git add package_versions.txt
git commit -m 'Bot Updating Package Versions'
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
echo "true" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}
echo "Package tag updated, stopping build process"
else
@@ -836,7 +836,7 @@ pipeline {
// Exit the build if the package file was just updated
stage('PACKAGE-exit') {
when {
branch "development"
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'true'
environment name: 'EXIT_STATUS', value: ''
@@ -850,7 +850,7 @@ pipeline {
// Exit the build if this is just a package check and there are no changes to push
stage('PACKAGECHECK-exit') {
when {
branch "development"
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'false'
environment name: 'EXIT_STATUS', value: ''
@@ -904,7 +904,7 @@ pipeline {
-e DOCKER_LOGS_TIMEOUT=\"${CI_DELAY}\" \
-e TAGS=\"${CI_TAGS}\" \
-e META_TAG=\"${META_TAG}\" \
-e RELEASE_TAG=\"development\" \
-e RELEASE_TAG=\"latest\" \
-e PORT=\"${CI_PORT}\" \
-e SSL=\"${CI_SSL}\" \
-e BASE=\"${DIST_IMAGE}\" \
@@ -916,6 +916,8 @@ pipeline {
-e WEB_PATH=\"${CI_WEBPATH}\" \
-e NODE_NAME=\"${NODE_NAME}\" \
-e SYFT_IMAGE_TAG=\"${CI_SYFT_IMAGE_TAG:-${SYFT_IMAGE_TAG}}\" \
-e COMMIT_SHA=\"${COMMIT_SHA}\" \
-e BUILD_NUMBER=\"${BUILD_NUMBER}\" \
-t ghcr.io/linuxserver/ci:${CITEST_IMAGETAG} \
python3 test_build.py'''
}
@@ -942,7 +944,7 @@ pipeline {
CACHEIMAGE=${i}
fi
done
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${META_TAG} -t ${PUSHIMAGE}:development -t ${PUSHIMAGE}:${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${META_TAG} -t ${PUSHIMAGE}:latest -t ${PUSHIMAGE}:${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
{ if [[ "${PUSHIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
if [ -n "${SEMVER}" ]; then
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
@@ -971,9 +973,9 @@ pipeline {
CACHEIMAGE=${i}
fi
done
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${META_TAG} -t ${MANIFESTIMAGE}:amd64-development -t ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${META_TAG} -t ${MANIFESTIMAGE}:amd64-latest -t ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${META_TAG} -t ${MANIFESTIMAGE}:arm64v8-development -t ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || \
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${META_TAG} -t ${MANIFESTIMAGE}:arm64v8-latest -t ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || \
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
if [ -n "${SEMVER}" ]; then
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
@@ -983,7 +985,7 @@ pipeline {
fi
done
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
docker buildx imagetools create -t ${MANIFESTIMAGE}:development ${MANIFESTIMAGE}:amd64-development ${MANIFESTIMAGE}:arm64v8-development || \
docker buildx imagetools create -t ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest || \
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} || \
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
@@ -1001,7 +1003,7 @@ pipeline {
// If this is a public release tag it in the LS Github
stage('Github-Tag-Push-Release') {
when {
branch "development"
branch "master"
expression {
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
}
@@ -1017,21 +1019,21 @@ pipeline {
else
AUTO_RELEASE_NOTES=$(curl -fsL -H "Authorization: token ${GITHUB_TOKEN}" -H "Accept: application/vnd.github+json" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases/generate-notes \
-d '{"tag_name":"'${META_TAG}'",\
"target_commitish": "development"}' \
"target_commitish": "master"}' \
| jq -r '.body' | sed 's|## What.s Changed||')
fi
echo "Pushing New tag for current commit ${META_TAG}"
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 development",\
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
"type": "commit",\
"tagger": {"name": "LinuxServer-CI","email": "ci@linuxserver.io","date": "'${GITHUB_DATE}'"}}'
echo "Pushing New release for Tag"
curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/commits/${EXT_RELEASE_CLEAN} | jq -r '.commit.message' > releasebody.json
curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq -r '. |.body' > releasebody.json
jq -n \
--arg tag_name "$META_TAG" \
--arg target_commitish "development" \
--arg target_commitish "master" \
--arg ci_url "${CI_URL:-N/A}" \
--arg ls_notes "$AUTO_RELEASE_NOTES" \
--arg remote_notes "$(cat releasebody.json)" \
@@ -1041,7 +1043,7 @@ pipeline {
"name": $tag_name,
"body": ("**CI Report:**\\n\\n" + $ci_url + "\\n\\n**LinuxServer Changes:**\\n\\n" + $ls_notes + "\\n\\n**Remote Changes:**\\n\\n" + $remote_notes),
"draft": false,
"prerelease": true }' > releasebody.json.done
"prerelease": false }' > 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
'''
}
@@ -1049,14 +1051,14 @@ pipeline {
// Add protection to the release branch
stage('Github-Release-Branch-Protection') {
when {
branch "development"
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
steps {
echo "Setting up protection for release branch development"
echo "Setting up protection for release branch master"
sh '''#! /bin/bash
curl -H "Authorization: token ${GITHUB_TOKEN}" -X PUT https://api.github.com/repos/${LS_USER}/${LS_REPO}/branches/development/protection \
curl -H "Authorization: token ${GITHUB_TOKEN}" -X PUT https://api.github.com/repos/${LS_USER}/${LS_REPO}/branches/master/protection \
-d $(jq -c . << EOF
{
"required_status_checks": null,

View File

@@ -1,5 +1,5 @@
<!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read https://github.com/linuxserver/docker-heimdall/blob/development/.github/CONTRIBUTING.md -->
<!-- Please read https://github.com/linuxserver/docker-heimdall/blob/master/.github/CONTRIBUTING.md -->
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io)
[![Blog](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Blog)](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
@@ -34,8 +34,8 @@ 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/heimdall)
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/heimdall.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/heimdall)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/heimdall.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/heimdall)
[![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-heimdall%2Fjob%2Fdevelopment%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-heimdall/job/development/)
[![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%2Fheimdall%2Fdevelopment%2Fci-status.yml)](https://ci-tests.linuxserver.io/linuxserver/heimdall/development/index.html)
[![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-heimdall%2Fjob%2Fmaster%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-heimdall/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%2Fheimdall%2Flatest%2Fci-status.yml)](https://ci-tests.linuxserver.io/linuxserver/heimdall/latest/index.html)
[Heimdall](https://heimdall.site) is a way to organise all those links to your most used web sites and web applications in a simple way.
@@ -49,7 +49,7 @@ Why not use it as your browser start page? It even has the ability to include a
We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://distribution.github.io/distribution/spec/manifest-v2-2/#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
Simply pulling `lscr.io/linuxserver/heimdall:development` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
Simply pulling `lscr.io/linuxserver/heimdall: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:
@@ -80,7 +80,7 @@ This image now supports password protection through htpasswd. Run the following
To help you get started creating a container from this image you can either use docker-compose or the docker cli.
>[!NOTE]
>Unless a parameter is flaged as 'optional', it is *mandatory* and a value must be provided.
>Unless a parameter is flagged as 'optional', it is *mandatory* and a value must be provided.
### docker-compose (recommended, [click here for more info](https://docs.linuxserver.io/general/docker-compose))
@@ -88,7 +88,7 @@ To help you get started creating a container from this image you can either use
---
services:
heimdall:
image: lscr.io/linuxserver/heimdall:development
image: lscr.io/linuxserver/heimdall:latest
container_name: heimdall
environment:
- PUID=1000
@@ -116,7 +116,7 @@ docker run -d \
-p 443:443 \
-v /path/to/heimdall/config:/config \
--restart unless-stopped \
lscr.io/linuxserver/heimdall:development
lscr.io/linuxserver/heimdall:latest
```
## Parameters
@@ -197,7 +197,7 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to
* Image version number:
```bash
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/heimdall:development
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/heimdall:latest
```
## Updating Info
@@ -245,7 +245,7 @@ Below are the instructions for updating containers:
* Update the image:
```bash
docker pull lscr.io/linuxserver/heimdall:development
docker pull lscr.io/linuxserver/heimdall:latest
```
* Stop the running container:
@@ -282,7 +282,7 @@ cd docker-heimdall
docker build \
--no-cache \
--pull \
-t lscr.io/linuxserver/heimdall:development .
-t lscr.io/linuxserver/heimdall:latest .
```
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`
@@ -295,7 +295,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
* **17.07.25:** - Rebase to Alpine 3.22, enable PHP environment passthrough.
* **20.07.25:** - Rebase to Alpine 3.22, enable PHP environment passthrough.
* **27.06.24:** - Rebase to Alpine 3.20. Existing users should update their nginx confs to avoid http2 deprecation warnings.
* **07.03.24:** - Enable the opcache and disable file revalidation.
* **06.03.24:** - Existing users should update: site-confs/default.conf - Cleanup default site conf.
@@ -304,17 +304,23 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
* **13.04.23:** - Move ssl.conf include to default.conf.
* **20.01.23:** - Rebase to alpine 3.17 with php8.1.
* **14.11.22:** - Rebasing to alpine 3.15 with php8. Restructure nginx configs ([see changes announcement](https://info.linuxserver.io/issues/2022-08-20-nginx-base)).
* **04.11.22:** - Build commits to upstream branch 2.x.
* **04.11.22:** - Build commits to upstream branch 2.x for the `development` tag.
* **13.03.21:** - Make searchproviders.yaml user configurable.
* **11.03.21:** - Rebase to alpine 3.14.
* **10.02.21:** - Revert to alpine 3.12 as php 7.4 broke laravel.
* **10.02.21:** - Rebasing to alpine 3.13.
* **17.08.20:** - Add php7-curl.
* **01.06.20:** - Rebasing to alpine 3.12.
* **17.01.20:** - Use nginx from baseimage.
* **19.12.19:** - Rebasing to alpine 3.11.
* **15.07.19:** - Save laravel.log to /config, install heimdall during first start.
* **16.07.19:** - Save laravel.log to /config/log/heimdall.
* **28.06.19:** - Rebasing to alpine 3.10.
* **01.04.19:** - Fix permission detect logic.
* **26.03.19:** - Install Heimdall during container start to prevent delayed start due to overlayfs bug with recursive chown.
* **23.03.19:** - Switching to new Base images, shift to arm32v7 tag.
* **15.03.19:** - Clarify docker image tags in readme.
* **22.02.19:** - Rebasing to alpine 3.9.
* **16.01.18:** - Generate random app key in .env for new installs.
* **20.11.18:** - Upgrade baseimage packages during build.
* **04.11.18:** - Add php7-zip.
* **31.10.18:** - Add queue service.
* **17.10.18:** - Symlink avatars folder.

View File

@@ -2,10 +2,10 @@
# jenkins variables
project_name: docker-heimdall
external_type: github_commit
release_type: prerelease
release_tag: development
ls_branch: development
external_type: github_stable
release_type: stable
release_tag: latest
ls_branch: master
repo_vars:
- EXT_GIT_BRANCH = '2.x'
- EXT_USER = 'linuxserver'

View File

@@ -4,8 +4,8 @@ acl-libs 2.3.2-r1 apk
alpine-baselayout 3.7.0-r0 apk
alpine-baselayout-data 3.7.0-r0 apk
alpine-keys 2.5-r0 apk
alpine-release 3.22.2-r0 apk
apache2-utils 2.4.65-r0 apk
alpine-release 3.22.3-r0 apk
apache2-utils 2.4.66-r0 apk
apk-tools 2.14.9-r3 apk
apr 1.7.5-r0 apk
apr-util 1.6.3-r1 apk
@@ -17,15 +17,15 @@ barryvdh/reflection-docblock v2.3.1 php-composer
bash 5.2.37-r0 apk
brick/math 0.12.3 php-composer
brotli-libs 1.1.0-r2 apk
busybox 1.37.0-r19 apk
busybox-binsh 1.37.0-r19 apk
c-ares 1.34.5-r0 apk
busybox 1.37.0-r20 apk
busybox-binsh 1.37.0-r20 apk
c-ares 1.34.6-r0 apk
ca-certificates 20250911-r0 apk
ca-certificates-bundle 20250911-r0 apk
carbonphp/carbon-doctrine-types 3.2.0 php-composer
catatonit 0.2.1-r0 apk
clue/stream-filter v1.7.0 php-composer
composer 2.8.12 binary
composer 2.9.5 binary
composer/class-map-generator 1.6.1 php-composer
composer/pcre 3.3.2 php-composer
coreutils 9.7-r1 apk
@@ -56,7 +56,7 @@ guzzlehttp/uri-template v1.0.4 php-composer
hamcrest/hamcrest-php v2.1.1 php-composer
icu-data-en 76.1-r1 apk
icu-libs 76.1-r1 apk
jq 1.8.0-r0 apk
jq 1.8.1-r0 apk
knplabs/github-api v3.16.0 php-composer
laravel/framework v11.45.1 php-composer
laravel/prompts v0.3.6 php-composer
@@ -76,19 +76,19 @@ libapk2 2.14.9-r3 apk
libattr 2.5.2-r2 apk
libbsd 0.12.2-r0 apk
libbz2 1.0.8-r6 apk
libcrypto3 3.5.4-r0 apk
libcrypto3 3.5.5-r0 apk
libcurl 8.14.1-r2 apk
libedit 20250104.3.1-r1 apk
libexpat 2.7.3-r0 apk
libexpat 2.7.4-r0 apk
libgcc 14.2.0-r6 apk
libidn2 2.3.7-r0 apk
libintl 0.24.1-r0 apk
libmd 1.1.0-r0 apk
libncursesw 6.5_p20250503-r0 apk
libpq 17.6-r0 apk
libpq 17.8-r0 apk
libproc2 4.0.4-r3 apk
libpsl 0.21.5-r3 apk
libssl3 3.5.4-r0 apk
libssl3 3.5.5-r0 apk
libstdc++ 14.2.0-r6 apk
libunistring 1.3-r0 apk
libuuid 2.41-r9 apk
@@ -109,12 +109,12 @@ netcat-openbsd 1.229.1-r0 apk
nette/schema v1.3.2 php-composer
nette/utils v4.0.7 php-composer
nghttp2-libs 1.65.0-r0 apk
nginx 1.28.0-r3 apk
nginx 1.28.2-r0 apk
nikic/php-parser v5.5.0 php-composer
nunomaduro/collision v8.5.0 php-composer
nunomaduro/termwind v2.3.1 php-composer
oniguruma 6.9.10-r0 apk
openssl 3.5.4-r0 apk
openssl 3.5.5-r0 apk
pcre2 10.46-r0 apk
phar-io/manifest 2.0.4 php-composer
phar-io/version 3.2.1 php-composer
@@ -125,30 +125,30 @@ php-http/httplug 2.4.1 php-composer
php-http/message 1.16.2 php-composer
php-http/multipart-stream-builder 1.4.2 php-composer
php-http/promise 1.3.1 php-composer
php84 8.4.14-r0 apk
php84-common 8.4.14-r0 apk
php84-ctype 8.4.14-r0 apk
php84-curl 8.4.14-r0 apk
php84-dom 8.4.14-r0 apk
php84-fileinfo 8.4.14-r0 apk
php84-fpm 8.4.14-r0 apk
php84-iconv 8.4.14-r0 apk
php84-intl 8.4.14-r0 apk
php84-mbstring 8.4.14-r0 apk
php84-mysqlnd 8.4.14-r0 apk
php84-opcache 8.4.14-r0 apk
php84-openssl 8.4.14-r0 apk
php84-pdo 8.4.14-r0 apk
php84-pdo_mysql 8.4.14-r0 apk
php84-pdo_pgsql 8.4.14-r0 apk
php84-pdo_sqlite 8.4.14-r0 apk
php84-phar 8.4.14-r0 apk
php84-session 8.4.14-r0 apk
php84-simplexml 8.4.14-r0 apk
php84-tokenizer 8.4.14-r0 apk
php84-xml 8.4.14-r0 apk
php84-xmlwriter 8.4.14-r0 apk
php84-zip 8.4.14-r0 apk
php84 8.4.16-r0 apk
php84-common 8.4.16-r0 apk
php84-ctype 8.4.16-r0 apk
php84-curl 8.4.16-r0 apk
php84-dom 8.4.16-r0 apk
php84-fileinfo 8.4.16-r0 apk
php84-fpm 8.4.16-r0 apk
php84-iconv 8.4.16-r0 apk
php84-intl 8.4.16-r0 apk
php84-mbstring 8.4.16-r0 apk
php84-mysqlnd 8.4.16-r0 apk
php84-opcache 8.4.16-r0 apk
php84-openssl 8.4.16-r0 apk
php84-pdo 8.4.16-r0 apk
php84-pdo_mysql 8.4.16-r0 apk
php84-pdo_pgsql 8.4.16-r0 apk
php84-pdo_sqlite 8.4.16-r0 apk
php84-phar 8.4.16-r0 apk
php84-session 8.4.16-r0 apk
php84-simplexml 8.4.16-r0 apk
php84-tokenizer 8.4.16-r0 apk
php84-xml 8.4.16-r0 apk
php84-xmlwriter 8.4.16-r0 apk
php84-zip 8.4.16-r0 apk
phpoption/phpoption 1.9.3 php-composer
phpunit/php-code-coverage 10.1.16 php-composer
phpunit/php-file-iterator 4.1.0 php-composer
@@ -198,7 +198,7 @@ spatie/laravel-html 3.12.0 php-composer
spatie/laravel-ignition 2.9.1 php-composer
sqlite-libs 3.49.2-r1 apk
squizlabs/php_codesniffer 3.13.2 php-composer
ssl_client 1.37.0-r19 apk
ssl_client 1.37.0-r20 apk
symfony/cache v7.3.1 php-composer
symfony/cache-contracts v3.6.0 php-composer
symfony/clock v7.3.0 php-composer
@@ -235,7 +235,7 @@ symfony/var-exporter v7.3.0 php-composer
symfony/yaml v7.3.1 php-composer
theseer/tokenizer 1.2.3 php-composer
tijsverkoyen/css-to-inline-styles v2.3.0 php-composer
tzdata 2025b-r0 apk
tzdata 2025c-r0 apk
utmps-libs 0.1.3.1-r0 apk
vlucas/phpdotenv v5.6.2 php-composer
voku/portable-ascii 2.0.3 php-composer

View File

@@ -11,6 +11,7 @@ project_blurb: |
Why not use it as your browser start page? It even has the ability to include a search bar using either Google, Bing or DuckDuckGo.
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
project_categories: "Dashboard"
# supported architectures
available_architectures:
- {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
@@ -43,7 +44,7 @@ app_setup_block: |
This image now supports password protection through htpasswd. Run the following command on your host to generate the htpasswd file `docker exec -it heimdall htpasswd -c /config/nginx/.htpasswd <username>`. Replace <username> with a username of your choice and you will be asked to enter a password. Uncomment the `basic auth` lines in `/config/nginx/site-confs/default.conf` and restart the container.
# init diagram
init_diagram: |
"heimdall:development": {
"heimdall:latest": {
docker-mods
base {
fix-attr +\nlegacy cont-init
@@ -94,10 +95,10 @@ init_diagram: |
Base Images: {
"baseimage-alpine-nginx:3.22" <- "baseimage-alpine:3.22"
}
"heimdall:development" <- Base Images
"heimdall:latest" <- Base Images
# changelog
changelogs:
- {date: "17.07.25:", desc: "Rebase to Alpine 3.22, enable PHP environment passthrough."}
- {date: "20.07.25:", desc: "Rebase to Alpine 3.22, enable PHP environment passthrough."}
- {date: "27.06.24:", desc: "Rebase to Alpine 3.20. Existing users should update their nginx confs to avoid http2 deprecation warnings."}
- {date: "07.03.24:", desc: "Enable the opcache and disable file revalidation."}
- {date: "06.03.24:", desc: "Existing users should update: site-confs/default.conf - Cleanup default site conf."}
@@ -106,17 +107,23 @@ changelogs:
- {date: "13.04.23:", desc: "Move ssl.conf include to default.conf."}
- {date: "20.01.23:", desc: "Rebase to alpine 3.17 with php8.1."}
- {date: "14.11.22:", desc: "Rebasing to alpine 3.15 with php8. Restructure nginx configs ([see changes announcement](https://info.linuxserver.io/issues/2022-08-20-nginx-base))."}
- {date: "04.11.22:", desc: "Build commits to upstream branch 2.x."}
- {date: "04.11.22:", desc: "Build commits to upstream branch 2.x for the `development` tag."}
- {date: "13.03.21:", desc: "Make searchproviders.yaml user configurable."}
- {date: "11.03.21:", desc: "Rebase to alpine 3.14."}
- {date: "10.02.21:", desc: "Revert to alpine 3.12 as php 7.4 broke laravel."}
- {date: "10.02.21:", desc: "Rebasing to alpine 3.13."}
- {date: "17.08.20:", desc: "Add php7-curl."}
- {date: "01.06.20:", desc: "Rebasing to alpine 3.12."}
- {date: "17.01.20:", desc: "Use nginx from baseimage."}
- {date: "19.12.19:", desc: "Rebasing to alpine 3.11."}
- {date: "15.07.19:", desc: "Save laravel.log to /config, install heimdall during first start."}
- {date: "16.07.19:", desc: "Save laravel.log to /config/log/heimdall."}
- {date: "28.06.19:", desc: "Rebasing to alpine 3.10."}
- {date: "01.04.19:", desc: "Fix permission detect logic."}
- {date: "26.03.19:", desc: "Install Heimdall during container start to prevent delayed start due to overlayfs bug with recursive chown."}
- {date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag."}
- {date: "15.03.19:", desc: "Clarify docker image tags in readme."}
- {date: "22.02.19:", desc: "Rebasing to alpine 3.9."}
- {date: "16.01.18:", desc: "Generate random app key in .env for new installs."}
- {date: "20.11.18:", desc: "Upgrade baseimage packages during build."}
- {date: "04.11.18:", desc: "Add php7-zip."}
- {date: "31.10.18:", desc: "Add queue service."}
- {date: "17.10.18:", desc: "Symlink avatars folder."}