Compare commits

...

351 Commits

Author SHA1 Message Date
LinuxServer-CI
2efdc5dd24
Disabling future builds 2025-09-28 22:55:54 +00:00
LinuxServer-CI
99e0ca174b
Bot Updating Package Versions 2025-09-28 22:33:16 +00:00
LinuxServer-CI
895bbdbcf3
Bot Updating Templated Files 2025-09-28 22:22:27 +00:00
LinuxServer-CI
377ccd4790
Bot Updating Templated Files 2025-09-28 22:18:08 +00:00
LinuxServer-CI
a72f7b0fcc
Bot Updating Templated Files 2025-09-28 22:13:19 +00:00
Adam
46e35ceef8
Merge pull request #195 from linuxserver/master-deprecate 2025-09-28 23:08:24 +01:00
thespad
ae2e7a6da4
Fix readme for deprecation 2025-09-28 21:04:37 +01:00
thespad
9ad25c3966
Add missing user bundle 2025-09-28 20:02:54 +01:00
thespad
2f343e4836
Change to pre-release 2025-09-28 18:48:45 +01:00
LinuxServer-CI
02ba81251c
Bot Updating Package Versions 2025-08-25 00:00:39 +00:00
LinuxServer-CI
07a1af34a4
Bot Updating Templated Files 2025-08-24 23:42:36 +00:00
LinuxServer-CI
312fba7473
Bot Updating Templated Files 2025-08-24 23:37:40 +00:00
thespad
3f03f6d90c
Deprecate 2025-08-23 16:18:58 +01:00
LinuxServer-CI
3b94387552
Bot Updating Package Versions 2025-05-18 23:47:23 +00:00
LinuxServer-CI
ac44a9b9b7
Bot Updating Templated Files 2025-05-18 23:35:37 +00:00
LinuxServer-CI
e004a50deb
Bot Updating Package Versions 2025-04-20 23:45:17 +00:00
LinuxServer-CI
678510827f
Bot Updating Package Versions 2025-04-13 23:40:32 +00:00
LinuxServer-CI
346191a90b
Bot Updating Package Versions 2025-04-06 23:42:31 +00:00
LinuxServer-CI
d4e01414ff
Bot Updating Package Versions 2025-03-23 23:39:29 +00:00
LinuxServer-CI
33fc1bee2d
Bot Updating Package Versions 2025-03-16 23:39:54 +00:00
LinuxServer-CI
5361e0a2e1
Bot Updating Package Versions 2025-03-09 23:34:26 +00:00
LinuxServer-CI
81750be7ed
Bot Updating Package Versions 2025-03-02 23:37:56 +00:00
LinuxServer-CI
405a07d29e
Bot Updating Package Versions 2025-02-23 23:38:31 +00:00
LinuxServer-CI
853feb07da
Bot Updating Package Versions 2025-02-16 23:37:13 +00:00
LinuxServer-CI
43255748e2
Bot Updating Templated Files 2025-02-09 23:35:50 +00:00
LinuxServer-CI
ee7397f4a9
Bot Updating Templated Files 2025-02-02 23:37:40 +00:00
LinuxServer-CI
9460d1e0c7
Bot Updating Templated Files 2025-02-02 23:33:29 +00:00
quietsy
3b6079b547
Merge pull request #171 from linuxserver/add-project-categories
Add categories to readme-vars.yml
2025-01-22 22:07:09 +02:00
quietsy
aec7c6e75b Add categories to readme-vars.yml 2025-01-22 20:44:21 +02:00
LinuxServer-CI
441ae180fe
Bot Updating Package Versions 2025-01-19 23:37:13 +00:00
LinuxServer-CI
c81eaac8f4
Bot Updating Package Versions 2025-01-12 23:38:48 +00:00
LinuxServer-CI
2283ace402
Bot Updating Package Versions 2025-01-05 23:37:46 +00:00
LinuxServer-CI
357a2107b0
Bot Updating Package Versions 2024-12-22 23:55:55 +00:00
LinuxServer-CI
9e673a86e3
Bot Updating Package Versions 2024-12-15 23:53:41 +00:00
LinuxServer-CI
eab460144c
Bot Updating Templated Files 2024-12-15 23:42:10 +00:00
LinuxServer-CI
f8beeb9357
Bot Updating Templated Files 2024-12-15 23:36:11 +00:00
LinuxServer-CI
5921b95c61
Bot Updating Package Versions 2024-12-08 23:42:11 +00:00
LinuxServer-CI
f27d8151f5
Bot Updating Templated Files 2024-12-01 23:43:41 +00:00
LinuxServer-CI
9d7711cd4c
Bot Updating Templated Files 2024-12-01 23:39:42 +00:00
LinuxServer-CI
b3d912ebf7
Bot Updating Templated Files 2024-12-01 23:35:40 +00:00
LinuxServer-CI
7a6186ae97
Bot Updating Package Versions 2024-11-24 23:38:37 +00:00
LinuxServer-CI
e26f4fc3a1
Bot Updating Package Versions 2024-11-17 23:43:57 +00:00
LinuxServer-CI
a363b67fce
Bot Updating Package Versions 2024-11-10 23:45:17 +00:00
LinuxServer-CI
735e639271
Bot Updating Templated Files 2024-11-10 23:37:40 +00:00
LinuxServer-CI
c9cf12bff6
Bot Updating Templated Files 2024-11-10 23:34:18 +00:00
LinuxServer-CI
19270ab27b
Bot Updating Package Versions 2024-11-03 23:40:47 +00:00
LinuxServer-CI
7950ce76a1
Bot Updating Package Versions 2024-10-27 23:39:32 +00:00
LinuxServer-CI
e142bf2b38
Bot Updating Package Versions 2024-10-20 23:38:35 +00:00
LinuxServer-CI
fcd5faa6d3
Bot Updating Package Versions 2024-10-13 23:41:50 +00:00
LinuxServer-CI
8f27da2623
Bot Updating Package Versions 2024-10-06 23:37:23 +00:00
LinuxServer-CI
c713c2fe8b
Bot Updating Package Versions 2024-09-29 23:47:12 +00:00
LinuxServer-CI
e633b20955
Bot Updating Templated Files 2024-09-29 23:40:21 +00:00
LinuxServer-CI
6834d4fc2a
Bot Updating Templated Files 2024-09-29 23:36:56 +00:00
LinuxServer-CI
95db352285
Bot Updating Templated Files 2024-09-29 23:34:05 +00:00
LinuxServer-CI
8daa3f5580
Bot Updating Package Versions 2024-09-22 23:42:43 +00:00
LinuxServer-CI
313f39fb58
Bot Updating Package Versions 2024-09-15 23:40:00 +00:00
LinuxServer-CI
07152b6ca8
Bot Updating Package Versions 2024-09-08 23:43:46 +00:00
LinuxServer-CI
370e297814
Bot Updating Package Versions 2024-09-01 23:38:12 +00:00
LinuxServer-CI
83853496d1
Bot Updating Package Versions 2024-08-25 23:38:26 +00:00
LinuxServer-CI
b9bc42c76c
Bot Updating Package Versions 2024-08-18 23:48:16 +00:00
LinuxServer-CI
8fde722cfc
Bot Updating Templated Files 2024-08-18 23:39:59 +00:00
LinuxServer-CI
a21c1d5573 Bot Updating Templated Files 2024-08-18 23:37:15 +00:00
LinuxServer-CI
da039f0fc0 Bot Updating Package Versions 2024-08-11 23:39:42 +00:00
LinuxServer-CI
22addab55b Bot Updating Package Versions 2024-08-07 00:07:08 +00:00
thelamer
4e1907bc2d refresh alpine-xfce 2024-08-06 16:46:37 -04:00
LinuxServer-CI
906e7ffce9 Bot Updating Package Versions 2024-08-04 23:38:01 +00:00
LinuxServer-CI
1e5f0da6c1 Bot Updating Package Versions 2024-07-21 23:33:49 +00:00
LinuxServer-CI
2cc1a243f7 Bot Updating Package Versions 2024-07-14 23:39:18 +00:00
LinuxServer-CI
f5ae69ad16 Bot Updating Templated Files 2024-07-14 23:34:14 +00:00
LinuxServer-CI
fc10751367 Bot Updating Templated Files 2024-07-14 23:31:59 +00:00
LinuxServer-CI
c273e1cc4c Bot Updating Package Versions 2024-07-07 23:34:42 +00:00
LinuxServer-CI
f0acc52a78 Bot Updating Package Versions 2024-06-30 23:35:17 +00:00
LinuxServer-CI
84161b5f8c Bot Updating Package Versions 2024-06-23 23:34:04 +00:00
LinuxServer-CI
8f53a85443 Bot Updating Package Versions 2024-06-16 23:37:34 +00:00
LinuxServer-CI
8918de5ad4 Bot Updating Package Versions 2024-06-09 23:38:02 +00:00
LinuxServer-CI
f8b81f3ad8 Bot Updating Package Versions 2024-05-27 19:45:49 +00:00
Roxedus
ec9a55eb71
Merge pull request #152 from linuxserver/alpine-xfce-3.20 2024-05-27 21:39:06 +02:00
thespad
3580e6210b
Rebase to 3.20 2024-05-27 18:32:24 +01:00
LinuxServer-CI
987ac3056a Bot Updating Package Versions 2024-05-26 23:41:09 +00:00
LinuxServer-CI
95d3b36b79 Bot Updating Templated Files 2024-05-26 23:35:42 +00:00
LinuxServer-CI
f0b2e12495 Bot Updating Templated Files 2024-05-26 23:33:07 +00:00
LinuxServer-CI
1a11d70e2b Bot Updating Package Versions 2024-05-19 23:36:28 +00:00
LinuxServer-CI
7659f39911 Bot Updating Package Versions 2024-05-12 23:38:37 +00:00
LinuxServer-CI
d1fc2b2ecf Bot Updating Templated Files 2024-05-12 23:32:01 +00:00
LinuxServer-CI
63e35a474c Bot Updating Package Versions 2024-04-28 23:30:38 +00:00
LinuxServer-CI
efda436622 Bot Updating Package Versions 2024-04-21 23:33:35 +00:00
LinuxServer-CI
972b2d2958 Bot Updating Package Versions 2024-04-15 00:20:20 +00:00
LinuxServer-CI
030c159256 Bot Updating Package Versions 2024-04-07 23:31:51 +00:00
LinuxServer-CI
ae88d8512f Bot Updating Package Versions 2024-03-31 23:31:12 +00:00
LinuxServer-CI
5a9b8785c9 Bot Updating Package Versions 2024-03-24 23:35:36 +00:00
LinuxServer-CI
0a2d26ca29 Bot Updating Package Versions 2024-03-17 23:38:58 +00:00
LinuxServer-CI
74a50d4d63 Bot Updating Templated Files 2024-03-17 23:32:32 +00:00
LinuxServer-CI
b4c7e570e0 Bot Updating Package Versions 2024-03-10 23:33:09 +00:00
LinuxServer-CI
a83ea51661 Bot Updating Package Versions 2024-03-03 23:41:22 +00:00
LinuxServer-CI
be64d72a8d Bot Updating Package Versions 2024-02-25 23:41:56 +00:00
LinuxServer-CI
dc6f52a6d1 Bot Updating Templated Files 2024-02-25 23:36:40 +00:00
LinuxServer-CI
705416a08c Bot Updating Templated Files 2024-02-25 23:33:07 +00:00
LinuxServer-CI
193c5f97ed Bot Updating Package Versions 2024-02-18 23:33:53 +00:00
LinuxServer-CI
24d19459bc Bot Updating Package Versions 2024-02-11 23:32:23 +00:00
LinuxServer-CI
b58ac1c145 Bot Updating Package Versions 2024-02-04 23:34:20 +00:00
LinuxServer-CI
5588294405 Bot Updating Package Versions 2024-01-28 23:34:29 +00:00
LinuxServer-CI
95aa4ef2f0 Bot Updating Package Versions 2024-01-21 23:38:31 +00:00
LinuxServer-CI
2cc25fa8c5 Bot Updating Package Versions 2024-01-20 01:04:23 +00:00
thelamer
205872a081 sync webtop logic 2024-01-19 17:00:27 -08:00
LinuxServer-CI
45f5975f7d Bot Updating Package Versions 2024-01-14 23:44:50 +00:00
LinuxServer-CI
d4930c06e2 Bot Updating Templated Files 2024-01-14 23:36:47 +00:00
LinuxServer-CI
5dff6fab4b Bot Updating Templated Files 2024-01-14 23:32:43 +00:00
LinuxServer-CI
7310b55335 Bot Updating Package Versions 2024-01-07 23:35:46 +00:00
LinuxServer-CI
c6cc63154f Bot Updating Package Versions 2023-12-31 23:31:16 +00:00
LinuxServer-CI
f11fdc7456 Bot Updating Package Versions 2023-12-17 23:31:55 +00:00
LinuxServer-CI
6dd63f262e Bot Updating Package Versions 2023-12-10 23:31:54 +00:00
LinuxServer-CI
d77cd04fc2 Bot Updating Package Versions 2023-12-03 23:32:13 +00:00
LinuxServer-CI
de698a49ca Bot Updating Package Versions 2023-11-26 23:31:45 +00:00
LinuxServer-CI
67c181bc44 Bot Updating Package Versions 2023-11-19 23:34:00 +00:00
LinuxServer-CI
82d6671468 Bot Updating Templated Files 2023-11-19 23:29:55 +00:00
LinuxServer-CI
bd87a8ff02 Bot Updating Package Versions 2023-11-12 23:31:27 +00:00
LinuxServer-CI
d73573aa5b Bot Updating Package Versions 2023-11-05 23:33:02 +00:00
LinuxServer-CI
28ff1da648 Bot Updating Package Versions 2023-10-29 23:32:10 +00:00
LinuxServer-CI
64d5e40fa5 Bot Updating Package Versions 2023-10-22 23:29:43 +00:00
LinuxServer-CI
134bd043db Bot Updating Package Versions 2023-10-15 23:30:25 +00:00
LinuxServer-CI
caa6812db4 Bot Updating Package Versions 2023-10-08 23:36:46 +00:00
LinuxServer-CI
034cc8676e Bot Updating Templated Files 2023-10-08 23:31:55 +00:00
LinuxServer-CI
af02e3e0c3 Bot Updating Templated Files 2023-10-08 23:29:24 +00:00
LinuxServer-CI
151285f851 Bot Updating Package Versions 2023-10-01 23:34:24 +00:00
LinuxServer-CI
6491918b59 Bot Updating Package Versions 2023-09-24 23:32:24 +00:00
LinuxServer-CI
f3a9d3f610 Bot Updating Package Versions 2023-09-17 23:30:11 +00:00
LinuxServer-CI
ed13903992 Bot Updating Package Versions 2023-09-10 23:31:47 +00:00
LinuxServer-CI
86666f2dae Bot Updating Package Versions 2023-09-03 23:29:59 +00:00
LinuxServer-CI
1e1d67aa10 Bot Updating Package Versions 2023-08-27 23:30:55 +00:00
LinuxServer-CI
cd93297003 Bot Updating Package Versions 2023-08-20 23:30:14 +00:00
LinuxServer-CI
4f6cf679a3 Bot Updating Package Versions 2023-08-13 23:34:08 +00:00
LinuxServer-CI
b0660f43a7 Bot Updating Package Versions 2023-08-06 23:30:52 +00:00
LinuxServer-CI
f7b3723622 Bot Updating Package Versions 2023-07-30 23:30:11 +00:00
LinuxServer-CI
bc489b001e Bot Updating Package Versions 2023-07-23 23:31:28 +00:00
LinuxServer-CI
55561b0284 Bot Updating Package Versions 2023-07-16 23:33:01 +00:00
LinuxServer-CI
ad1144bda8 Bot Updating Package Versions 2023-07-09 23:33:05 +00:00
LinuxServer-CI
12f3ba7cce Bot Updating Package Versions 2023-07-02 23:36:06 +00:00
LinuxServer-CI
ed8aaabaf1 Bot Updating Templated Files 2023-07-02 23:31:34 +00:00
LinuxServer-CI
217089728b Bot Updating Package Versions 2023-06-25 23:35:56 +00:00
LinuxServer-CI
e87e3d43a5 Bot Updating Package Versions 2023-06-18 23:32:51 +00:00
LinuxServer-CI
346c1fa9b4 Bot Updating Package Versions 2023-06-11 23:32:46 +00:00
LinuxServer-CI
954840eef4 Bot Updating Package Versions 2023-06-04 23:30:58 +00:00
LinuxServer-CI
c92855542e Bot Updating Package Versions 2023-05-28 23:33:34 +00:00
LinuxServer-CI
cb190116e3 Bot Updating Templated Files 2023-05-28 23:29:52 +00:00
LinuxServer-CI
36d36f60bd Bot Updating Package Versions 2023-05-21 23:30:00 +00:00
LinuxServer-CI
880e30f1b2 Bot Updating Package Versions 2023-05-19 08:11:44 +00:00
Adam
197b2b78b2
Merge pull request #104 from linuxserver/master-3.18 2023-05-19 09:04:28 +01:00
TheSpad
028dba4a6f
Fix really obvious copy/paste error 2023-05-18 20:55:53 +01:00
TheSpad
6bc4df07d8
Fix folder paths 2023-05-18 20:24:51 +01:00
TheSpad
56e8490846
Add wrappers 2023-05-18 20:11:40 +01:00
TheSpad
9165bf6e99
Update packages and cleanup 2023-05-18 19:40:42 +01:00
TheSpad
46249b0ba3
Rebase to Alpine 3.18, deprecate armhf 2023-05-18 18:27:39 +01:00
LinuxServer-CI
a65581e7d8 Bot Updating Package Versions 2023-05-14 23:34:17 +00:00
LinuxServer-CI
9a83c164f6 Bot Updating Templated Files 2023-04-30 18:31:48 -05:00
LinuxServer-CI
0e0c266b03 Bot Updating Templated Files 2023-04-30 18:29:36 -05:00
LinuxServer-CI
87fb500893 Bot Updating Package Versions 2023-04-23 23:29:34 +00:00
LinuxServer-CI
d8d8b68607 Bot Updating Package Versions 2023-04-16 18:32:26 -05:00
LinuxServer-CI
6d474277a9 Bot Updating Package Versions 2023-04-09 23:37:26 +00:00
LinuxServer-CI
6299a6ae63 Bot Updating Package Versions 2023-04-03 01:32:20 +02:00
LinuxServer-CI
036171d3e9 Bot Updating Package Versions 2023-04-01 15:32:43 +00:00
LinuxServer-CI
601d5a9ad1 Bot Updating Templated Files 2023-04-01 15:27:54 +00:00
LinuxServer-CI
0d92703104 Bot Updating Templated Files 2023-04-01 17:26:11 +02:00
LinuxServer-CI
14fbbafd6c Bot Updating Templated Files 2023-04-01 10:23:48 -05:00
LinuxServer-CI
dc746ffb90 Bot Updating Package Versions 2023-03-25 15:30:12 +00:00
LinuxServer-CI
d0cd800663 Bot Updating Package Versions 2023-03-04 09:30:40 -06:00
LinuxServer-CI
f36b43416b Bot Updating Templated Files 2023-03-04 09:26:31 -06:00
LinuxServer-CI
2c9ab6d0f5 Bot Updating Package Versions 2023-02-18 15:35:57 +00:00
LinuxServer-CI
5e57906be6 Bot Updating Package Versions 2023-02-11 16:32:56 +01:00
LinuxServer-CI
729c1cbaf9 Bot Updating Templated Files 2023-02-11 16:28:32 +01:00
LinuxServer-CI
e76b0329c0 Bot Updating Templated Files 2023-02-11 15:26:49 +00:00
LinuxServer-CI
72ea1e463e Bot Updating Package Versions 2023-02-04 15:29:13 +00:00
LinuxServer-CI
b72afdf12d Bot Updating Package Versions 2023-01-28 15:31:45 +00:00
LinuxServer-CI
9036710445 Bot Updating Package Versions 2023-01-21 15:31:03 +00:00
LinuxServer-CI
d1ab35494c Bot Updating Package Versions 2022-12-31 15:32:05 +00:00
LinuxServer-CI
6f78e09438 Bot Updating Package Versions 2022-12-24 15:29:07 +00:00
LinuxServer-CI
73b937a748 Bot Updating Package Versions 2022-12-17 15:29:28 +00:00
LinuxServer-CI
aa1b25eb8d Bot Updating Package Versions 2022-12-10 15:30:53 +00:00
LinuxServer-CI
ef49c5957f Bot Updating Templated Files 2022-12-03 15:31:23 +00:00
LinuxServer-CI
afd5fa6a57 Bot Updating Templated Files 2022-12-03 16:28:42 +01:00
LinuxServer-CI
b6a7f9cdd5 Bot Updating Templated Files 2022-12-03 09:27:21 -06:00
LinuxServer-CI
bc03cc02f1 Bot Updating Package Versions 2022-11-19 15:33:59 +00:00
LinuxServer-CI
822591a591 Bot Updating Package Versions 2022-11-12 16:34:38 +01:00
LinuxServer-CI
5daeb1e520 Bot Updating Package Versions 2022-11-05 15:34:34 +00:00
LinuxServer-CI
d17917f83d Bot Updating Package Versions 2022-10-27 17:38:57 +00:00
LinuxServer-CI
bce33d8a24 Bot Updating Templated Files 2022-10-27 12:35:14 -05:00
thelamer
a1c9fe7a88 add readme notes on jammy rebase 2022-10-27 10:33:45 -07:00
LinuxServer-CI
d9c8935e5f Bot Updating Package Versions 2022-10-27 00:44:35 +02:00
TheSpad
fe575aa8b7 Rebase alpine xfce to 3.16, migrate to s6v3 2022-10-26 15:40:43 -07:00
LinuxServer-CI
474c9dc0fd Bot Updating Package Versions 2022-10-22 15:37:25 +00:00
LinuxServer-CI
72924eeb8f Bot Updating Package Versions 2022-10-15 17:35:57 +02:00
LinuxServer-CI
3ac9083b8e Bot Updating Package Versions 2022-09-24 15:36:05 +00:00
LinuxServer-CI
08d1233f23 Bot Updating Templated Files 2022-09-17 10:43:16 -05:00
LinuxServer-CI
378104de35 Bot Updating Package Versions 2022-09-10 10:50:09 -05:00
LinuxServer-CI
eb77ab42dc Bot Updating Package Versions 2022-08-27 17:42:46 +02:00
LinuxServer-CI
2e5386322e Bot Updating Package Versions 2022-08-20 15:32:23 +00:00
LinuxServer-CI
7bd17d0ded Bot Updating Package Versions 2022-08-13 15:33:01 +00:00
LinuxServer-CI
751da7467e Bot Updating Package Versions 2022-08-06 15:34:33 +00:00
LinuxServer-CI
6336173a28 Bot Updating Package Versions 2022-07-30 15:32:51 +00:00
LinuxServer-CI
6f97d84d29 Bot Updating Package Versions 2022-07-16 15:30:30 +00:00
LinuxServer-CI
86639a3f72 Bot Updating Package Versions 2022-07-09 15:31:39 +00:00
LinuxServer-CI
5d51c520b0 Bot Updating Package Versions 2022-07-02 15:31:42 +00:00
LinuxServer-CI
f19ba55394 Bot Updating Package Versions 2022-06-18 15:32:26 +00:00
LinuxServer-CI
fee6004737 Bot Updating Package Versions 2022-06-04 15:31:04 +00:00
LinuxServer-CI
5d303eb705 Bot Updating Package Versions 2022-05-28 15:34:01 +00:00
LinuxServer-CI
a552fd1ed1 Bot Updating Package Versions 2022-05-21 15:33:41 +00:00
LinuxServer-CI
03411f9a41 Bot Updating Package Versions 2022-05-14 15:33:33 +00:00
LinuxServer-CI
931a87ef70 Bot Updating Package Versions 2022-05-07 10:42:27 -05:00
LinuxServer-CI
d8dad8a6b4 Bot Updating Templated Files 2022-05-07 15:32:04 +00:00
LinuxServer-CI
ec0c71c28f Bot Updating Package Versions 2022-04-30 17:40:40 +02:00
LinuxServer-CI
23453014e3 Bot Updating Templated Files 2022-04-30 17:32:19 +02:00
LinuxServer-CI
c8deb93265 Bot Updating Templated Files 2022-04-30 17:30:01 +02:00
LinuxServer-CI
7bb56aea46 Bot Updating Package Versions 2022-04-23 10:31:20 -05:00
LinuxServer-CI
6452d63084 Bot Updating Package Versions 2022-04-16 15:32:06 +00:00
LinuxServer-CI
4b3e9d5a2f Bot Updating Package Versions 2022-04-09 15:33:00 +00:00
LinuxServer-CI
703b50c6fa Bot Updating Package Versions 2022-04-02 15:32:55 +00:00
LinuxServer-CI
acda588cbf Bot Updating Package Versions 2022-03-26 16:31:03 +01:00
LinuxServer-CI
50a2e9f72e Bot Updating Package Versions 2022-03-19 10:29:05 -05:00
LinuxServer-CI
7f3f0bde0e Bot Updating Package Versions 2022-03-12 15:29:24 +00:00
LinuxServer-CI
60e0045571 Bot Updating Package Versions 2022-03-07 01:57:09 +01:00
aptalca
abc453b93c
Merge pull request #40 from linuxserver/retag
Gpu accel docs, introduce new flavors, and tag reorg
2022-03-06 19:53:06 -05:00
thelamer
49b25b67bd add docs on gpu accel, reorg tags, make latest alpine, make ubuntu a rolling release at the latest LTS 2022-03-06 15:16:39 -08:00
LinuxServer-CI
744734920b Bot Updating Package Versions 2022-03-05 15:24:17 +00:00
LinuxServer-CI
1808236203 Bot Updating Package Versions 2022-02-26 16:23:36 +01:00
LinuxServer-CI
bc73b00dea Bot Updating Package Versions 2022-02-19 16:24:18 +01:00
LinuxServer-CI
ecac59a4ab Bot Updating Package Versions 2022-01-29 16:21:55 +01:00
LinuxServer-CI
46887f5210 Bot Updating Package Versions 2022-01-15 16:24:30 +01:00
LinuxServer-CI
b7f0109f59 Bot Updating Package Versions 2022-01-08 16:24:20 +01:00
LinuxServer-CI
6607f7da78 Bot Updating Package Versions 2021-12-25 16:24:05 +01:00
LinuxServer-CI
c5ffc9fcca Bot Updating Package Versions 2021-12-18 15:30:59 +00:00
LinuxServer-CI
1e2896952b Bot Updating Templated Files 2021-12-18 16:24:27 +01:00
LinuxServer-CI
4ffb643608 Bot Updating Templated Files 2021-12-18 16:22:22 +01:00
LinuxServer-CI
d64bf6fbc2 Bot Updating Package Versions 2021-12-11 16:24:27 +01:00
LinuxServer-CI
59bf34e654 Bot Updating Package Versions 2021-12-04 16:24:20 +01:00
LinuxServer-CI
fe13c12fb1 Bot Updating Package Versions 2021-11-27 16:24:37 +01:00
LinuxServer-CI
4081df42eb Bot Updating Package Versions 2021-11-20 16:23:28 +01:00
LinuxServer-CI
bcfe5aecb7 Bot Updating Package Versions 2021-11-13 16:24:17 +01:00
LinuxServer-CI
7c974b8d70 Bot Updating Package Versions 2021-11-06 16:24:39 +01:00
LinuxServer-CI
1d61d9d4df Bot Updating Package Versions 2021-10-30 17:23:29 +02:00
LinuxServer-CI
47d186ce51 Bot Updating Package Versions 2021-10-23 17:23:19 +02:00
LinuxServer-CI
697fb2e73f Bot Updating Package Versions 2021-10-16 17:22:34 +02:00
LinuxServer-CI
5fadac1621 Bot Updating Package Versions 2021-10-09 17:22:52 +02:00
LinuxServer-CI
fdd6e8a35a Bot Updating Package Versions 2021-10-02 17:29:19 +02:00
LinuxServer-CI
d173c65131 Bot Updating Templated Files 2021-10-02 17:23:29 +02:00
LinuxServer-CI
2bb07d3593 Bot Updating Templated Files 2021-10-02 17:21:24 +02:00
LinuxServer-CI
3c05c15afd Bot Updating Package Versions 2021-09-25 17:23:07 +02:00
LinuxServer-CI
a59c12681e Bot Updating Package Versions 2021-09-18 17:22:49 +02:00
LinuxServer-CI
057f9c12e0 Bot Updating Package Versions 2021-09-11 17:23:04 +02:00
LinuxServer-CI
c7ddfd082f Bot Updating Package Versions 2021-09-04 17:22:39 +02:00
LinuxServer-CI
9623bf14ff Bot Updating Package Versions 2021-08-28 17:28:28 +02:00
LinuxServer-CI
e8fa603135 Bot Updating Templated Files 2021-08-28 17:21:44 +02:00
LinuxServer-CI
401dba1f34 Bot Updating Package Versions 2021-08-21 17:25:31 +02:00
LinuxServer-CI
195d1061c2 Bot Updating Package Versions 2021-08-14 17:27:24 +02:00
LinuxServer-CI
1cdfd742a6 Bot Updating Package Versions 2021-08-07 17:25:45 +02:00
LinuxServer-CI
edf9293e50 Bot Updating Package Versions 2021-07-31 17:27:53 +02:00
LinuxServer-CI
ba2ff9e194 Bot Updating Package Versions 2021-07-24 17:28:36 +02:00
LinuxServer-CI
f658e8e24e Bot Updating Package Versions 2021-07-17 15:32:04 +00:00
LinuxServer-CI
0d3d00448f Bot Updating Package Versions 2021-07-10 15:33:06 +00:00
LinuxServer-CI
40072a8884 Bot Updating Package Versions 2021-07-03 15:37:36 +00:00
LinuxServer-CI
3c3fad3e5b Bot Updating Templated Files 2021-07-03 15:26:12 +00:00
LinuxServer-CI
10cb92a139 Bot Updating Templated Files 2021-07-03 15:23:41 +00:00
LinuxServer-CI
f7ca5cf077 Bot Updating Package Versions 2021-06-26 15:33:11 +00:00
LinuxServer-CI
3e969c582c Bot Updating Package Versions 2021-06-19 15:31:30 +00:00
LinuxServer-CI
a35e5de242 Bot Updating Package Versions 2021-06-12 15:38:08 +00:00
LinuxServer-CI
a61ca6e28c Bot Updating Package Versions 2021-06-05 15:48:28 +00:00
LinuxServer-CI
58c6faf933 Bot Updating Package Versions 2021-05-29 16:52:28 +01:00
LinuxServer-CI
333dcc2dc1 Bot Updating Package Versions 2021-05-22 11:34:08 -04:00
LinuxServer-CI
705a33040f Bot Updating Package Versions 2021-05-15 15:36:24 +00:00
LinuxServer-CI
ced4bbce3c Bot Updating Package Versions 2021-05-07 23:49:26 +01:00
thelamer
b71ab1d69e modify the base packages to line up with flavor defaults 2021-05-07 15:41:04 -07:00
LinuxServer-CI
6c797491dc Bot Updating Package Versions 2021-05-01 15:37:36 +00:00
LinuxServer-CI
f85b8ddc20 Bot Updating Package Versions 2021-04-24 15:37:35 +00:00
LinuxServer-CI
1feacaf68f Bot Updating Package Versions 2021-04-17 11:39:13 -04:00
LinuxServer-CI
c05a16eaa8 Bot Updating Templated Files 2021-04-17 11:29:17 -04:00
LinuxServer-CI
8bbffe282d Bot Updating Templated Files 2021-04-17 16:27:57 +01:00
LinuxServer-CI
507bcc5efb Bot Updating Package Versions 2021-04-10 15:36:31 +00:00
thelamer
d9fc4735e7 advertise alpine tag 2021-04-05 11:45:06 -07:00
LinuxServer-CI
9702c08091 Bot Updating Package Versions 2021-04-03 11:37:01 -04:00
LinuxServer-CI
dcd750cbb4 Bot Updating Package Versions 2021-03-27 15:34:35 +00:00
LinuxServer-CI
c9588682a0 Bot Updating Package Versions 2021-03-20 11:39:10 -04:00
LinuxServer-CI
ab483224f0 Bot Updating Package Versions 2021-03-13 15:28:05 +00:00
LinuxServer-CI
1566dc62ec Bot Updating Package Versions 2021-03-06 10:32:27 -05:00
LinuxServer-CI
a9e90fa021 Bot Updating Package Versions 2021-02-27 15:32:39 +00:00
LinuxServer-CI
cdbb1446a1 Bot Updating Package Versions 2021-02-20 10:31:45 -05:00
LinuxServer-CI
8abaac8508 Bot Updating Package Versions 2021-02-13 15:33:36 +00:00
LinuxServer-CI
87f66a7f89 Bot Updating Templated Files 2021-02-13 10:23:09 -05:00
LinuxServer-CI
9e445e75db Bot Updating Templated Files 2021-02-13 15:21:52 +00:00
LinuxServer-CI
689648f2ef Bot Updating Package Versions 2021-02-06 15:31:21 +00:00
LinuxServer-CI
a99037dd7e Bot Updating Package Versions 2021-01-30 15:34:13 +00:00
LinuxServer-CI
1bf3eb44d7 Bot Updating Package Versions 2021-01-23 10:45:33 -05:00
LinuxServer-CI
a4e9516254 Bot Updating Package Versions 2021-01-16 15:49:06 +00:00
LinuxServer-CI
b31e900239 Bot Updating Package Versions 2021-01-15 06:40:17 +00:00
LinuxServer-CI
9084bb92c8 Bot Updating Templated Files 2021-01-15 06:32:10 +00:00
LinuxServer-CI
ad7c533277 Bot Updating Package Versions 2021-01-08 06:26:37 +00:00
aptalca
22dc0588e0
Merge pull request #15 from linuxserver/master-qemu
build on native
2020-12-26 09:43:35 -05:00
LinuxServer-CI
113bbc7e5c Bot Updating Package Versions 2020-12-25 06:21:08 +00:00
aptalca
373938e37e build on native 2020-12-20 16:25:47 -05:00
LinuxServer-CI
0ef194863e Bot Updating Package Versions 2020-12-16 21:27:47 +00:00
LinuxServer-CI
583abab091 Bot Updating Templated Files 2020-12-16 16:19:38 -05:00
LinuxServer-CI
5b18738d36 Bot Updating Templated Files 2020-12-16 16:18:27 -05:00
LinuxServer-CI
6dfa2bf547 Bot Updating Package Versions 2020-12-11 16:26:34 +00:00
LinuxServer-CI
ab1964121a Bot Updating Package Versions 2020-12-04 16:26:42 +00:00
LinuxServer-CI
2b9adc639a Bot Updating Package Versions 2020-11-27 16:25:32 +00:00
LinuxServer-CI
f99d9b1d69 Bot Updating Package Versions 2020-11-20 16:25:48 +00:00
LinuxServer-CI
c1d0989e63 Bot Updating Package Versions 2020-11-13 16:27:12 +00:00
LinuxServer-CI
a58532db06 Bot Updating Package Versions 2020-11-06 16:24:31 +00:00
LinuxServer-CI
48bd1557f0 Bot Updating Package Versions 2020-11-02 15:51:54 +00:00
LinuxServer-CI
b7e2bfab68 Bot Updating Templated Files 2020-11-02 10:28:41 -05:00
thelamer
d49014bb2d update baseimages 2020-11-02 07:20:50 -08:00
LinuxServer-CI
267e69545c Bot Updating Package Versions 2020-10-30 16:24:35 +00:00
LinuxServer-CI
1e9aa6b947 Bot Updating Package Versions 2020-10-23 15:26:07 +00:00
LinuxServer-CI
52b06cddfd Bot Updating Package Versions 2020-10-16 11:25:10 -04:00
LinuxServer-CI
f17acb1692 Bot Updating Package Versions 2020-10-09 11:27:56 -04:00
LinuxServer-CI
1862603f7b Bot Updating Templated Files 2020-10-09 11:19:00 -04:00
LinuxServer-CI
26a252176e Bot Updating Templated Files 2020-10-09 11:17:52 -04:00
LinuxServer-CI
659831f93c Bot Updating Package Versions 2020-10-02 11:37:22 -04:00
LinuxServer-CI
4137829668 Bot Updating Package Versions 2020-09-25 11:25:34 -04:00
LinuxServer-CI
abb76f8e04 Bot Updating Package Versions 2020-09-18 11:25:20 -04:00
LinuxServer-CI
1001173d41 Bot Updating Package Versions 2020-09-04 11:25:28 -04:00
LinuxServer-CI
62169b85a8 Bot Updating Package Versions 2020-08-28 12:32:04 -04:00
LinuxServer-CI
58b817eaaa Bot Updating Package Versions 2020-08-21 15:39:31 +00:00
LinuxServer-CI
67ef3e4455 Bot Updating Templated Files 2020-08-21 11:17:53 -04:00
LinuxServer-CI
5111c9cc6d Bot Updating Package Versions 2020-08-14 11:26:02 -04:00
LinuxServer-CI
9ad76502a3 Bot Updating Package Versions 2020-08-07 17:28:20 +02:00
LinuxServer-CI
283642a73a Bot Updating Templated Files 2020-08-07 15:19:21 +00:00
LinuxServer-CI
6f42ce83a0 Bot Updating Templated Files 2020-08-07 15:18:02 +00:00
LinuxServer-CI
58a7f844a5 Bot Updating Package Versions 2020-07-24 11:25:59 -04:00
LinuxServer-CI
09d64249fd Bot Updating Package Versions 2020-07-17 11:26:03 -04:00
LinuxServer-CI
7ce4c34ef0 Bot Updating Package Versions 2020-07-10 15:25:51 +00:00
LinuxServer-CI
5831ec986b Bot Updating Package Versions 2020-07-03 11:25:58 -04:00
LinuxServer-CI
e0be286347 Bot Updating Package Versions 2020-06-19 11:26:33 -04:00
LinuxServer-CI
9c624e5f3b Bot Updating Package Versions 2020-06-12 11:24:09 -04:00
LinuxServer-CI
fc6b1bc386 Bot Updating Package Versions 2020-06-05 15:25:16 +00:00
LinuxServer-CI
4e0d72a9c1 Bot Updating Templated Files 2020-06-05 11:17:50 -04:00
LinuxServer-CI
06779a9bb1 Bot Updating Templated Files 2020-05-29 11:17:46 -04:00
LinuxServer-CI
58d5959564 Bot Updating Package Versions 2020-05-22 15:24:03 +00:00
LinuxServer-CI
9ce08cea01 Bot Updating Package Versions 2020-05-15 15:27:30 +00:00
LinuxServer-CI
33f6db5235 Bot Updating Package Versions 2020-05-08 15:23:30 +00:00
LinuxServer-CI
8e9f2297f0 Bot Updating Package Versions 2020-05-01 17:26:48 +02:00
LinuxServer-CI
27cf710bfa Bot Updating Templated Files 2020-05-01 15:18:04 +00:00
LinuxServer-CI
764bdec468 Bot Updating Package Versions 2020-04-24 11:31:01 -04:00
LinuxServer-CI
80261ab771 Bot Updating Package Versions 2020-04-17 15:24:45 +00:00
LinuxServer-CI
4ef9bfd01d Bot Updating Package Versions 2020-04-10 15:27:03 +00:00
LinuxServer-CI
c75947319e Bot Updating Templated Files 2020-04-10 11:17:47 -04:00
LinuxServer-CI
ef8c9d4d69 Bot Updating Package Versions 2020-04-06 20:59:06 +00:00
thelamer
6b41767b76 start pulseaudio when user logs in and add pavucontrol 2020-04-06 13:45:44 -07:00
LinuxServer-CI
c0fb6ab5d5 Bot Updating Package Versions 2020-04-03 17:25:27 +02:00
LinuxServer-CI
c4cc7621ea Bot Updating Package Versions 2020-03-27 12:27:12 -04:00
LinuxServer-CI
f5024df161 Bot Updating Package Versions 2020-03-20 12:26:49 -04:00
LinuxServer-CI
b18edd10af Bot Updating Templated Files 2020-03-20 17:17:51 +01:00
LinuxServer-CI
e60b52185e Bot Updating Package Versions 2020-03-17 22:55:47 +01:00
thelamer
4822ba2b9d updating docs to reflect current state and adding needed vars 2020-03-17 14:46:46 -07:00
27 changed files with 1257 additions and 1700 deletions

20
.editorconfig Normal file
View File

@ -0,0 +1,20 @@
# This file is globally distributed to all container image projects from
# https://github.com/linuxserver/docker-jenkins-builder/blob/master/.editorconfig
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
# trim_trailing_whitespace may cause unintended issues and should not be globally set true
trim_trailing_whitespace = false
[{Dockerfile*,**.yml}]
indent_style = space
indent_size = 2
[{**.sh,root/etc/s6-overlay/s6-rc.d/**,root/etc/cont-init.d/**,root/etc/services.d/**}]
indent_style = space
indent_size = 4

123
.github/CONTRIBUTING.md vendored Normal file
View File

@ -0,0 +1,123 @@
# Contributing to rdesktop
## Gotchas
* While contributing make sure to make all your changes before creating a Pull Request, as our pipeline builds each commit after the PR is open.
* Read, and fill the Pull Request template
* If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR
* If the PR is addressing an existing issue include, closes #\<issue number>, in the body of the PR commit message
* If you want to discuss changes, you can also bring it up in [#dev-talk](https://discordapp.com/channels/354974912613449730/757585807061155840) in our [Discord server](https://linuxserver.io/discord)
## Common files
| File | Use case |
| :----: | --- |
| `Dockerfile` | Dockerfile used to build amd64 images |
| `Dockerfile.aarch64` | Dockerfile used to build 64bit ARM architectures |
| `Dockerfile.armhf` | Dockerfile used to build 32bit ARM architectures |
| `Jenkinsfile` | This file is a product of our builder and should not be edited directly. This is used to build the image |
| `jenkins-vars.yml` | This file is used to generate the `Jenkinsfile` mentioned above, it only affects the build-process |
| `package_versions.txt` | This file is generated as a part of the build-process and should not be edited directly. It lists all the installed packages and their versions |
| `README.md` | This file is a product of our builder and should not be edited directly. This displays the readme for the repository and image registries |
| `readme-vars.yml` | This file is used to generate the `README.md` |
## 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-rdesktop/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)
### Fixing typos or clarify the text in the readme
There are variables for multiple parts of the readme, the most common ones are:
| Variable | Description |
| :----: | --- |
| `project_blurb` | This is the short excerpt shown above the project logo. |
| `app_setup_block` | This is the text that shows up under "Application Setup" if enabled |
### Parameters
The compose and run examples are also generated from these variables.
We have a [reference file](https://github.com/linuxserver/docker-jenkins-builder/blob/master/vars/_container-vars-blank) in our Jenkins Builder.
These are prefixed with `param_` for required parameters, or `opt_param` for optional parameters, except for `cap_add`.
Remember to enable param, if currently disabled. This differs between parameters, and can be seen in the reference file.
Devices, environment variables, ports and volumes expects its variables in a certain way.
### Devices
```yml
param_devices:
- { device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "For hardware transcoding" }
opt_param_devices:
- { device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "For hardware transcoding" }
```
### Environment variables
```yml
param_env_vars:
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London." }
opt_param_env_vars:
- { env_var: "VERSION", env_value: "latest", desc: "Supported values are LATEST, PLEXPASS or a specific version number." }
```
### Ports
```yml
param_ports:
- { external_port: "80", internal_port: "80", port_desc: "Application WebUI" }
opt_param_ports:
- { external_port: "80", internal_port: "80", port_desc: "Application WebUI" }
```
### Volumes
```yml
param_volumes:
- { vol_path: "/config", vol_host_path: "</path/to/appdata/config>", desc: "Configuration files." }
opt_param_volumes:
- { vol_path: "/config", vol_host_path: "</path/to/appdata/config>", desc: "Configuration files." }
```
### Testing template changes
After you make any changes to the templates, you can use our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) to have the files updated from the modified templates. Please use the command found under `Running Locally` [on this page](https://github.com/linuxserver/docker-jenkins-builder/blob/master/README.md) to generate them prior to submitting a PR.
## Dockerfiles
We use multiple Dockerfiles in our repos, this is because sometimes some CPU architectures needs different packages to work.
If you are proposing additional packages to be added, ensure that you added the packages to all the Dockerfiles in alphabetical order.
### Testing your changes
```bash
git clone https://github.com/linuxserver/docker-rdesktop.git
cd docker-rdesktop
docker build \
--no-cache \
--pull \
-t linuxserver/rdesktop:latest .
```
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`
```bash
docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
```
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-rdesktop/tree/master/root), add an entry to the changelog
```yml
changelogs:
- { date: "DD.MM.YY:", desc: "Added some love to templates" }
```

1
.github/FUNDING.yml vendored
View File

@ -1 +1,2 @@
github: linuxserver
open_collective: linuxserver open_collective: linuxserver

View File

@ -1,34 +0,0 @@
[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 issue 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:**
<!--- 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 rdesktop" -->

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

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

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

@ -0,0 +1,16 @@
# Based on the issue template
name: Bug report
description: Create a report to help us improve
title: "[BUG] <title>"
labels: [Bug]
body:
- type: markdown
attributes:
value: |
# DEPRECATION NOTICE
This image is deprecated. We will not offer support for this image and it will not be updated.
Please migrate to an Ubuntu-based tag. For more info, see
https://info.linuxserver.io/issues/2025-08-23-rdesktop/

View File

@ -0,0 +1,16 @@
# Based on the issue template
name: Feature request
description: Suggest an idea for this project
title: "[FEAT] <title>"
labels: [enhancement]
body:
- type: markdown
attributes:
value: |
# DEPRECATION NOTICE
This image is deprecated. We will not offer support for this image and it will not be updated.
Please migrate to an Ubuntu-based tag. For more info, see
https://info.linuxserver.io/issues/2025-08-23-rdesktop/

View File

@ -1,12 +1,19 @@
# DEPRECATION NOTICE
This image is deprecated. We will not offer support for this image and it will not be updated.
Please migrate to an Ubuntu-based tag. For more info, see
https://info.linuxserver.io/issues/2025-08-23-rdesktop/
<!--- Provide a general summary of your changes in the Title above --> <!--- Provide a general summary of your changes in the Title above -->
[linuxserverurl]: https://linuxserver.io [linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl] [![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
<!--- Before submitting a pull request please check the following --> <!--- Before submitting a pull request please check the following -->
<!--- If this is a fix for a typo in code or documentation in the README please file an issue and let us sort it out we do not need a PR --> <!--- If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR -->
<!--- 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/ --> <!--- 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/ -->
<!--- That if the PR is addressing an existing issue include, closes #<issue number> , in the body of the PR commit message --> <!--- That if the PR is addressing an existing issue include, closes #<issue number> , in the body of the PR commit message -->
<!--- You have included links to any files / patches etc your PR may be using in the body of the PR commit message --> <!--- You have included links to any files / patches etc your PR may be using in the body of the PR commit message -->
@ -21,7 +28,11 @@
------------------------------ ------------------------------
We welcome all PRs though this doesnt guarantee it will be accepted. - [ ] I have read the [contributing](https://github.com/linuxserver/docker-rdesktop/blob/master/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
------------------------------
<!--- We welcome all PRs though this doesnt guarantee it will be accepted. -->
## Description: ## Description:
<!--- Describe your changes in detail --> <!--- Describe your changes in detail -->

19
.github/workflows/greetings.yml vendored Normal file
View File

@ -0,0 +1,19 @@
name: Greetings
on: [pull_request_target, issues]
permissions:
contents: read
jobs:
greeting:
permissions:
issues: write
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/first-interaction@v1
with:
issue-message: 'Thanks for opening your first issue here! Be sure to follow the 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-rdesktop/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }}

12
.github/workflows/permissions.yml vendored Normal file
View File

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

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.jenkins-external

View File

@ -1,28 +1,40 @@
FROM lsiobase/rdesktop:focal FROM ghcr.io/linuxserver/baseimage-rdesktop:alpine320
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
ARG VERSION ARG VERSION
ARG XFCE_VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="thelamer" LABEL maintainer="thelamer"
RUN \ RUN \
echo "**** install packages ****" && \ echo "**** install packages ****" && \
apt-get update && \ apk add --no-cache \
DEBIAN_FRONTEND=noninteractive \ faenza-icon-theme \
apt-get install --no-install-recommends -y \ faenza-icon-theme-xfce4-appfinder \
firefox \ faenza-icon-theme-xfce4-panel \
terminator \ firefox \
xfce4 \ mousepad \
xfce4-goodies \ ristretto \
xubuntu-default-settings \ thunar \
xubuntu-icon-theme && \ util-linux-misc \
echo "**** cleanup ****" && \ xfce4 \
apt-get autoclean && \ xfce4-pulseaudio-plugin \
rm -rf \ xfce4-terminal && \
/var/lib/apt/lists/* \ printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
/var/tmp/* \ echo "**** cleanup ****" && \
/tmp/* rm -f \
/etc/xdg/autostart/xfce4-power-manager.desktop \
/etc/xdg/autostart/xscreensaver.desktop \
/usr/share/xfce4/panel/plugins/power-manager-plugin.desktop && \
rm -rf \
/tmp/*
# add local files # add local files
COPY /root / COPY /root /
# ports and volumes
EXPOSE 3389
VOLUME /config

View File

@ -1,28 +1,40 @@
FROM lsiobase/rdesktop:arm64v8-focal FROM ghcr.io/linuxserver/baseimage-rdesktop:arm64v8-alpine320
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
ARG VERSION ARG VERSION
ARG XFCE_VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="thelamer" LABEL maintainer="thelamer"
RUN \ RUN \
echo "**** install packages ****" && \ echo "**** install packages ****" && \
apt-get update && \ apk add --no-cache \
DEBIAN_FRONTEND=noninteractive \ faenza-icon-theme \
apt-get install --no-install-recommends -y \ faenza-icon-theme-xfce4-appfinder \
firefox \ faenza-icon-theme-xfce4-panel \
terminator \ firefox \
xfce4 \ mousepad \
xfce4-goodies \ ristretto \
xubuntu-default-settings \ thunar \
xubuntu-icon-theme && \ util-linux-misc \
echo "**** cleanup ****" && \ xfce4 \
apt-get autoclean && \ xfce4-pulseaudio-plugin \
rm -rf \ xfce4-terminal && \
/var/lib/apt/lists/* \ printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
/var/tmp/* \ echo "**** cleanup ****" && \
/tmp/* rm -f \
/etc/xdg/autostart/xfce4-power-manager.desktop \
/etc/xdg/autostart/xscreensaver.desktop \
/usr/share/xfce4/panel/plugins/power-manager-plugin.desktop && \
rm -rf \
/tmp/*
# add local files # add local files
COPY /root / COPY /root /
# ports and volumes
EXPOSE 3389
VOLUME /config

View File

@ -1,28 +0,0 @@
FROM lsiobase/rdesktop:arm32v7-focal
# set version label
ARG BUILD_DATE
ARG VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="thelamer"
RUN \
echo "**** install packages ****" && \
apt-get update && \
DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends -y \
firefox \
terminator \
xfce4 \
xfce4-goodies \
xubuntu-default-settings \
xubuntu-icon-theme && \
echo "**** cleanup ****" && \
apt-get autoclean && \
rm -rf \
/var/lib/apt/lists/* \
/var/tmp/* \
/tmp/*
# add local files
COPY /root /

747
Jenkinsfile vendored
View File

@ -1,747 +0,0 @@
pipeline {
agent {
label 'X86-64-MULTI'
}
options {
buildDiscarder(logRotator(numToKeepStr: '10', daysToKeepStr: '60'))
parallelsAlwaysFailFast()
}
// Input to determine if this is a package check
parameters {
string(defaultValue: 'false', description: 'package check run', name: 'PACKAGE_CHECK')
}
// Configuration for the variables used for this specific repo
environment {
BUILDS_DISCORD=credentials('build_webhook_url')
GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab')
GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0')
GITLAB_NAMESPACE=credentials('gitlab-namespace-id')
BUILD_VERSION_ARG = 'OS_VERSION'
LS_USER = 'linuxserver'
LS_REPO = 'docker-rdesktop'
CONTAINER_NAME = 'rdesktop'
DOCKERHUB_IMAGE = 'linuxserver/rdesktop'
DEV_DOCKERHUB_IMAGE = 'lsiodev/rdesktop'
PR_DOCKERHUB_IMAGE = 'lspipepr/rdesktop'
DIST_IMAGE = 'ubuntu'
MULTIARCH='true'
CI='true'
CI_WEB='false'
CI_PORT='3389'
CI_SSL='false'
CI_DELAY='30'
CI_DOCKERENV='TZ=US/Pacific'
CI_AUTH='user:password'
CI_WEBPATH=''
}
stages {
// Setup all the basic environment variables needed for the build
stage("Set ENV Variables base"){
steps{
script{
env.EXIT_STATUS = ''
env.LS_RELEASE = sh(
script: '''docker run --rm alexeiled/skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':latest 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
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' ''',
returnStdout: true).trim()
env.GITHUB_DATE = sh(
script: '''date '+%Y-%m-%dT%H:%M:%S%:z' ''',
returnStdout: true).trim()
env.COMMIT_SHA = sh(
script: '''git rev-parse HEAD''',
returnStdout: true).trim()
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
env.PULL_REQUEST = env.CHANGE_ID
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE.md ./.github/PULL_REQUEST_TEMPLATE.md'
}
script{
env.LS_RELEASE_NUMBER = sh(
script: '''echo ${LS_RELEASE} |sed 's/^.*-ls//g' ''',
returnStdout: true).trim()
}
script{
env.LS_TAG_NUMBER = sh(
script: '''#! /bin/bash
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
echo ${LS_RELEASE_NUMBER}
else
echo $((${LS_RELEASE_NUMBER} + 1))
fi''',
returnStdout: true).trim()
}
}
}
/* #######################
Package Version Tagging
####################### */
// Grab the current package versions in Git to determine package tag
stage("Set Package tag"){
steps{
script{
env.PACKAGE_TAG = sh(
script: '''#!/bin/bash
if [ -e package_versions.txt ] ; then
cat package_versions.txt | md5sum | cut -c1-8
else
echo none
fi''',
returnStdout: true).trim()
}
}
}
/* ########################
External Release Tagging
######################## */
// If this is an os release set release type to none to indicate no external release
stage("Set ENV os"){
steps{
script{
env.EXT_RELEASE = env.PACKAGE_TAG
env.RELEASE_LINK = 'none'
}
}
}
// Sanitize the release tag and strip illegal docker or github characters
stage("Sanitize tag"){
steps{
script{
env.EXT_RELEASE_CLEAN = sh(
script: '''echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g' ''',
returnStdout: true).trim()
}
}
}
// If this is a master build use live docker endpoints
stage("Set ENV live build"){
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
}
steps {
script{
env.IMAGE = env.DOCKERHUB_IMAGE
env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/' + env.CONTAINER_NAME
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
}
env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
}
}
}
// If this is a dev build use dev docker endpoints
stage("Set ENV dev build"){
when {
not {branch "master"}
environment name: 'CHANGE_ID', value: ''
}
steps {
script{
env.IMAGE = env.DEV_DOCKERHUB_IMAGE
env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
}
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
}
}
}
// If this is a pull request build use dev docker endpoints
stage("Set ENV PR build"){
when {
not {environment name: 'CHANGE_ID', value: ''}
}
steps {
script{
env.IMAGE = env.PR_DOCKERHUB_IMAGE
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
}
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.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/'
}
}
}
// Run ShellCheck
stage('ShellCheck') {
when {
environment name: 'CI', value: 'true'
}
steps {
withCredentials([
string(credentialsId: 'spaces-key', variable: 'DO_KEY'),
string(credentialsId: 'spaces-secret', variable: 'DO_SECRET')
]) {
script{
env.SHELLCHECK_URL = 'https://lsio-ci.ams3.digitaloceanspaces.com/' + env.IMAGE + '/' + env.META_TAG + '/shellcheck-result.xml'
}
sh '''curl -sL https://raw.githubusercontent.com/linuxserver/docker-shellcheck/master/checkrun.sh | /bin/bash'''
sh '''#! /bin/bash
set -e
docker pull lsiodev/spaces-file-upload:latest
docker run --rm \
-e DESTINATION=\"${IMAGE}/${META_TAG}/shellcheck-result.xml\" \
-e FILE_NAME="shellcheck-result.xml" \
-e MIMETYPE="text/xml" \
-v ${WORKSPACE}:/mnt \
-e SECRET_KEY=\"${DO_SECRET}\" \
-e ACCESS_KEY=\"${DO_KEY}\" \
-t lsiodev/spaces-file-upload:latest \
python /upload.py'''
}
}
}
// Use helper containers to render templated files
stage('Update-Templates') {
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
expression {
env.CONTAINER_NAME != null
}
}
steps {
sh '''#! /bin/bash
set -e
TEMPDIR=$(mktemp -d)
docker pull linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]]; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f master
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/
cd ${TEMPDIR}/repo/${LS_REPO}/
git add ${TEMPLATED_FILES}
git commit -m 'Bot Updating Templated Files'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
else
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
fi
mkdir -p ${TEMPDIR}/gitbook
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation
if [[ "${BRANCH_NAME}" == "master" ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
cd ${TEMPDIR}/gitbook/docker-documentation/
git add images/docker-${CONTAINER_NAME}.md
git commit -m 'Bot Updating Documentation'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all
fi
rm -Rf ${TEMPDIR}'''
script{
env.FILES_UPDATED = sh(
script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''',
returnStdout: true).trim()
}
}
}
// Exit the build if the Templated files were just updated
stage('Template-exit') {
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'FILES_UPDATED', value: 'true'
expression {
env.CONTAINER_NAME != null
}
}
steps {
script{
env.EXIT_STATUS = 'ABORTED'
}
}
}
/* #######################
GitLab Mirroring
####################### */
// Ping into Gitlab to mirror this repo and have a registry endpoint
stage("GitLab Mirror"){
when {
environment name: 'EXIT_STATUS', value: ''
}
steps{
sh '''curl -H "Content-Type: application/json" -H "Private-Token: ${GITLAB_TOKEN}" -X POST https://gitlab.com/api/v4/projects \
-d '{"namespace_id":'${GITLAB_NAMESPACE}',\
"name":"'${LS_REPO}'",
"mirror":true,\
"import_url":"https://github.com/linuxserver/'${LS_REPO}'.git",\
"issues_access_level":"disabled",\
"merge_requests_access_level":"disabled",\
"repository_access_level":"enabled",\
"visibility":"public"}' '''
}
}
/* ###############
Build Container
############### */
// Build Docker container for push to LS Repo
stage('Build-Single') {
when {
environment name: 'MULTIARCH', value: 'false'
environment name: 'EXIT_STATUS', value: ''
}
steps {
sh "docker build --no-cache --pull -t ${IMAGE}:${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
}
}
// Build MultiArch Docker containers for push to LS Repo
stage('Build-Multi') {
when {
environment name: 'MULTIARCH', value: 'true'
environment name: 'EXIT_STATUS', value: ''
}
parallel {
stage('Build X86') {
steps {
sh "docker build --no-cache --pull -t ${IMAGE}:amd64-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
}
}
stage('Build ARMHF') {
agent {
label 'ARMHF'
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
echo 'Logging into DockerHub'
sh '''#! /bin/bash
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
'''
sh "docker build --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
sh "docker push lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
sh '''docker rmi \
${IMAGE}:arm32v7-${META_TAG} \
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
}
}
}
stage('Build ARM64') {
agent {
label 'ARM64'
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
echo 'Logging into DockerHub'
sh '''#! /bin/bash
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
'''
sh "docker build --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
sh "docker push lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
sh '''docker rmi \
${IMAGE}:arm64v8-${META_TAG} \
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
}
}
}
}
}
// Take the image we just built and dump package versions for comparison
stage('Update-packages') {
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
steps {
sh '''#! /bin/bash
set -e
TEMPDIR=$(mktemp -d)
if [ "${MULTIARCH}" == "true" ]; then
LOCAL_CONTAINER=${IMAGE}:amd64-${META_TAG}
else
LOCAL_CONTAINER=${IMAGE}:${META_TAG}
fi
if [ "${DIST_IMAGE}" == "alpine" ]; then
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
apk info -v > /tmp/package_versions.txt && \
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
chmod 777 /tmp/package_versions.txt'
elif [ "${DIST_IMAGE}" == "ubuntu" ]; then
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
apt list -qq --installed | sed "s#/.*now ##g" | cut -d" " -f1 > /tmp/package_versions.txt && \
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
chmod 777 /tmp/package_versions.txt'
fi
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f master
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 push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}
echo "Package tag updated, stopping build process"
else
echo "false" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}
echo "Package tag is same as previous continue with build process"
fi
rm -Rf ${TEMPDIR}'''
script{
env.PACKAGE_UPDATED = sh(
script: '''cat /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}''',
returnStdout: true).trim()
}
}
}
// Exit the build if the package file was just updated
stage('PACKAGE-exit') {
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'true'
environment name: 'EXIT_STATUS', value: ''
}
steps {
script{
env.EXIT_STATUS = 'ABORTED'
}
}
}
// Exit the build if this is just a package check and there are no changes to push
stage('PACKAGECHECK-exit') {
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'false'
environment name: 'EXIT_STATUS', value: ''
expression {
params.PACKAGE_CHECK == 'true'
}
}
steps {
script{
env.EXIT_STATUS = 'ABORTED'
}
}
}
/* #######
Testing
####### */
// Run Container tests
stage('Test') {
when {
environment name: 'CI', value: 'true'
environment name: 'EXIT_STATUS', value: ''
}
steps {
withCredentials([
string(credentialsId: 'spaces-key', variable: 'DO_KEY'),
string(credentialsId: 'spaces-secret', variable: 'DO_SECRET')
]) {
script{
env.CI_URL = 'https://lsio-ci.ams3.digitaloceanspaces.com/' + env.IMAGE + '/' + env.META_TAG + '/index.html'
}
sh '''#! /bin/bash
set -e
docker pull lsiodev/ci:latest
if [ "${MULTIARCH}" == "true" ]; then
docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
fi
docker run --rm \
--shm-size=1gb \
-v /var/run/docker.sock:/var/run/docker.sock \
-e IMAGE=\"${IMAGE}\" \
-e DELAY_START=\"${CI_DELAY}\" \
-e TAGS=\"${CI_TAGS}\" \
-e META_TAG=\"${META_TAG}\" \
-e PORT=\"${CI_PORT}\" \
-e SSL=\"${CI_SSL}\" \
-e BASE=\"${DIST_IMAGE}\" \
-e SECRET_KEY=\"${DO_SECRET}\" \
-e ACCESS_KEY=\"${DO_KEY}\" \
-e DOCKER_ENV=\"${CI_DOCKERENV}\" \
-e WEB_SCREENSHOT=\"${CI_WEB}\" \
-e WEB_AUTH=\"${CI_AUTH}\" \
-e WEB_PATH=\"${CI_WEBPATH}\" \
-e DO_REGION="ams3" \
-e DO_BUCKET="lsio-ci" \
-t lsiodev/ci:latest \
python /ci/ci.py'''
}
}
}
/* ##################
Release Logic
################## */
// If this is an amd64 only image only push a single image
stage('Docker-Push-Single') {
when {
environment name: 'MULTIARCH', value: 'false'
environment name: 'EXIT_STATUS', value: ''
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
],
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: 'Quay.io-Robot',
usernameVariable: 'QUAYUSER',
passwordVariable: 'QUAYPASS'
]
]) {
sh '''#! /bin/bash
set -e
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
for PUSHIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
docker push ${PUSHIMAGE}:latest
docker push ${PUSHIMAGE}:${META_TAG}
done
for DELETEIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "{GITLABIMAGE}" "${IMAGE}"; do
docker rmi \
${DELETEIMAGE}:${META_TAG} \
${DELETEIMAGE}:latest || :
done
'''
}
}
}
// If this is a multi arch release push all images and define the manifest
stage('Docker-Push-Multi') {
when {
environment name: 'MULTIARCH', value: 'true'
environment name: 'EXIT_STATUS', value: ''
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
],
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: 'Quay.io-Robot',
usernameVariable: 'QUAYUSER',
passwordVariable: 'QUAYPASS'
]
]) {
sh '''#! /bin/bash
set -e
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
if [ "${CI}" == "false" ]; then
docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
fi
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}"; do
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker push ${MANIFESTIMAGE}:amd64-latest
docker push ${MANIFESTIMAGE}:arm32v7-latest
docker push ${MANIFESTIMAGE}:arm64v8-latest
docker 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
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:latest
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
done
for LEGACYIMAGE in "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
docker tag ${IMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:amd64-${META_TAG}
docker tag ${IMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-${META_TAG}
docker tag ${IMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-${META_TAG}
docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:latest
docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:${META_TAG}
docker tag ${LEGACYIMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-latest
docker tag ${LEGACYIMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-latest
docker push ${LEGACYIMAGE}:amd64-${META_TAG}
docker push ${LEGACYIMAGE}:arm32v7-${META_TAG}
docker push ${LEGACYIMAGE}:arm64v8-${META_TAG}
docker push ${LEGACYIMAGE}:latest
docker push ${LEGACYIMAGE}:${META_TAG}
docker push ${LEGACYIMAGE}:arm32v7-latest
docker push ${LEGACYIMAGE}:arm64v8-latest
done
'''
sh '''#! /bin/bash
for DELETEIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
docker rmi \
${DELETEIMAGE}:amd64-${META_TAG} \
${DELETEIMAGE}:amd64-latest \
${DELETEIMAGE}:arm32v7-${META_TAG} \
${DELETEIMAGE}:arm32v7-latest \
${DELETEIMAGE}:arm64v8-${META_TAG} \
${DELETEIMAGE}:arm64v8-latest || :
done
docker rmi \
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :
'''
}
}
}
// If this is a public release tag it in the LS Github
stage('Github-Tag-Push-Release') {
when {
branch "master"
expression {
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
}
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
steps {
echo "Pushing New tag for current commit ${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}"
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
-d '{"tag":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
"object": "'${COMMIT_SHA}'",\
"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 base packages to ${PACKAGE_TAG}" > releasebody.json
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
"target_commitish": "master",\
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**OS 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'''
}
}
// Use helper container to sync the current README on master to the dockerhub endpoint
stage('Sync-README') {
when {
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
sh '''#! /bin/bash
docker pull lsiodev/readme-sync
docker run --rm=true \
-e DOCKERHUB_USERNAME=$DOCKERUSER \
-e DOCKERHUB_PASSWORD=$DOCKERPASS \
-e GIT_REPOSITORY=${LS_USER}/${LS_REPO} \
-e DOCKER_REPOSITORY=${IMAGE} \
-e GIT_BRANCH=master \
lsiodev/readme-sync bash -c 'node sync' '''
}
}
}
// If this is a Pull request send the CI link as a comment on it
stage('Pull Request Comment') {
when {
not {environment name: 'CHANGE_ID', value: ''}
environment name: 'CI', value: 'true'
environment name: 'EXIT_STATUS', value: ''
}
steps {
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/issues/${PULL_REQUEST}/comments \
-d '{"body": "I am a bot, here are the test results for this PR: \\n'${CI_URL}' \\n'${SHELLCHECK_URL}'"}' '''
}
}
}
/* ######################
Send status to Discord
###################### */
post {
always {
script{
if (env.EXIT_STATUS == "ABORTED"){
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,\
"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,\
"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} '''
}
}
}
cleanup {
cleanWs()
}
}
}

245
README.md
View File

@ -1,241 +1,10 @@
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io) <!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read https://github.com/linuxserver/docker-rdesktop/blob/master/.github/CONTRIBUTING.md -->
[![Blog](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&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!") # DEPRECATION NOTICE
[![Discord](https://img.shields.io/discord/354974912613449730.svg?style=flat-square&color=E68523&label=Discord&logo=discord&logoColor=FFFFFF)](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.") This image is deprecated. We will not offer support for this image and it will not be updated.
[![Discourse](https://img.shields.io/discourse/https/discourse.linuxserver.io/topics.svg?style=flat-square&color=E68523&logo=discourse&logoColor=FFFFFF)](https://discourse.linuxserver.io "post on our community forum.")
[![Fleet](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=Fleet)](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
[![GitHub](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=GitHub&logo=github&logoColor=FFFFFF)](https://github.com/linuxserver "view the source for all of our repositories.")
[![Open Collective](https://img.shields.io/opencollective/all/linuxserver.svg?style=flat-square&color=E68523&label=Supporters&logo=open%20collective&logoColor=FFFFFF)](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring :-
* regular and timely application updates
* easy user mappings (PGID, PUID)
* custom base image with s6 overlay
* weekly base OS updates with common layers across the entire LinuxServer.io ecosystem to minimise space usage, down time and bandwidth
* regular security updates
Find us at:
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
* [Discourse](https://discourse.linuxserver.io) - post on our community forum.
* [Fleet](https://fleet.linuxserver.io) - an online web interface which displays all of our maintained images.
* [GitHub](https://github.com/linuxserver) - view the source for all of our repositories.
* [Open Collective](https://opencollective.com/linuxserver) - please consider helping us by either donating or contributing to our budget
# [linuxserver/rdesktop](https://github.com/linuxserver/docker-rdesktop)
[![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-rdesktop.svg?style=flat-square&color=E68523&logo=github&logoColor=FFFFFF)](https://github.com/linuxserver/docker-rdesktop)
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-rdesktop.svg?style=flat-square&color=E68523&logo=github&logoColor=FFFFFF)](https://github.com/linuxserver/docker-rdesktop/releases)
[![GitHub Package Repository](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=GitHub%20Package&logo=github&logoColor=FFFFFF)](https://github.com/linuxserver/docker-rdesktop/packages)
[![GitLab Container Registry](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=GitLab%20Registry&logo=gitlab&logoColor=FFFFFF)](https://gitlab.com/Linuxserver.io/docker-rdesktop/container_registry)
[![Quay.io](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=Quay.io)](https://quay.io/repository/linuxserver.io/rdesktop)
[![MicroBadger Layers](https://img.shields.io/microbadger/layers/linuxserver/rdesktop.svg?style=flat-square&color=E68523)](https://microbadger.com/images/linuxserver/rdesktop "Get your own version badge on microbadger.com")
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/rdesktop.svg?style=flat-square&color=E68523&label=pulls&logo=docker&logoColor=FFFFFF)](https://hub.docker.com/r/linuxserver/rdesktop)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/rdesktop.svg?style=flat-square&color=E68523&label=stars&logo=docker&logoColor=FFFFFF)](https://hub.docker.com/r/linuxserver/rdesktop)
[![Build Status](https://ci.linuxserver.io/view/all/job/Docker-Pipeline-Builders/job/docker-rdesktop/job/master/badge/icon?style=flat-square)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-rdesktop/job/master/)
[![](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/rdesktop/latest/badge.svg)](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/rdesktop/latest/index.html)
[Rdesktop](http://xrdp.org/) - Ubuntu based containers containing full desktop environments in officially supported flavors accessible via RDP.
[![rdesktop](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/rdesktop.png)](http://xrdp.org/) Please migrate to an Ubuntu-based tag. For more info, see
https://info.linuxserver.io/issues/2025-08-23-rdesktop/
## Supported Architectures Up to date documentation is available [here](https://github.com/linuxserver/docker-rdesktop/blob/ubuntu-xfce/README.md).
Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
Simply pulling `linuxserver/rdesktop` 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 |
## 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 | XFCE Focal |
| xfce-bionic | XFCE Bionic |
| kde-focal | KDE Focal |
| kde-bionic | KDE Bionic |
| lxde-focal | LXDE Focal |
| lxde-bionic | LXDE Bionic |
| budgie-focal | Budgie Focal |
| budgie-bionic | Budgie Bionic |
| mate-focal | MATE Focal |
| mate-bionic | MATE Bionic |
| kylin-focal | Kylin Focal |
| kylin-bionic | Kylin Bionic |
## Usage
Here are some example snippets to help you get started creating a container.
### docker
```
docker create \
--name=rdesktop \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-p 3389:3389 \
-v /var/run/docker.sock:/var/run/docker.sock `#optional` \
-v /path/to/data:/config `#optional` \
--restart unless-stopped \
linuxserver/rdesktop
```
### docker-compose
Compatible with docker-compose v2 schemas.
```
---
version: "2"
services:
rdesktop:
image: linuxserver/rdesktop
container_name: rdesktop
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
volumes:
- /var/run/docker.sock:/var/run/docker.sock #optional
- /path/to/data:/config #optional
ports:
- 3389:3389
restart: unless-stopped
```
## Parameters
Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>:<internal>` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container.
| Parameter | Function |
| :----: | --- |
| `-p 3389` | RDP access port |
| `-e PUID=1000` | for UserID - see below for explanation |
| `-e PGID=1000` | for GroupID - see below for explanation |
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London |
| `-v /var/run/docker.sock` | Docker Socket on the system, if you want to use Docker in the container |
| `-v /config` | abc users home directory |
## Environment variables from files (Docker secrets)
You can set any environment variable from a file by using a special prepend `FILE__`.
As an example:
```
-e FILE__PASSWORD=/run/secrets/mysecretpassword
```
Will set the environment variable `PASSWORD` based on the contents of the `/run/secrets/mysecretpassword` file.
## User / Group Identifiers
When using volumes (`-v` flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`.
Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id user` as below:
```
$ id username
uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
```
&nbsp;
## Application Setup
**The Default USERNAME and PASSWORD is: abc/abc**
**Unlike our other containers these Desktops are not designed to be upgraded by Docker, you will keep your home directoy but anything you installed system level will be lost if you upgrade an existing container. To keep packages up to date instead use Ubuntu's own apt program**
You will need a Remote Desktop client to access this container [Wikipedia List](https://en.wikipedia.org/wiki/Comparison_of_remote_desktop_software), by default it listens on 3389, but you can change that port to whatever you wish on the host side IE `3390:3389`.
The first thing you should do when you login to the container is to change the abc users password by issuing the `passwd` command.
If you ever lose your password you can always reset it by execing into the container as root:
```
docker exec -it rdesktop passwd abc
```
By default we perform all logic for the abc user and we reccomend using that user only in the container, but new users can be added as long as there is a `startwm.sh` executable script in their home directory.
All of these containers are configured with passwordless sudo, we make no efforts to secure or harden these containers and we do not reccomend ever publishing their ports to the public Internet.
## Support Info
* Shell access whilst the container is running: `docker exec -it rdesktop /bin/bash`
* To monitor the logs of the container in realtime: `docker logs -f rdesktop`
* container version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' rdesktop`
* image version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/rdesktop`
## Updating Info
Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (ie. nextcloud, plex), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image.
Below are the instructions for updating containers:
### Via Docker Run/Create
* Update the image: `docker pull linuxserver/rdesktop`
* Stop the running container: `docker stop rdesktop`
* Delete the container: `docker rm rdesktop`
* Recreate a new container with the same docker create parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
* Start the new container: `docker start rdesktop`
* You can also remove the old dangling images: `docker image prune`
### Via Docker Compose
* Update all images: `docker-compose pull`
* or update a single image: `docker-compose pull rdesktop`
* Let compose update all containers as necessary: `docker-compose up -d`
* or update a single container: `docker-compose up -d rdesktop`
* You can also remove the old dangling images: `docker image prune`
### Via Watchtower auto-updater (especially useful if you don't remember the original parameters)
* Pull the latest image at its tag and replace it with the same env variables in one run:
```
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--run-once rdesktop
```
**Note:** We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using Docker Compose.
* You can also remove the old dangling images: `docker image prune`
## Building locally
If you want to make local modifications to these images for development purposes or just to customize the logic:
```
git clone https://github.com/linuxserver/docker-rdesktop.git
cd docker-rdesktop
docker build \
--no-cache \
--pull \
-t linuxserver/rdesktop:latest .
```
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
```
docker run --rm --privileged multiarch/qemu-user-static:register --reset
```
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
## Versions
* **28.02.20:** - Initial Releases

View File

@ -3,7 +3,7 @@
# jenkins variables # jenkins variables
project_name: docker-rdesktop project_name: docker-rdesktop
external_type: os external_type: os
release_type: stable release_type: prerelease
release_tag: latest release_tag: latest
ls_branch: master ls_branch: master
repo_vars: repo_vars:
@ -14,13 +14,13 @@ repo_vars:
- DOCKERHUB_IMAGE = 'linuxserver/rdesktop' - DOCKERHUB_IMAGE = 'linuxserver/rdesktop'
- DEV_DOCKERHUB_IMAGE = 'lsiodev/rdesktop' - DEV_DOCKERHUB_IMAGE = 'lsiodev/rdesktop'
- PR_DOCKERHUB_IMAGE = 'lspipepr/rdesktop' - PR_DOCKERHUB_IMAGE = 'lspipepr/rdesktop'
- DIST_IMAGE = 'ubuntu' - DIST_IMAGE = 'alpine'
- MULTIARCH='true' - MULTIARCH = 'true'
- CI='true' - CI = 'true'
- CI_WEB='false' - CI_WEB = 'false'
- CI_PORT='3389' - CI_PORT = '3000'
- CI_SSL='false' - CI_SSL = 'false'
- CI_DELAY='30' - CI_DELAY = '30'
- CI_DOCKERENV='TZ=US/Pacific' - CI_DOCKERENV = ''
- CI_AUTH='user:password' - CI_AUTH = ''
- CI_WEBPATH='' - CI_WEBPATH = ''

File diff suppressed because it is too large Load Diff

View File

@ -1,66 +1,11 @@
---
# project information # project information
project_name: rdesktop project_name: rdesktop
project_url: "http://xrdp.org/"
project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/rdesktop.png"
project_blurb: |
[{{ project_name|capitalize }}]({{ project_url }}) - Ubuntu based containers containing full desktop environments in officially supported flavors accessible via RDP.
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}" project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
project_deprecation_status: true
# supported architectures project_deprecation_message: |
available_architectures: Please migrate to an Ubuntu-based tag. For more info, see
- { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"} https://info.linuxserver.io/issues/2025-08-23-rdesktop/
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"} full_custom_readme: |
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"} {% raw -%}
Up to date documentation is available [here](https://github.com/linuxserver/docker-rdesktop/blob/ubuntu-xfce/README.md).
# development version {%- endraw %}
development_versions: true
development_versions_items:
- { tag: "latest", desc: "XFCE Focal" }
- { tag: "xfce-bionic", desc: "XFCE Bionic" }
- { tag: "kde-focal", desc: "KDE Focal" }
- { tag: "kde-bionic", desc: "KDE Bionic" }
- { tag: "lxde-focal", desc: "LXDE Focal" }
- { tag: "lxde-bionic", desc: "LXDE Bionic" }
- { tag: "budgie-focal", desc: "Budgie Focal" }
- { tag: "budgie-bionic", desc: "Budgie Bionic" }
- { tag: "mate-focal", desc: "MATE Focal" }
- { tag: "mate-bionic", desc: "MATE Bionic" }
- { tag: "kylin-focal", desc: "Kylin Focal" }
- { tag: "kylin-bionic", desc: "Kylin Bionic" }
# container parameters
param_container_name: "{{ project_name }}"
param_usage_include_vols: false
param_usage_include_ports: true
param_ports:
- { external_port: "3389", internal_port: "3389", port_desc: "RDP access port" }
param_usage_include_env: true
param_env_vars:
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"}
# optional variables
opt_param_usage_include_vols: true
opt_param_volumes:
- { vol_path: "/var/run/docker.sock", vol_host_path: "/var/run/docker.sock", desc: "Docker Socket on the system, if you want to use Docker in the container" }
- { vol_path: "/config", vol_host_path: "/path/to/data", desc: "abc users home directory" }
# application setup block
app_setup_block_enabled: true
app_setup_block: |
**The Default USERNAME and PASSWORD is: abc/abc**
**Unlike our other containers these Desktops are not designed to be upgraded by Docker, you will keep your home directoy but anything you installed system level will be lost if you upgrade an existing container. To keep packages up to date instead use Ubuntu's own apt program**
You will need a Remote Desktop client to access this container [Wikipedia List](https://en.wikipedia.org/wiki/Comparison_of_remote_desktop_software), by default it listens on 3389, but you can change that port to whatever you wish on the host side IE `3390:3389`.
The first thing you should do when you login to the container is to change the abc users password by issuing the `passwd` command.
If you ever lose your password you can always reset it by execing into the container as root:
```
docker exec -it rdesktop passwd abc
```
By default we perform all logic for the abc user and we reccomend using that user only in the container, but new users can be added as long as there is a `startwm.sh` executable script in their home directory.
All of these containers are configured with passwordless sudo, we make no efforts to secure or harden these containers and we do not reccomend ever publishing their ports to the public Internet.
# changelog
changelogs:
- { date: "28.02.20:", desc: "Initial Releases" }

View File

@ -1,2 +1,34 @@
#!/bin/bash #!/bin/bash
/usr/bin/startxfce4 > /dev/null 2>&1
# Combine env
/usr/bin/with-contenv /usr/bin/env | sed 's/^/export /g' > /defaults/env.sh
source /defaults/env.sh
rm /defaults/env.sh
# Enable Nvidia GPU support if detected
if which nvidia-smi; then
export LIBGL_KOPPER_DRI2=1
export MESA_LOADER_DRIVER_OVERRIDE=zink
export GALLIUM_DRIVER=zink
fi
# Start Pulseaudio
/startpulse.sh &
# Disable compositing
setterm blank 0
setterm powerdown 0
if [ ! -f "${HOME}"/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml ]; then
mkdir -p "${HOME}"/.config/xfce4/xfconf/xfce-perchannel-xml/
cat <<EOT >> "${HOME}"/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfwm4" version="1.0">
<property name="general" type="empty">
<property name="use_compositing" type="bool" value="false"/>
</property>
</channel>
EOT
fi
# Launch DE
/usr/bin/xfce4-session > /dev/null 2>&1

View File

@ -0,0 +1,19 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
echo '
╔════════════════════════════════════════════════════╗
╠════════════════════════════════════════════════════╣
║ ║
║ This image is deprecated. ║
║ We will not offer support for this image ║
║ and it will not be updated. ║
║ ║
╠════════════════════════════════════════════════════╣
╚════════════════════════════════════════════════════╝
Please migrate to an Ubuntu-based tag. For more info, see
https://info.linuxserver.io/issues/2025-08-23-rdesktop/
══════════════════════════════════════════════════════'

View File

@ -0,0 +1 @@
oneshot