Compare commits

..

108 Commits

Author SHA1 Message Date
LinuxServer-CI
92191e4764 Bot Updating Package Versions 2021-11-25 07:36:59 +01:00
LinuxServer-CI
78d585f6e5 Bot Updating Package Versions 2021-11-18 07:34:07 +01:00
LinuxServer-CI
0e838f80ea Bot Updating Package Versions 2021-11-11 07:38:13 +01:00
LinuxServer-CI
08d2917672 Bot Updating Package Versions 2021-11-04 07:34:05 +01:00
LinuxServer-CI
6a9f1e0a06 Bot Updating Package Versions 2021-10-28 08:37:11 +02:00
LinuxServer-CI
6b551858b9 Bot Updating Package Versions 2021-10-21 08:36:34 +02:00
LinuxServer-CI
5f8371a670 Bot Updating Package Versions 2021-10-14 08:36:16 +02:00
LinuxServer-CI
73b325d65a Bot Updating Package Versions 2021-10-07 08:38:19 +02:00
LinuxServer-CI
cc15348eaa Bot Updating Templated Files 2021-10-07 08:26:33 +02:00
LinuxServer-CI
c4ebe30f79 Bot Updating Package Versions 2021-09-27 21:25:38 +02:00
thelamer
013aeb1de7 adding pulse wrapper to bionic base 2021-09-27 12:07:04 -07:00
LinuxServer-CI
4891cca64c Bot Updating Package Versions 2021-09-23 08:34:27 +02:00
LinuxServer-CI
f354c0e467 Bot Updating Package Versions 2021-09-16 08:35:17 +02:00
LinuxServer-CI
85776f2f13 Bot Updating Package Versions 2021-09-02 08:45:09 +02:00
LinuxServer-CI
5bc503d78b Bot Updating Templated Files 2021-09-02 08:26:26 +02:00
LinuxServer-CI
d88c45c064 Bot Updating Templated Files 2021-08-26 08:26:09 +02:00
LinuxServer-CI
85c70372d0 Bot Updating Package Versions 2021-08-19 08:38:03 +02:00
LinuxServer-CI
41680a9304 Bot Updating Package Versions 2021-08-12 08:36:34 +02:00
LinuxServer-CI
170f830543 Bot Updating Package Versions 2021-08-05 08:37:14 +02:00
LinuxServer-CI
894f098f72 Bot Updating Package Versions 2021-07-29 08:36:00 +02:00
LinuxServer-CI
46db7501bd Bot Updating Package Versions 2021-07-22 08:47:07 +02:00
LinuxServer-CI
c54a419739 Bot Updating Package Versions 2021-07-08 07:32:46 +00:00
LinuxServer-CI
65b16dfb78 Bot Updating Templated Files 2021-07-08 06:29:12 +00:00
LinuxServer-CI
3039c2ebde Bot Updating Templated Files 2021-07-08 06:27:33 +00:00
LinuxServer-CI
10dc9af98c Bot Updating Package Versions 2021-07-01 06:59:55 +00:00
LinuxServer-CI
fceac77940 Bot Updating Package Versions 2021-06-24 06:52:18 +00:00
LinuxServer-CI
c549807caa Bot Updating Package Versions 2021-06-17 07:34:13 +00:00
LinuxServer-CI
41517b5ee3 Bot Updating Package Versions 2021-06-10 14:23:50 +00:00
LinuxServer-CI
b838773def Bot Updating Package Versions 2021-06-03 08:34:27 +00:00
LinuxServer-CI
e462d180ec Bot Updating Package Versions 2021-05-27 07:28:07 +00:00
LinuxServer-CI
468f513758 Bot Updating Package Versions 2021-05-20 03:12:53 -04:00
LinuxServer-CI
e17baede47 Bot Updating Package Versions 2021-05-13 08:05:18 +01:00
LinuxServer-CI
ee98e7bebd Bot Updating Package Versions 2021-04-25 05:52:17 +01:00
aptalca
b7dec8f4f5
Merge pull request #6 from linuxserver/improvements-bionic
add compose, key generation, and ssh client to base
2021-04-25 00:06:39 -04:00
thelamer
4fb21082f2 add compose, key generation, and ssh client to base 2021-04-24 16:28:03 -07:00
LinuxServer-CI
256160f80e Bot Updating Package Versions 2021-04-22 08:15:06 +01:00
LinuxServer-CI
447f62e551 Bot Updating Templated Files 2021-04-22 06:37:51 +00:00
LinuxServer-CI
2eb91c33d5 Bot Updating Templated Files 2021-04-22 07:35:53 +01:00
LinuxServer-CI
ac4da0a7f5 Bot Updating Package Versions 2021-04-15 07:56:42 +01:00
LinuxServer-CI
5c139aef7a Bot Updating Package Versions 2021-04-08 08:03:34 +01:00
LinuxServer-CI
cdb327912c Bot Updating Package Versions 2021-04-01 08:41:18 +01:00
LinuxServer-CI
43e484cfc9 Bot Updating Package Versions 2021-03-25 07:04:14 +00:00
LinuxServer-CI
3e7bea0ba5 Bot Updating Package Versions 2021-03-18 07:09:57 +00:00
LinuxServer-CI
527c203d40 Bot Updating Package Versions 2021-03-11 06:58:29 +00:00
LinuxServer-CI
e6e21835c9 Bot Updating Package Versions 2021-03-04 02:14:40 -05:00
LinuxServer-CI
c98490308e Bot Updating Package Versions 2021-02-25 07:05:47 +00:00
LinuxServer-CI
9813d42a6c Bot Updating Templated Files 2021-02-18 06:29:18 +00:00
LinuxServer-CI
de63b6d649 Bot Updating Templated Files 2021-02-18 06:28:12 +00:00
LinuxServer-CI
a55c63ac10 Bot Updating Package Versions 2021-02-11 07:03:53 +00:00
LinuxServer-CI
c1aa17182b Bot Updating Package Versions 2021-02-04 06:56:17 +00:00
LinuxServer-CI
06afae021f Bot Updating Package Versions 2021-01-28 03:52:55 -05:00
LinuxServer-CI
9ff9d61c7c Bot Updating Package Versions 2021-01-21 02:23:36 -05:00
LinuxServer-CI
cd69e3f65c Bot Updating Package Versions 2021-01-16 11:27:28 +00:00
LinuxServer-CI
9f897e45b9 Bot Updating Templated Files 2021-01-16 10:46:06 +00:00
LinuxServer-CI
9aafba1545 Bot Updating Package Versions 2021-01-09 06:07:11 -05:00
LinuxServer-CI
7e093aeb55 Bot Updating Package Versions 2020-12-19 10:56:14 +00:00
LinuxServer-CI
a8a8f5f7cc Bot Updating Templated Files 2020-12-19 10:18:54 +00:00
LinuxServer-CI
7e1f8532e8 Bot Updating Templated Files 2020-12-19 10:17:29 +00:00
LinuxServer-CI
b6787c8694 Bot Updating Package Versions 2020-12-12 10:54:49 +00:00
LinuxServer-CI
47046ea136 Bot Updating Package Versions 2020-12-03 01:53:20 +00:00
aptalca
5452663f7b
Merge pull request #2 from linuxserver/bionic-wf
add trigger workflows
2020-12-02 20:17:44 -05:00
aptalca
2ca0a7bca2 add trigger workflows 2020-12-02 17:18:44 -05:00
LinuxServer-CI
e9deb7df8e Bot Updating Package Versions 2020-11-27 22:09:13 +00:00
LinuxServer-CI
5224c39203 Bot Updating Package Versions 2020-11-20 22:06:29 +00:00
LinuxServer-CI
1918e6fb95 Bot Updating Package Versions 2020-11-01 19:26:16 -05:00
LinuxServer-CI
6eff0ee821 Bot Updating Templated Files 2020-11-01 18:54:30 -05:00
thelamer
696eb4e7d0 update baseimages 2020-11-01 15:53:22 -08:00
LinuxServer-CI
a973ccd8c2 Bot Updating Package Versions 2020-10-30 22:06:07 +00:00
LinuxServer-CI
1d28e93bd4 Bot Updating Package Versions 2020-10-23 21:04:58 +00:00
LinuxServer-CI
96bb212f01 Bot Updating Package Versions 2020-10-16 17:03:53 -04:00
LinuxServer-CI
697422f562 Bot Updating Templated Files 2020-10-09 20:33:31 +00:00
LinuxServer-CI
ac378f43ba Bot Updating Templated Files 2020-10-09 20:32:13 +00:00
LinuxServer-CI
9a0b4007c2 Bot Updating Package Versions 2020-09-25 20:50:59 +00:00
LinuxServer-CI
56e507ac00 Bot Updating Package Versions 2020-09-18 20:50:25 +00:00
LinuxServer-CI
792c2576a7 Bot Updating Package Versions 2020-09-11 17:01:03 -04:00
LinuxServer-CI
67a7e6c552 Bot Updating Package Versions 2020-09-04 21:01:16 +00:00
LinuxServer-CI
fbdde873f7 Bot Updating Package Versions 2020-08-21 21:07:18 +00:00
LinuxServer-CI
bfd24e534b Bot Updating Templated Files 2020-08-21 20:32:32 +00:00
LinuxServer-CI
295fddec13 Bot Updating Package Versions 2020-08-14 21:05:38 +00:00
LinuxServer-CI
03fe7dac32 Bot Updating Package Versions 2020-08-07 21:07:30 +00:00
LinuxServer-CI
ee5d76e253 Bot Updating Templated Files 2020-08-07 22:33:04 +02:00
LinuxServer-CI
f606c97135 Bot Updating Templated Files 2020-08-07 20:32:14 +00:00
LinuxServer-CI
83de2cee53 Bot Updating Package Versions 2020-07-31 17:08:27 -04:00
LinuxServer-CI
83017ec293 Bot Updating Package Versions 2020-07-24 20:59:42 +00:00
LinuxServer-CI
474653802b Bot Updating Package Versions 2020-07-17 21:06:05 +00:00
LinuxServer-CI
55a93380a6 Bot Updating Package Versions 2020-07-10 21:05:42 +00:00
LinuxServer-CI
a771d10578 Bot Updating Package Versions 2020-07-03 17:29:02 -04:00
LinuxServer-CI
b1c8a9bcd5 Bot Updating Package Versions 2020-06-26 17:31:08 -04:00
LinuxServer-CI
d080e4babf Bot Updating Package Versions 2020-06-19 21:00:39 +00:00
LinuxServer-CI
f9960e8657 Bot Updating Package Versions 2020-06-12 21:05:32 +00:00
LinuxServer-CI
3723304ab1 Bot Updating Package Versions 2020-06-05 17:29:19 -04:00
LinuxServer-CI
3b1a4fb757 Bot Updating Package Versions 2020-05-29 17:04:35 -04:00
LinuxServer-CI
6d09b87b4b Bot Updating Package Versions 2020-05-28 19:17:38 +00:00
LinuxServer-CI
d8bcdbede2 Bot Updating Templated Files 2020-05-28 18:55:04 +00:00
LinuxServer-CI
ae44672b2d Bot Updating Package Versions 2020-05-22 17:30:50 -04:00
LinuxServer-CI
e1e16a844d Bot Updating Package Versions 2020-05-15 21:36:15 +00:00
LinuxServer-CI
908c85cef9 Bot Updating Package Versions 2020-05-01 23:29:59 +02:00
LinuxServer-CI
70bc4411b5 Bot Updating Templated Files 2020-05-01 22:32:08 +02:00
LinuxServer-CI
37b6d51306 Bot Updating Package Versions 2020-04-24 21:27:36 +00:00
LinuxServer-CI
6421898638 Bot Updating Package Versions 2020-04-10 17:04:41 -04:00
LinuxServer-CI
14ccd60477 Bot Updating Package Versions 2020-03-27 21:59:35 +00:00
LinuxServer-CI
e7c8e745a5 Bot Updating Package Versions 2020-03-20 22:08:17 +00:00
LinuxServer-CI
e5d8063236 Bot Updating Package Versions 2020-03-13 22:23:48 +00:00
LinuxServer-CI
41e8cefb1f Bot Updating Package Versions 2020-03-06 22:38:49 +00:00
LinuxServer-CI
e60c318640 Bot Updating Package Versions 2020-02-23 09:24:02 +00:00
thelamer
3e6b87a0a7 need noninteractive for buildstage 2020-02-23 00:35:01 -08:00
thelamer
84e4b38901 bugfixes from focal branch 2020-02-22 22:55:31 -08:00
thelamer
a448e5463e adding bionic branch 2020-02-22 21:04:14 -08:00
69 changed files with 1270 additions and 2297 deletions

2
.editorconfig Normal file → Executable file
View File

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

10
.github/CONTRIBUTING.md vendored Normal file → Executable file
View File

@ -6,7 +6,7 @@
* Read, and fill the Pull Request template * 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 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 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) * 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://discord.gg/YWrKVTn)
## Common files ## Common files
@ -24,7 +24,7 @@
## Readme ## Readme
If you would like to change our readme, please __**do not**__ directly edit the readme, as it is auto-generated on each commit. 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-baseimage-rdesktop/edit/master/readme-vars.yml). Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-baseimage-rdesktop/edit/bionic/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. 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) Most of these variables are also carried over to [docs.linuxserver.io](https://docs.linuxserver.io)
@ -105,17 +105,17 @@ docker build \
-t linuxserver/baseimage-rdesktop:latest . -t linuxserver/baseimage-rdesktop:latest .
``` ```
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static` The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
```bash ```bash
docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset docker run --rm --privileged multiarch/qemu-user-static:register --reset
``` ```
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`. Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
## Update the changelog ## Update the changelog
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-baseimage-rdesktop/tree/master/root), add an entry to the changelog If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-baseimage-rdesktop/tree/bionic/root), add an entry to the changelog
```yml ```yml
changelogs: changelogs:

2
.github/ISSUE_TEMPLATE/config.yml vendored Normal file → Executable file
View File

@ -1,7 +1,7 @@
blank_issues_enabled: false blank_issues_enabled: false
contact_links: contact_links:
- name: Discord chat support - name: Discord chat support
url: https://linuxserver.io/discord url: https://discord.gg/YWrKVTn
about: Realtime support / chat with the community and the team. about: Realtime support / chat with the community and the team.
- name: Discourse discussion forum - name: Discourse discussion forum

40
.github/ISSUE_TEMPLATE/issue.bug.md vendored Executable file
View File

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

View File

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

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

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

View File

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

View File

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

View File

@ -1,19 +0,0 @@
name: Issue & PR Tracker
on:
issues:
types: [opened,reopened,labeled,unlabeled,closed]
pull_request_target:
types: [opened,reopened,review_requested,review_request_removed,labeled,unlabeled,closed]
pull_request_review:
types: [submitted,edited,dismissed]
permissions:
contents: read
jobs:
manage-project:
permissions:
issues: write
uses: linuxserver/github-workflows/.github/workflows/issue-pr-tracker.yml@v1
secrets: inherit

View File

@ -1,16 +0,0 @@
name: Mark stale issues and pull requests
on:
schedule:
- cron: '25 7 * * *'
workflow_dispatch:
permissions:
contents: read
jobs:
stale:
permissions:
issues: write
pull-requests: write
uses: linuxserver/github-workflows/.github/workflows/issues-cron.yml@v1
secrets: inherit

View File

@ -3,26 +3,14 @@ name: External Trigger Main
on: on:
workflow_dispatch: workflow_dispatch:
permissions:
contents: read
jobs: jobs:
external-trigger-master: external-trigger-bionic:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4.1.1 - uses: actions/checkout@v2.3.3
- name: External Trigger - name: External Trigger
if: github.ref == 'refs/heads/master' if: github.ref == 'refs/heads/bionic'
env:
SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }}
run: | run: |
printf "# External trigger for docker-baseimage-rdesktop\n\n" >> $GITHUB_STEP_SUMMARY echo "**** No external release, exiting ****"
echo "Type is \`os\`" >> $GITHUB_STEP_SUMMARY
echo "No external release, exiting" >> $GITHUB_STEP_SUMMARY
exit 0 exit 0
if grep -q "^baseimage-rdesktop_master_${EXT_RELEASE}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` matches current external release; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0
fi

View File

@ -2,47 +2,42 @@ name: External Trigger Scheduler
on: on:
schedule: schedule:
- cron: '55 * * * *' - cron: '32 * * * *'
workflow_dispatch: workflow_dispatch:
permissions:
contents: read
jobs: jobs:
external-trigger-scheduler: external-trigger-scheduler:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4.1.1 - uses: actions/checkout@v2.3.3
with: with:
fetch-depth: '0' fetch-depth: '0'
- name: External Trigger Scheduler - name: External Trigger Scheduler
run: | run: |
printf "# External trigger scheduler for docker-baseimage-rdesktop\n\n" >> $GITHUB_STEP_SUMMARY echo "**** Branches found: ****"
printf "Found the branches:\n\n%s\n" "$(git for-each-ref --format='- %(refname:lstrip=3)' refs/remotes)" >> $GITHUB_STEP_SUMMARY git for-each-ref --format='%(refname:short)' refs/remotes
for br in $(git for-each-ref --format='%(refname:lstrip=3)' refs/remotes) echo "**** Pulling the yq docker image ****"
docker pull ghcr.io/linuxserver/yq
for br in $(git for-each-ref --format='%(refname:short)' refs/remotes)
do do
if [[ "${br}" == "HEAD" ]]; then br=$(echo "$br" | sed 's|origin/||g')
printf "\nSkipping %s.\n" ${br} >> $GITHUB_STEP_SUMMARY echo "**** Evaluating branch ${br} ****"
continue ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-rdesktop/${br}/jenkins-vars.yml \
fi | docker run --rm -i --entrypoint yq ghcr.io/linuxserver/yq -r .ls_branch)
printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY if [ "$br" == "$ls_branch" ]; then
ls_jenkins_vars=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-rdesktop/${br}/jenkins-vars.yml) echo "**** Branch ${br} appears to be live; checking workflow. ****"
ls_branch=$(echo "${ls_jenkins_vars}" | yq -r '.ls_branch')
ls_trigger=$(echo "${ls_jenkins_vars}" | yq -r '.external_type')
if [[ "${br}" == "${ls_branch}" ]] && [[ "${ls_trigger}" != "os" ]]; then
echo "Branch appears to be live and trigger is not os; checking workflow." >> $GITHUB_STEP_SUMMARY
if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-rdesktop/${br}/.github/workflows/external_trigger.yml > /dev/null 2>&1; then if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-rdesktop/${br}/.github/workflows/external_trigger.yml > /dev/null 2>&1; then
echo "Triggering external trigger workflow for branch." >> $GITHUB_STEP_SUMMARY echo "**** Workflow exists. Triggering external trigger workflow for branch ${br} ****."
curl -iX POST \ curl -iX POST \
-H "Authorization: token ${{ secrets.CR_PAT }}" \ -H "Authorization: token ${{ secrets.CR_PAT }}" \
-H "Accept: application/vnd.github.v3+json" \ -H "Accept: application/vnd.github.v3+json" \
-d "{\"ref\":\"refs/heads/${br}\"}" \ -d "{\"ref\":\"refs/heads/${br}\"}" \
https://api.github.com/repos/linuxserver/docker-baseimage-rdesktop/actions/workflows/external_trigger.yml/dispatches https://api.github.com/repos/linuxserver/docker-baseimage-rdesktop/actions/workflows/external_trigger.yml/dispatches
else else
echo "Skipping branch due to no external trigger workflow present." >> $GITHUB_STEP_SUMMARY echo "**** Workflow doesn't exist; skipping trigger. ****"
fi fi
else else
echo "Skipping branch due to being detected as dev branch or having no external version." >> $GITHUB_STEP_SUMMARY echo "**** ${br} appears to be a dev branch; skipping trigger. ****"
fi fi
done done

10
.github/workflows/greetings.yml vendored Normal file → Executable file
View File

@ -2,18 +2,12 @@ name: Greetings
on: [pull_request_target, issues] on: [pull_request_target, issues]
permissions:
contents: read
jobs: jobs:
greeting: greeting:
permissions:
issues: write
pull-requests: write
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/first-interaction@v1 - uses: actions/first-interaction@v1
with: with:
issue-message: 'Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.' issue-message: 'Thanks for opening your first issue here! Be sure to follow the [bug](https://github.com/linuxserver/docker-baseimage-rdesktop/blob/bionic/.github/ISSUE_TEMPLATE/issue.bug.md) or [feature](https://github.com/linuxserver/docker-baseimage-rdesktop/blob/bionic/.github/ISSUE_TEMPLATE/issue.feature.md) issue templates!'
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-baseimage-rdesktop/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!' pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-baseimage-rdesktop/blob/bionic/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}

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

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

View File

@ -2,102 +2,49 @@ name: Package Trigger Scheduler
on: on:
schedule: schedule:
- cron: '52 13 * * 5' - cron: '04 6 * * 4'
workflow_dispatch: workflow_dispatch:
permissions:
contents: read
jobs: jobs:
package-trigger-scheduler: package-trigger-scheduler:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4.1.1 - uses: actions/checkout@v2.3.3
with: with:
fetch-depth: '0' fetch-depth: '0'
- name: Package Trigger Scheduler - name: Package Trigger Scheduler
env:
SKIP_PACKAGE_TRIGGER: ${{ vars.SKIP_PACKAGE_TRIGGER }}
run: | run: |
printf "# Package trigger scheduler for docker-baseimage-rdesktop\n\n" >> $GITHUB_STEP_SUMMARY echo "**** Branches found: ****"
printf "Found the branches:\n\n%s\n" "$(git for-each-ref --format='- %(refname:lstrip=3)' refs/remotes)" >> $GITHUB_STEP_SUMMARY git for-each-ref --format='%(refname:short)' refs/remotes
for br in $(git for-each-ref --format='%(refname:lstrip=3)' refs/remotes) echo "**** Pulling the yq docker image ****"
docker pull ghcr.io/linuxserver/yq
for br in $(git for-each-ref --format='%(refname:short)' refs/remotes)
do do
if [[ "${br}" == "HEAD" ]]; then br=$(echo "$br" | sed 's|origin/||g')
printf "\nSkipping %s.\n" ${br} >> $GITHUB_STEP_SUMMARY echo "**** Evaluating branch ${br} ****"
continue ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-rdesktop/${br}/jenkins-vars.yml \
fi | docker run --rm -i --entrypoint yq ghcr.io/linuxserver/yq -r .ls_branch)
printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY if [ "${br}" == "${ls_branch}" ]; then
JENKINS_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-rdesktop/${br}/jenkins-vars.yml) echo "**** Branch ${br} appears to be live; checking workflow. ****"
if ! curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-rdesktop/${br}/Jenkinsfile >/dev/null 2>&1; then if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-rdesktop/${br}/.github/workflows/package_trigger.yml > /dev/null 2>&1; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY echo "**** Workflow exists. Triggering package trigger workflow for branch ${br}. ****"
echo "> No Jenkinsfile found. Branch is either deprecated or is an early dev branch." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif [[ "${br}" == $(yq -r '.ls_branch' <<< "${JENKINS_VARS}") ]]; then
echo "Branch appears to be live; checking workflow." >> $GITHUB_STEP_SUMMARY
README_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-rdesktop/${br}/readme-vars.yml)
if [[ $(yq -r '.project_deprecation_status' <<< "${README_VARS}") == "true" ]]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Branch appears to be deprecated; skipping trigger." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif [[ $(yq -r '.skip_package_check' <<< "${JENKINS_VARS}") == "true" ]]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Skipping branch ${br} due to \`skip_package_check\` being set in \`jenkins-vars.yml\`." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif grep -q "^baseimage-rdesktop_${br}" <<< "${SKIP_PACKAGE_TRIGGER}"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Github organizational variable \`SKIP_PACKAGE_TRIGGER\` contains \`baseimage-rdesktop_${br}\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-baseimage-rdesktop/job/${br}/lastBuild/api/json | jq -r '.building' 2>/dev/null) == "true" ]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> There already seems to be an active build on Jenkins; skipping package trigger for ${br}" >> $GITHUB_STEP_SUMMARY
skipped_branches="${skipped_branches}${br} "
else
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo "> Triggering package trigger for branch ${br}" >> $GITHUB_STEP_SUMMARY
printf "> To disable, add \`baseimage-rdesktop_%s\` into the Github organizational variable \`SKIP_PACKAGE_TRIGGER\`.\n\n" "${br}" >> $GITHUB_STEP_SUMMARY
triggered_branches="${triggered_branches}${br} " triggered_branches="${triggered_branches}${br} "
response=$(curl -iX POST \ curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-baseimage-rdesktop/job/${br}/buildWithParameters?PACKAGE_CHECK=true \ -H "Authorization: token ${{ secrets.CR_PAT }}" \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|") -H "Accept: application/vnd.github.v3+json" \
if [[ -z "${response}" ]]; then -d "{\"ref\":\"refs/heads/${br}\"}" \
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY https://api.github.com/repos/linuxserver/docker-baseimage-rdesktop/actions/workflows/package_trigger.yml/dispatches
echo "> Jenkins build could not be triggered. Skipping branch." sleep 30
continue else
fi echo "**** Workflow doesn't exist; skipping trigger. ****"
echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY
echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY
sleep 10
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}"
echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY
echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY
if ! curl -ifX POST \
"${buildurl}submitDescription" \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
--data-urlencode "description=GHA package trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
--data-urlencode "Submit=Submit"; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Unable to change the Jenkins job description."
fi
sleep 20
fi fi
else else
echo "Skipping branch ${br} due to being detected as dev branch." >> $GITHUB_STEP_SUMMARY echo "**** ${br} appears to be a dev branch; skipping trigger. ****"
fi fi
done done
if [[ -n "${triggered_branches}" ]] || [[ -n "${skipped_branches}" ]]; then echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****"
if [[ -n "${triggered_branches}" ]]; then echo "**** Notifying Discord ****"
NOTIFY_BRANCHES="**Triggered:** ${triggered_branches} \n" curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
NOTIFY_BUILD_URL="**Build URL:** https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-baseimage-rdesktop/activity/ \n" "description": "**Package Check Build(s) Triggered for baseimage-rdesktop** \n**Branch(es):** '"${triggered_branches}"' \n**Build URL:** '"https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-baseimage-rdesktop/activity/"' \n"}],
echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****" "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
fi
if [[ -n "${skipped_branches}" ]]; then
NOTIFY_BRANCHES="${NOTIFY_BRANCHES}**Skipped:** ${skipped_branches} \n"
fi
echo "**** Notifying Discord ****"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Package Check Build(s) for baseimage-rdesktop** \n'"${NOTIFY_BRANCHES}"''"${NOTIFY_BUILD_URL}"'"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
fi

View File

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

23
.github/workflows/stale.yml vendored Executable file
View File

@ -0,0 +1,23 @@
name: Mark stale issues and pull requests
on:
schedule:
- cron: "30 1 * * *"
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v3
with:
stale-issue-message: "This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
stale-pr-message: "This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
stale-issue-label: 'no-issue-activity'
stale-pr-label: 'no-pr-activity'
days-before-stale: 30
days-before-close: 365
exempt-issue-labels: 'awaiting-approval,work-in-progress'
exempt-pr-labels: 'awaiting-approval,work-in-progress'
repo-token: ${{ secrets.GITHUB_TOKEN }}

View File

@ -1,54 +1,58 @@
# syntax=docker/dockerfile:1 FROM ghcr.io/linuxserver/baseimage-ubuntu:bionic as buildstage
FROM ghcr.io/linuxserver/baseimage-ubuntu:noble AS buildstage ARG XRDP_PULSE_VERSION=v0.4
ARG XRDP_PULSE_VERSION=v0.7
ARG DEBIAN_FRONTEND="noninteractive" ARG DEBIAN_FRONTEND="noninteractive"
RUN \ RUN \
echo "**** install build deps ****" && \ echo "**** install build deps ****" && \
sed -i 's/# deb-src/deb-src/g' /etc/apt/sources.list && \ sed -i 's/# deb-src/deb-src/g' /etc/apt/sources.list && \
apt-get update && \ apt-get update && \
apt-get install -y \ apt-get install -y \
build-essential \ build-essential \
devscripts \ devscripts \
dpkg-dev \ dpkg-dev \
git \ git \
libpulse-dev \ libpulse-dev \
meson \ pulseaudio && \
pulseaudio && \ apt build-dep -y \
apt build-dep -y \ pulseaudio \
pulseaudio \ xrdp
xrdp
RUN \ RUN \
echo "**** build pulseaudio modules ****" && \ echo "**** build pulseaudio modules ****" && \
mkdir -p /buildout/var/lib/xrdp-pulseaudio-installer && \ mkdir -p /buildout/var/lib/xrdp-pulseaudio-installer && \
tmp=$(mktemp -d); cd "$tmp" && \ tmp=$(mktemp -d); cd "$tmp" && \
pulseaudio_upstream_version=$(dpkg-query -W -f='${source:Upstream-Version}' pulseaudio) && \ pulseaudio_version=$(dpkg-query -W -f='${source:Version}' pulseaudio|awk -F: '{print $2}') && \
apt-get source pulseaudio && \ pulseaudio_upstream_version=$(dpkg-query -W -f='${source:Upstream-Version}' pulseaudio) && \
cd "pulseaudio-$pulseaudio_upstream_version" && \ set -- $(apt-cache policy pulseaudio | fgrep -A1 '***' | tail -1) && \
meson build && \ mirror=$2 && \
cd - && \ suite=${3#*/} && \
git clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.git && \ dget -u "$mirror/pool/$suite/p/pulseaudio/pulseaudio_$pulseaudio_version.dsc" && \
cd pulseaudio-module-xrdp && \ cd "pulseaudio-$pulseaudio_upstream_version" && \
git checkout ${XRDP_PULSE_VERSION} && \ ./configure && \
./bootstrap && \ cd - && \
./configure PULSE_DIR="$tmp/pulseaudio-$pulseaudio_upstream_version" && \ git clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.git && \
make && \ cd pulseaudio-module-xrdp && \
install -t "/buildout/var/lib/xrdp-pulseaudio-installer" -D -m 644 src/.libs/*.so git checkout ${XRDP_PULSE_VERSION} && \
./bootstrap && \
./configure PULSE_DIR="$tmp/pulseaudio-$pulseaudio_upstream_version" && \
make && \
install -t "/buildout/var/lib/xrdp-pulseaudio-installer" -D -m 644 src/.libs/*.so
RUN \ RUN \
echo "**** build xrdp with fuse disabled ****" && \ echo "**** build xrdp with fuse disabled ****" && \
cd /tmp && \ cd /tmp && \
apt-get source xrdp && \ apt-get source xrdp && \
cd xrdp-* && \ cd xrdp-* && \
sed -i 's/--enable-fuse/--disable-fuse/g' debian/rules && \ sed -i 's/--enable-fuse/--disable-fuse/g' debian/rules && \
debuild -b -uc -us && \ debuild -b -uc -us && \
cp -ax ../xrdp_*.deb /buildout/xrdp.deb cp -ax ../xrdp_*.deb /buildout/xrdp.deb
# docker compose
FROM ghcr.io/linuxserver/docker-compose:amd64-latest as compose
# runtime stage # runtime stage
FROM ghcr.io/linuxserver/baseimage-ubuntu:noble FROM ghcr.io/linuxserver/baseimage-ubuntu:bionic
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
@ -58,97 +62,53 @@ LABEL maintainer="thelamer"
# copy over libs and installers from build stage # copy over libs and installers from build stage
COPY --from=buildstage /buildout/ / COPY --from=buildstage /buildout/ /
COPY --from=compose /usr/local/bin/docker-compose /usr/local/bin/docker-compose
#Add needed nvidia environment variables for https://github.com/NVIDIA/nvidia-docker
ENV NVIDIA_DRIVER_CAPABILITIES=all \
HOME=/config
RUN \ RUN \
echo "**** enable locales ****" && \ echo "**** install deps ****" && \
sed -i \ ldconfig && \
'/locale/d' \ apt-get update && \
/etc/dpkg/dpkg.cfg.d/excludes && \ DEBIAN_FRONTEND=noninteractive \
echo "**** add docker repos ****" && \ apt-get install -y --no-install-recommends \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | tee /usr/share/keyrings/docker.asc >/dev/null && \ apt-transport-https \
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker.asc] https://download.docker.com/linux/ubuntu noble stable" > /etc/apt/sources.list.d/docker.list && \ ca-certificates \
echo "**** install deps ****" && \ curl \
ldconfig && \ dbus-x11 \
apt-get update && \ gawk \
DEBIAN_FRONTEND=noninteractive \ gnupg2 \
apt-get install -y --no-install-recommends \ libfuse2 \
apt-transport-https \ libx11-dev \
ca-certificates \ libxfixes3 \
dbus-x11 \ libxml2 \
docker-ce-cli \ libxrandr2 \
docker-compose-plugin \ openssh-client \
fonts-noto-color-emoji \ pulseaudio \
fonts-noto-core \ software-properties-common \
gawk \ sudo \
gnupg2 \ x11-apps \
libfuse2 \ x11-xserver-utils \
libx11-dev \ xfonts-base \
libxfixes3 \ xorgxrdp \
libxml2 \ xrdp \
libxrandr2 \ xserver-xorg-core \
locales-all \ xutils \
mesa-va-drivers \ zlib1g && \
mesa-vulkan-drivers \ dpkg -i /xrdp.deb && \
netcat-openbsd \ rm /xrdp.deb && \
openbox \ echo "**** install docker ****" && \
openssh-client \ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
pulseaudio \ add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" && \
software-properties-common \ apt-get update && \
sudo \ apt-get install -y --no-install-recommends \
x11-apps \ docker-ce-cli && \
x11-xserver-utils \ echo "**** cleanup and user perms ****" && \
xfonts-base \ echo "abc:abc" | chpasswd && \
xorgxrdp \ usermod -aG sudo abc && \
xrdp \ apt-get autoclean && \
xserver-common \ rm -rf \
xserver-xorg-core \ /var/lib/apt/lists/* \
xserver-xorg-video-amdgpu \ /var/tmp/* \
xserver-xorg-video-ati \ /tmp/*
xserver-xorg-video-intel \
xserver-xorg-video-nouveau \
xserver-xorg-video-qxl \
xterm \
xutils \
zlib1g && \
dpkg -i /xrdp.deb && \
rm /xrdp.deb && \
echo "**** openbox tweaks ****" && \
sed -i \
-e 's/NLIMC/NLMC/g' \
-e '/debian-menu/d' \
-e 's|</applications>| <application class="*"><maximized>yes</maximized></application>\n</applications>|' \
-e 's|</keyboard>| <keybind key="C-S-d"><action name="ToggleDecorations"/></keybind>\n</keyboard>|' \
/etc/xdg/openbox/rc.xml && \
echo "**** user perms ****" && \
sed -e 's/%sudo ALL=(ALL:ALL) ALL/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' \
-i /etc/sudoers && \
echo "abc:abc" | chpasswd && \
usermod -s /bin/bash abc && \
usermod -aG sudo abc && \
echo "**** proot-apps ****" && \
mkdir /proot-apps/ && \
PAPPS_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/proot-apps/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]') && \
curl -L https://github.com/linuxserver/proot-apps/releases/download/${PAPPS_RELEASE}/proot-apps-x86_64.tar.gz \
| tar -xzf - -C /proot-apps/ && \
echo "${PAPPS_RELEASE}" > /proot-apps/pversion && \
echo "**** locales ****" && \
for LOCALE in $(curl -sL https://raw.githubusercontent.com/thelamer/lang-stash/master/langs); do \
localedef -i $LOCALE -f UTF-8 $LOCALE.UTF-8; \
done && \
echo "**** theme ****" && \
curl -s https://raw.githubusercontent.com/thelamer/lang-stash/master/theme.tar.gz \
| tar xzvf - -C /usr/share/themes/Clearlooks/openbox-3/ && \
echo "**** cleanup ****" && \
apt-get autoclean && \
rm -rf \
/var/lib/apt/lists/* \
/var/tmp/* \
/tmp/*
# add local files # add local files
COPY /root / COPY /root /

View File

@ -1,54 +1,58 @@
# syntax=docker/dockerfile:1 FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-bionic as buildstage
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-noble AS buildstage ARG XRDP_PULSE_VERSION=v0.4
ARG XRDP_PULSE_VERSION=v0.7
ARG DEBIAN_FRONTEND="noninteractive" ARG DEBIAN_FRONTEND="noninteractive"
RUN \ RUN \
echo "**** install build deps ****" && \ echo "**** install build deps ****" && \
sed -i 's/# deb-src/deb-src/g' /etc/apt/sources.list && \ sed -i 's/# deb-src/deb-src/g' /etc/apt/sources.list && \
apt-get update && \ apt-get update && \
apt-get install -y \ apt-get install -y \
build-essential \ build-essential \
devscripts \ devscripts \
dpkg-dev \ dpkg-dev \
git \ git \
libpulse-dev \ libpulse-dev \
meson \ pulseaudio && \
pulseaudio && \ apt build-dep -y \
apt build-dep -y \ pulseaudio \
pulseaudio \ xrdp
xrdp
RUN \ RUN \
echo "**** build pulseaudio modules ****" && \ echo "**** build pulseaudio modules ****" && \
mkdir -p /buildout/var/lib/xrdp-pulseaudio-installer && \ mkdir -p /buildout/var/lib/xrdp-pulseaudio-installer && \
tmp=$(mktemp -d); cd "$tmp" && \ tmp=$(mktemp -d); cd "$tmp" && \
pulseaudio_upstream_version=$(dpkg-query -W -f='${source:Upstream-Version}' pulseaudio) && \ pulseaudio_version=$(dpkg-query -W -f='${source:Version}' pulseaudio|awk -F: '{print $2}') && \
apt-get source pulseaudio && \ pulseaudio_upstream_version=$(dpkg-query -W -f='${source:Upstream-Version}' pulseaudio) && \
cd "pulseaudio-$pulseaudio_upstream_version" && \ set -- $(apt-cache policy pulseaudio | fgrep -A1 '***' | tail -1) && \
meson build && \ mirror=$2 && \
cd - && \ suite=${3#*/} && \
git clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.git && \ dget -u "$mirror/pool/$suite/p/pulseaudio/pulseaudio_$pulseaudio_version.dsc" && \
cd pulseaudio-module-xrdp && \ cd "pulseaudio-$pulseaudio_upstream_version" && \
git checkout ${XRDP_PULSE_VERSION} && \ ./configure && \
./bootstrap && \ cd - && \
./configure PULSE_DIR="$tmp/pulseaudio-$pulseaudio_upstream_version" && \ git clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.git && \
make && \ cd pulseaudio-module-xrdp && \
install -t "/buildout/var/lib/xrdp-pulseaudio-installer" -D -m 644 src/.libs/*.so git checkout ${XRDP_PULSE_VERSION} && \
./bootstrap && \
./configure PULSE_DIR="$tmp/pulseaudio-$pulseaudio_upstream_version" && \
make && \
install -t "/buildout/var/lib/xrdp-pulseaudio-installer" -D -m 644 src/.libs/*.so
RUN \ RUN \
echo "**** build xrdp with fuse disabled ****" && \ echo "**** build xrdp with fuse disabled ****" && \
cd /tmp && \ cd /tmp && \
apt-get source xrdp && \ apt-get source xrdp && \
cd xrdp-* && \ cd xrdp-* && \
sed -i 's/--enable-fuse/--disable-fuse/g' debian/rules && \ sed -i 's/--enable-fuse/--disable-fuse/g' debian/rules && \
debuild -b -uc -us && \ debuild -b -uc -us && \
cp -ax ../xrdp_*.deb /buildout/xrdp.deb cp -ax ../xrdp_*.deb /buildout/xrdp.deb
# docker compose
FROM ghcr.io/linuxserver/docker-compose:arm64v8-latest as compose
# runtime stage # runtime stage
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-noble FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-bionic
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
@ -58,97 +62,53 @@ LABEL maintainer="thelamer"
# copy over libs and installers from build stage # copy over libs and installers from build stage
COPY --from=buildstage /buildout/ / COPY --from=buildstage /buildout/ /
COPY --from=compose /usr/local/bin/docker-compose /usr/local/bin/docker-compose
#Add needed nvidia environment variables for https://github.com/NVIDIA/nvidia-docker
ENV NVIDIA_DRIVER_CAPABILITIES=all \
HOME=/config
RUN \ RUN \
echo "**** enable locales ****" && \ echo "**** install deps ****" && \
sed -i \ ldconfig && \
'/locale/d' \ apt-get update && \
/etc/dpkg/dpkg.cfg.d/excludes && \ DEBIAN_FRONTEND=noninteractive \
echo "**** add docker repos ****" && \ apt-get install -y --no-install-recommends \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | tee /usr/share/keyrings/docker.asc >/dev/null && \ apt-transport-https \
echo "deb [arch=arm64 signed-by=/usr/share/keyrings/docker.asc] https://download.docker.com/linux/ubuntu noble stable" > /etc/apt/sources.list.d/docker.list && \ ca-certificates \
echo "**** install deps ****" && \ curl \
ldconfig && \ dbus-x11 \
apt-get update && \ gawk \
DEBIAN_FRONTEND=noninteractive \ gnupg2 \
apt-get install -y --no-install-recommends \ libfuse2 \
apt-transport-https \ libx11-dev \
ca-certificates \ libxfixes3 \
dbus-x11 \ libxml2 \
docker-ce-cli \ libxrandr2 \
docker-compose-plugin \ openssh-client \
fonts-noto-color-emoji \ pulseaudio \
fonts-noto-core \ software-properties-common \
gawk \ sudo \
gnupg2 \ x11-apps \
libfuse2 \ x11-xserver-utils \
libx11-dev \ xfonts-base \
libxfixes3 \ xorgxrdp \
libxml2 \ xrdp \
libxrandr2 \ xserver-xorg-core \
locales-all \ xutils \
mesa-va-drivers \ zlib1g && \
mesa-vulkan-drivers \ dpkg -i /xrdp.deb && \
netcat-openbsd \ rm /xrdp.deb && \
openbox \ echo "**** install docker ****" && \
openssh-client \ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
pulseaudio \ add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu bionic stable" && \
software-properties-common \ apt-get update && \
sudo \ apt-get install -y --no-install-recommends \
x11-apps \ docker-ce-cli && \
x11-xserver-utils \ echo "**** cleanup and user perms ****" && \
xfonts-base \ echo "abc:abc" | chpasswd && \
xorgxrdp \ usermod -aG sudo abc && \
xrdp \ apt-get autoclean && \
xserver-common \ rm -rf \
xserver-xorg-core \ /var/lib/apt/lists/* \
xserver-xorg-video-amdgpu \ /var/tmp/* \
xserver-xorg-video-armsoc-endlessm \ /tmp/*
xserver-xorg-video-ati \
xserver-xorg-video-nouveau \
xserver-xorg-video-qxl \
xterm \
xutils \
zlib1g && \
dpkg -i /xrdp.deb && \
rm /xrdp.deb && \
echo "**** openbox tweaks ****" && \
sed -i \
-e 's/NLIMC/NLMC/g' \
-e '/debian-menu/d' \
-e 's|</applications>| <application class="*"><maximized>yes</maximized></application>\n</applications>|' \
-e 's|</keyboard>| <keybind key="C-S-d"><action name="ToggleDecorations"/></keybind>\n</keyboard>|' \
/etc/xdg/openbox/rc.xml && \
echo "**** user perms ****" && \
sed -e 's/%sudo ALL=(ALL:ALL) ALL/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' \
-i /etc/sudoers && \
echo "abc:abc" | chpasswd && \
usermod -s /bin/bash abc && \
usermod -aG sudo abc && \
echo "**** proot-apps ****" && \
mkdir /proot-apps/ && \
PAPPS_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/proot-apps/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]') && \
curl -L https://github.com/linuxserver/proot-apps/releases/download/${PAPPS_RELEASE}/proot-apps-aarch64.tar.gz \
| tar -xzf - -C /proot-apps/ && \
echo "${PAPPS_RELEASE}" > /proot-apps/pversion && \
echo "**** locales ****" && \
for LOCALE in $(curl -sL https://raw.githubusercontent.com/thelamer/lang-stash/master/langs); do \
localedef -i $LOCALE -f UTF-8 $LOCALE.UTF-8; \
done && \
echo "**** theme ****" && \
curl -s https://raw.githubusercontent.com/thelamer/lang-stash/master/theme.tar.gz \
| tar xzvf - -C /usr/share/themes/Clearlooks/openbox-3/ && \
echo "**** cleanup ****" && \
apt-get autoclean && \
rm -rf \
/var/lib/apt/lists/* \
/var/tmp/* \
/tmp/*
# add local files # add local files
COPY /root / COPY /root /

118
Dockerfile.armhf Normal file
View File

@ -0,0 +1,118 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-bionic as buildstage
ARG XRDP_PULSE_VERSION=v0.4
ARG DEBIAN_FRONTEND="noninteractive"
RUN \
echo "**** install build deps ****" && \
sed -i 's/# deb-src/deb-src/g' /etc/apt/sources.list && \
apt-get update && \
apt-get install -y \
build-essential \
devscripts \
dpkg-dev \
git \
libpulse-dev \
pulseaudio && \
apt build-dep -y \
pulseaudio \
xrdp
RUN \
echo "**** build pulseaudio modules ****" && \
mkdir -p /buildout/var/lib/xrdp-pulseaudio-installer && \
tmp=$(mktemp -d); cd "$tmp" && \
pulseaudio_version=$(dpkg-query -W -f='${source:Version}' pulseaudio|awk -F: '{print $2}') && \
pulseaudio_upstream_version=$(dpkg-query -W -f='${source:Upstream-Version}' pulseaudio) && \
set -- $(apt-cache policy pulseaudio | fgrep -A1 '***' | tail -1) && \
mirror=$2 && \
suite=${3#*/} && \
dget -u "$mirror/pool/$suite/p/pulseaudio/pulseaudio_$pulseaudio_version.dsc" && \
cd "pulseaudio-$pulseaudio_upstream_version" && \
./configure && \
cd - && \
git clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.git && \
cd pulseaudio-module-xrdp && \
git checkout ${XRDP_PULSE_VERSION} && \
./bootstrap && \
./configure PULSE_DIR="$tmp/pulseaudio-$pulseaudio_upstream_version" && \
make && \
install -t "/buildout/var/lib/xrdp-pulseaudio-installer" -D -m 644 src/.libs/*.so
RUN \
echo "**** build xrdp with fuse disabled ****" && \
cd /tmp && \
apt-get source xrdp && \
cd xrdp-* && \
sed -i 's/--enable-fuse/--disable-fuse/g' debian/rules && \
debuild -b -uc -us && \
cp -ax ../xrdp_*.deb /buildout/xrdp.deb
# docker compose
FROM ghcr.io/linuxserver/docker-compose:arm32v7-latest as compose
# runtime stage
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-bionic
# set version label
ARG BUILD_DATE
ARG VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="thelamer"
# copy over libs and installers from build stage
COPY --from=buildstage /buildout/ /
COPY --from=compose /usr/local/bin/docker-compose /usr/local/bin/docker-compose
RUN \
echo "**** install deps ****" && \
ldconfig && \
apt-get update && \
DEBIAN_FRONTEND=noninteractive \
apt-get install -y --no-install-recommends \
apt-transport-https \
ca-certificates \
curl \
dbus-x11 \
gawk \
gnupg2 \
libfuse2 \
libx11-dev \
libxfixes3 \
libxml2 \
libxrandr2 \
openssh-client \
pulseaudio \
software-properties-common \
sudo \
x11-apps \
x11-xserver-utils \
xfonts-base \
xorgxrdp \
xrdp \
xserver-xorg-core \
xutils \
zlib1g && \
dpkg -i /xrdp.deb && \
rm /xrdp.deb && \
echo "**** install docker ****" && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
add-apt-repository "deb [arch=armhf] https://download.docker.com/linux/ubuntu bionic stable" && \
apt-get update && \
apt-get install -y --no-install-recommends \
docker-ce-cli && \
echo "**** cleanup and user perms ****" && \
echo "abc:abc" | chpasswd && \
usermod -aG sudo abc && \
apt-get autoclean && \
rm -rf \
/var/lib/apt/lists/* \
/var/tmp/* \
/tmp/*
# add local files
COPY /root /
# ports and volumes
EXPOSE 3389
VOLUME /config

1000
Jenkinsfile vendored

File diff suppressed because it is too large Load Diff

186
README.md
View File

@ -1,179 +1,29 @@
<!-- DO NOT EDIT THIS FILE MANUALLY --> <!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read https://github.com/linuxserver/docker-baseimage-rdesktop/blob/master/.github/CONTRIBUTING.md --> <!-- Please read the https://github.com/linuxserver/docker-baseimage-rdesktop/blob/bionic/.github/CONTRIBUTING.md -->
# rdesktop Base Images from LinuxServer
The purpose of these images is to provide a full featured rdesktop Linux desktop experience for any Linux application or desktop environment. They ship with passwordless sudo to allow easy package installation, testing, and customization. By default they have no logic to mount out anything but the users home directory, meaning on image updates anything outside of `/config` will be lost. [linuxserverurl]: https://linuxserver.io
[forumurl]: https://forum.linuxserver.io
[ircurl]: https://www.linuxserver.io/irc/
- Support for using our base images in your own projects is provided on a Reasonable Endeavours basis, please see our [Support Policy](https://www.linuxserver.io/supportpolicy) for details. [![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png?v=4&s=4000)][linuxserverurl]
- There is no `latest` tag for any of our base images, by design. We often make breaking changes between versions, and we don't publish release notes like we do for the downstream images.
- If you're intending to distribute an image using one of our bases, please read our [docs on container branding](https://docs.linuxserver.io/general/container-branding/) first.
- Images are supported for as long as the upstream release on which they are based, after which we will stop building new base images for that version.
# Options ## Contact information:-
All application settings are passed via environment variables: | Type | Address/Details |
| :---: | --- |
| Discord | [Discord](https://discord.gg/YWrKVTn) |
| IRC | freenode at `#linuxserver.io` more information at:- [IRC][ircurl]
| Forum | [LinuxServer.io forum][forumurl] |
| Variable | Description | &nbsp;
| :----: | --- | &nbsp;
| LC_ALL | Set the Language for the container to run as IE `fr_FR.UTF-8` `ar_AE.UTF-8` |
| NO_DECOR | If set the application will run without window borders. (Decor can be enabled and disabled with Ctrl+Shift+d) |
| NO_FULL | Do not autmatically fullscreen applications when using openbox. |
## Language Support - Internationalization [![](https://images.microbadger.com/badges/image/lsiobase/rdesktop.svg)](https://microbadger.com/images/lsiobase/rdesktop "Get your own image badge on microbadger.com")
The environment variable `LC_ALL` can be used to start this image in a different language than English simply pass for example to launch the Desktop session in French `LC_ALL=fr_FR.UTF-8`. Some languages like Chinese, Japanese, or Korean will be missing fonts needed to render properly known as cjk fonts, but others may exist and not be installed. We only ensure fonts for Latin characters are present. Fonts can be installed with a mod on startup. [![](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/Dockerfile-Link-green.png)](https://github.com/linuxserver/docker-baseimage-rdesktop/blob/master/Dockerfile)
To install cjk fonts on startup as an example pass the environment variables(Debian): A custom base image built with [Ubuntu linux](https://www.ubuntu.com/) and [xrdp](http://xrdp.org/)
```
-e DOCKER_MODS=linuxserver/mods:universal-package-install
-e INSTALL_PACKAGES=fonts-noto-cjk
-e LC_ALL=zh_CN.UTF-8
```
# Available Distros
All base images are built for x86_64 and aarch64 platforms.
| Distro | Current Tag |
| :----: | --- |
| Ubuntu | ubuntunoble |
# PRoot Apps
All images include [proot-apps](https://github.com/linuxserver/proot-apps) which allow portable applications to be installed to persistent storage in the user's `$HOME` directory. These applications and their settings will persist upgrades of the base container and can be mounted into different flavors of rdesktop containers. IE if you are running an Alpine based container you will be able to use the same `/config` directory mounted into an Ubuntu based container and retain the same applications and settings as long as they were installed with `proot-apps install`.
A list of linuxserver.io supported applications is located [HERE](https://github.com/linuxserver/proot-apps?tab=readme-ov-file#supported-apps).
# I like to read documentation
## Building images
### Application containers
Included in these base images is a simple [Openbox DE](http://openbox.org/) and the accompanying logic needed to launch a single application. Lets look at the bare minimum needed to create an application container starting with a Dockerfile:
```
FROM ghcr.io/linuxserver/baseimage-rdesktop:alpine320
RUN apk add --no-cache firefox
COPY /root /
```
And we can define the application to start using:
```
mkdir -p root/defaults
echo "firefox" > root/defaults/autostart
```
Resulting in a folder that looks like this:
```
├── Dockerfile
└── root
└── defaults
└── autostart
```
Now build and test:
```
docker build -t firefox .
docker run --rm -it -p 3389:3389 firefox bash
```
On rdp port 3389 you will be presented with a fullscreen firefox window.
This similar setup can be used to embed any Linux Desktop application in an rdp accesible container.
**If building images it is important to note that many application will not work inside of Docker without `--security-opt seccomp=unconfined`, they may have launch flags to not use syscalls blocked by Docker like with chromium based applications and `--no-sandbox`. In general do not expect every application will simply work like a native Linux installation without some modifications**
#### In container application launching
Also included in the init logic is the ability to define application launchers. As the user has the ability to close the application or if they want to open multiple instances of it this can be useful. Here is an example of a menu definition file for Firefox:
```
<?xml version="1.0" encoding="utf-8"?>
<openbox_menu xmlns="http://openbox.org/3.4/menu">
<menu id="root-menu" label="MENU">
<item label="xterm" icon="/usr/share/pixmaps/xterm-color_48x48.xpm"><action name="Execute"><command>/usr/bin/xterm</command></action></item>
<item label="FireFox" icon="/usr/share/icons/hicolor/48x48/apps/firefox.png"><action name="Execute"><command>/usr/bin/firefox</command></action></item>
</menu>
</openbox_menu>
```
Simply create this file and add it to your defaults folder as `menu.xml`:
```
├── Dockerfile
└── root
└── defaults
└── autostart
└── menu.xml
```
This allows users to right click the desktop background to launch the application.
### Full Desktop environments
When building an application container we are leveraging the Openbox DE to handle window management, but it is also possible to completely replace the DE that is launched on container init using the `startwm.sh` script, located again in defaults:
```
├── Dockerfile
└── root
└── defaults
└── startwm.sh
```
If included in the build logic it will be launched in place of Openbox. Examples for this kind of configuration can be found in our [rdesktop repository](https://github.com/linuxserver/docker-rdesktop)
## Open Source GPU Acceleration
For accelerated apps or games, render devices can be mounted into the container and leveraged by applications using:
`--device /dev/dri:/dev/dri`
This feature only supports **Open Source** GPU drivers:
| Driver | Description |
| :----: | --- |
| Intel | i965 and i915 drivers for Intel iGPU chipsets |
| AMD | AMDGPU, Radeon, and ATI drivers for AMD dedicated or APU chipsets |
| NVIDIA | nouveau2 drivers only, closed source NVIDIA drivers lack DRI3 support |
## Nvidia GPU Support
**Nvidia is not compatible with Alpine based images**
Nvidia support is available by leveraging Zink for OpenGL support. This can be enabled with the following run flags:
| Variable | Description |
| :----: | --- |
| --gpus all | This can be filtered down but for most setups this will pass the one Nvidia GPU on the system |
| --runtime nvidia | Specify the Nvidia runtime which mounts drivers and tools in from the host |
The compose syntax is slightly different for this as you will need to set nvidia as the default runtime:
```
sudo nvidia-ctk runtime configure --runtime=docker --set-as-default
sudo service docker restart
```
And to assign the GPU in compose:
```
services:
myimage:
image: myname/myimage:mytag
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [compute,video,graphics,utility]
```
The following line is only in this repo for loop testing: The following line is only in this repo for loop testing:
- { date: "01.01.50:", desc: "I am the release message for this internal repo." } - { date: "01.01.50:", desc: "I am the release message for this internal repo." }

View File

@ -3,9 +3,9 @@
# jenkins variables # jenkins variables
project_name: docker-baseimage-rdesktop project_name: docker-baseimage-rdesktop
external_type: os external_type: os
release_type: stable release_type: prerelease
release_tag: ubuntunoble release_tag: bionic
ls_branch: master ls_branch: bionic
repo_vars: repo_vars:
- BUILD_VERSION_ARG = 'XRDP_VERSION' - BUILD_VERSION_ARG = 'XRDP_VERSION'
- LS_USER = 'linuxserver' - LS_USER = 'linuxserver'
@ -20,7 +20,7 @@ repo_vars:
- CI_WEB='false' - CI_WEB='false'
- CI_PORT='3389' - CI_PORT='3389'
- CI_SSL='false' - CI_SSL='false'
- CI_DOCKER_LOGS_TIMEOUT='120' - CI_DELAY='30'
- CI_DOCKERENV='TZ=US/Pacific' - CI_DOCKERENV='TZ=US/Pacific'
- CI_AUTH='' - CI_AUTH='user:password'
- CI_WEBPATH='' - CI_WEBPATH=''

View File

@ -1,639 +1,324 @@
NAME VERSION TYPE adduser3.116ubuntu1
adduser 3.137ubuntu1 deb apt1.6.14
apt 2.8.3 deb apt-transport-https1.6.14
apt-transport-https 2.8.3 deb apt-utils1.6.14
apt-utils 2.8.3 deb base-files10.1ubuntu2.11
base-files 13ubuntu10.4 deb base-passwd3.5.44
base-passwd 3.6.3build1 deb bash4.4.18-2ubuntu1.2
bash 5.2.21-2ubuntu4 deb bsdmainutils11.1.2ubuntu1
blinker 1.7.0 python bsdutils1:2.31.1-0.4ubuntu3.7
bsdextrautils 2.39.3-9ubuntu6.4 deb bzip21.0.6-8.1ubuntu0.2
bsdutils 1:2.39.3-9ubuntu6.4 deb ca-certificates20210119~18.04.2
ca-certificates 20240203 deb coreutils8.28-1ubuntu1
catatonit 0.1.7-1 deb cpp4:7.4.0-1ubuntu2.3
coreutils 9.4-3ubuntu6.1 deb cpp-77.5.0-3ubuntu1~18.04
cpp 4:13.2.0-7ubuntu1 deb curl7.58.0-2ubuntu3.16
cpp-13 13.3.0-6ubuntu2~24.04 deb dash0.5.8-2.10
cpp-13-x86-64-linux-gnu 13.3.0-6ubuntu2~24.04 deb dbus1.12.2-1ubuntu1.2
cpp-x86-64-linux-gnu 4:13.2.0-7ubuntu1 deb dbus-x111.12.2-1ubuntu1.2
cron 3.0pl1-184ubuntu2 deb dconf-gsettings-backend0.26.0-2ubuntu3
cron-daemon-common 3.0pl1-184ubuntu2 deb dconf-service0.26.0-2ubuntu3
cryptography 41.0.7 python (+1 duplicate) debconf1.5.66ubuntu1
curl 8.5.0-2ubuntu10.6 deb debianutils4.8.4
dash 0.5.12-6ubuntu5 deb diffutils1:3.6-1
dbus 1.14.10-4ubuntu4.1 deb dirmngr2.2.4-1ubuntu1.4
dbus-bin 1.14.10-4ubuntu4.1 deb distro-info-data0.37ubuntu0.13
dbus-daemon 1.14.10-4ubuntu4.1 deb docker-ce-cli5:20.10.11~3-0~ubuntu-bionic
dbus-python 1.3.2 python dpkg1.19.0.5ubuntu2.3
dbus-session-bus-common 1.14.10-4ubuntu4.1 deb e2fsprogs1.44.1-1ubuntu1.3
dbus-system-bus-common 1.14.10-4ubuntu4.1 deb fdisk2.31.1-0.4ubuntu3.7
dbus-x11 1.14.10-4ubuntu4.1 deb findutils4.6.0+git+20170828-2
dconf-gsettings-backend 0.40.0-4ubuntu0.1 deb fontconfig-config2.12.6-0ubuntu2
dconf-service 0.40.0-4ubuntu0.1 deb fonts-dejavu-core2.37-1
debconf 1.5.86ubuntu1 deb gawk1:4.1.4+dfsg-1build1
debianutils 5.17build1 deb gcc-7-base7.5.0-3ubuntu1~18.04
diffutils 1:3.10-1build1 deb gcc-8-base8.4.0-1ubuntu1~18.04
dirmngr 2.4.4-2ubuntu17.4 deb gir1.2-glib-2.01.56.1-1
distro 1.9.0 python glib-networking2.56.0-1ubuntu0.1
distro-info-data 0.60ubuntu0.5 deb glib-networking-common2.56.0-1ubuntu0.1
docker-ce-cli 5:29.2.1-1~ubuntu.24.04~noble deb glib-networking-services2.56.0-1ubuntu0.1
docker-compose-plugin 5.0.2-1~ubuntu.24.04~noble deb gnupg22.2.4-1ubuntu1.4
dpkg 1.22.6ubuntu6.5 deb gnupg2.2.4-1ubuntu1.4
e2fsprogs 1.47.0-2.4~exp1ubuntu4.1 deb gnupg-l10n2.2.4-1ubuntu1.4
findutils 4.9.0-5build1 deb gnupg-utils2.2.4-1ubuntu1.4
fontconfig 2.15.0-1.1ubuntu2 deb gpg2.2.4-1ubuntu1.4
fontconfig-config 2.15.0-1.1ubuntu2 deb gpg-agent2.2.4-1ubuntu1.4
fonts-noto-color-emoji 2.047-0ubuntu0.24.04.1 deb gpgconf2.2.4-1ubuntu1.4
fonts-noto-core 20201225-2 deb gpgsm2.2.4-1ubuntu1.4
fonts-noto-mono 20201225-2 deb gpgv2.2.4-1ubuntu1.4
fonts-urw-base35 20200910-8 deb gpg-wks-client2.2.4-1ubuntu1.4
gawk 1:5.2.1-2build3 deb gpg-wks-server2.2.4-1ubuntu1.4
gcc-13-base 13.3.0-6ubuntu2~24.04 deb grep3.1-2build1
gcc-14-base 14.2.0-4ubuntu2~24.04 deb groff-base1.22.3-10
gir1.2-girepository-2.0 1.80.1-1 deb gsettings-desktop-schemas3.28.0-1ubuntu1
gir1.2-glib-2.0 2.80.0-6ubuntu3.8 deb gzip1.6-5ubuntu1.1
gir1.2-packagekitglib-1.0 1.2.8-2ubuntu1.4 deb hostname3.20
github.com/AlecAivazis/survey/v2 v2.3.7 go-module init-system-helpers1.51
github.com/DefangLabs/secret-detector v0.0.0-20250403165618-22662109213e go-module iso-codes3.79-1
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d go-module keyboard-configuration1.178ubuntu2.9
github.com/beorn7/perks v1.0.1 go-module krb5-locales1.16-2ubuntu0.2
github.com/buger/goterm v1.0.4 go-module libacl12.2.52-3build1
github.com/cenkalti/backoff/v5 v5.0.3 go-module libapparmor12.12-4ubuntu5.1
github.com/cespare/xxhash/v2 v2.3.0 go-module libapt-inst2.01.6.14
github.com/compose-spec/compose-go/v2 v2.10.1 go-module libapt-pkg5.01.6.14
github.com/containerd/console v1.0.5 go-module libasn1-8-heimdal7.5.0+dfsg-1
github.com/containerd/containerd/api v1.10.0 go-module libasound21.1.3-5ubuntu0.6
github.com/containerd/containerd/v2 v2.2.1 go-module libasound2-data1.1.3-5ubuntu0.6
github.com/containerd/continuity v0.4.5 go-module libasound2-plugins1.1.1-1ubuntu1
github.com/containerd/errdefs v1.0.0 go-module libassuan02.5.1-2
github.com/containerd/errdefs/pkg v0.3.0 go-module libasyncns00.8-6
github.com/containerd/log v0.1.0 go-module libattr11:2.4.47-2build1
github.com/containerd/platforms v1.0.0-rc.2 go-module libaudit11:2.8.2-1ubuntu1.1
github.com/containerd/ttrpc v1.2.7 go-module libaudit-common1:2.8.2-1ubuntu1.1
github.com/containerd/typeurl/v2 v2.2.3 go-module libblkid12.31.1-0.4ubuntu3.7
github.com/davecgh/go-spew v1.1.1 go-module libbsd00.8.7-1ubuntu0.1
github.com/distribution/reference v0.6.0 go-module libbz2-1.01.0.6-8.1ubuntu0.2
github.com/docker/buildx v0.30.1 go-module libc62.27-3ubuntu1.4
github.com/docker/cli v28.5.2+incompatible go-module libcap21:2.25-1.2
github.com/docker/cli-docs-tool v0.11.0 go-module libcap-ng00.7.7-3.1
github.com/docker/cli/cmd/docker UNKNOWN go-module libc-bin2.27-3ubuntu1.4
github.com/docker/compose/v5 v0.0.0-20260120125753-c428a77111d5 go-module libcom-err21.44.1-1ubuntu1.3
github.com/docker/distribution v2.8.3+incompatible go-module libcurl47.58.0-2ubuntu3.16
github.com/docker/docker v28.5.2+incompatible go-module libdb5.35.3.28-13.1ubuntu1.1
github.com/docker/docker-credential-helpers v0.9.3 go-module libdbus-1-31.12.2-1ubuntu1.2
github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c go-module libdconf10.26.0-2ubuntu3
github.com/docker/go-connections v0.6.0 go-module libdebconfclient00.213ubuntu1
github.com/docker/go-metrics v0.0.1 go-module libdrm22.4.101-2~18.04.1
github.com/docker/go-units v0.5.0 go-module libdrm-amdgpu12.4.101-2~18.04.1
github.com/eiannone/keyboard v0.0.0-20220611211555-0d226195f203 go-module libdrm-common2.4.101-2~18.04.1
github.com/felixge/httpsnoop v1.0.4 go-module libdrm-intel12.4.101-2~18.04.1
github.com/fvbommel/sortorder v1.1.0 go-module libdrm-nouveau22.4.101-2~18.04.1
github.com/go-logr/logr v1.4.3 go-module libdrm-radeon12.4.101-2~18.04.1
github.com/go-logr/stdr v1.2.2 go-module libedit23.1-20170329-1
github.com/go-viper/mapstructure/v2 v2.5.0 go-module libegl11.0.0-2ubuntu2.3
github.com/gofrs/flock v0.13.0 go-module libegl1-mesa20.0.8-0ubuntu1~18.04.1
github.com/gogo/protobuf v1.3.2 go-module libegl-mesa020.0.8-0ubuntu1~18.04.1
github.com/golang-jwt/jwt/v5 v5.3.0 go-module libelf10.170-0.4ubuntu0.1
github.com/golang/protobuf v1.5.4 go-module libepoxy01.4.3-1
github.com/google/go-cmp v0.7.0 go-module libexpat12.2.5-3ubuntu0.2
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 go-module libext2fs21.44.1-1ubuntu1.3
github.com/google/uuid v1.6.0 go-module libfdisk12.31.1-0.4ubuntu3.7
github.com/gorilla/mux v1.8.1 go-module libffi63.2.1-8
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 go-module libflac81.3.2-1
github.com/hashicorp/errwrap v1.1.0 go-module libfontconfig12.12.6-0ubuntu2
github.com/hashicorp/go-multierror v1.1.1 go-module libfontenc11:1.1.3-1
github.com/hashicorp/go-version v1.8.0 go-module libfreetype62.8.1-2ubuntu2.1
github.com/in-toto/in-toto-golang v0.9.0 go-module libfuse22.9.7-1ubuntu1
github.com/inhies/go-bytesize v0.0.0-20220417184213-4913239db9cf go-module libgbm120.0.8-0ubuntu1~18.04.1
github.com/jonboulle/clockwork v0.5.0 go-module libgcc11:8.4.0-1ubuntu1~18.04
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 go-module libgcrypt201.8.1-4ubuntu1.3
github.com/klauspost/compress v1.18.2 go-module libgdbm51.14.1-6
github.com/mattn/go-colorable v0.1.14 go-module libgirepository-1.0-11.56.1-1
github.com/mattn/go-isatty v0.0.20 go-module libgl11.0.0-2ubuntu2.3
github.com/mattn/go-runewidth v0.0.16 go-module libgl1-mesa-dri20.0.8-0ubuntu1~18.04.1
github.com/mattn/go-shellwords v1.0.12 go-module libglapi-mesa20.0.8-0ubuntu1~18.04.1
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b go-module libglib2.0-02.56.4-0ubuntu0.18.04.8
github.com/mitchellh/hashstructure/v2 v2.0.2 go-module libglvnd01.0.0-2ubuntu2.3
github.com/moby/buildkit v0.26.3 go-module libglx01.0.0-2ubuntu2.3
github.com/moby/docker-image-spec v1.3.1 go-module libglx-mesa020.0.8-0ubuntu1~18.04.1
github.com/moby/go-archive v0.1.0 go-module libgmp102:6.1.2+dfsg-2
github.com/moby/locker v1.0.1 go-module libgnutls303.5.18-1ubuntu1.5
github.com/moby/patternmatcher v0.6.0 go-module libgpg-error01.27-6
github.com/moby/sys/atomicwriter v0.1.0 go-module libgssapi3-heimdal7.5.0+dfsg-1
github.com/moby/sys/capability v0.4.0 go-module libgssapi-krb5-21.16-2ubuntu0.2
github.com/moby/sys/sequential v0.6.0 go-module libhcrypto4-heimdal7.5.0+dfsg-1
github.com/moby/sys/signal v0.7.1 go-module libheimbase1-heimdal7.5.0+dfsg-1
github.com/moby/sys/symlink v0.3.0 go-module libheimntlm0-heimdal7.5.0+dfsg-1
github.com/moby/sys/user v0.4.0 go-module libhogweed43.4.1-0ubuntu0.18.04.1
github.com/moby/sys/userns v0.1.0 go-module libhx509-5-heimdal7.5.0+dfsg-1
github.com/moby/term v0.5.2 go-module libice62:1.0.9-2
github.com/morikuni/aec v1.1.0 go-module libicu6060.2-3ubuntu3.2
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 go-module libidn2-02.0.4-1.1ubuntu0.2
github.com/opencontainers/go-digest v1.0.0 go-module libisl190.19-1
github.com/opencontainers/image-spec v1.1.1 go-module libjack-jackd2-01.9.12~dfsg-2
github.com/pelletier/go-toml v1.9.5 go-module libjpeg88c-2ubuntu8
github.com/pkg/errors v0.9.1 go-module libjpeg-turbo81.5.2-0ubuntu5.18.04.4
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 go-module libjson-glib-1.0-01.4.2-3ubuntu0.18.04.1
github.com/pmezard/go-difflib v1.0.0 go-module libjson-glib-1.0-common1.4.2-3ubuntu0.18.04.1
github.com/prometheus/client_golang v1.23.2 go-module libk5crypto31.16-2ubuntu0.2
github.com/prometheus/client_model v0.6.2 go-module libkeyutils11.5.9-9.2ubuntu2
github.com/prometheus/common v0.66.1 go-module libkmod224-1ubuntu3.5
github.com/prometheus/procfs v0.16.1 go-module libkrb5-26-heimdal7.5.0+dfsg-1
github.com/rivo/uniseg v0.2.0 go-module libkrb5-31.16-2ubuntu0.2
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 go-module libkrb5support01.16-2ubuntu0.2
github.com/secure-systems-lab/go-securesystemslib v0.9.1 go-module libksba81.3.5-2
github.com/shibumi/go-pathspec v1.3.0 go-module libldap-2.4-22.4.45+dfsg-1ubuntu1.10
github.com/sirupsen/logrus v1.9.4 go-module libldap-common2.4.45+dfsg-1ubuntu1.10
github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 go-module libllvm101:10.0.0-4ubuntu1~18.04.2
github.com/spf13/cobra v1.10.2 go-module liblocale-gettext-perl1.07-3build2
github.com/spf13/pflag v1.0.10 go-module libltdl72.4.6-2
github.com/stretchr/testify v1.11.1 go-module liblz4-10.0~r131-2ubuntu3.1
github.com/theupdateframework/notary v0.7.0 go-module liblzma55.2.2-1.3
github.com/tilt-dev/fsnotify v1.4.8-0.20220602155310-fff9c274a375 go-module libmount12.31.1-0.4ubuntu3.7
github.com/tonistiigi/dchapes-mode v0.0.0-20250318174251-73d941a28323 go-module libmpc31.1.0-1
github.com/tonistiigi/fsutil v0.0.0-20250605211040-586307ad452f go-module libmpdec22.4.2-1ubuntu1
github.com/tonistiigi/go-csvvalue v0.0.0-20240814133006-030d3b2625d0 go-module libmpfr64.0.1-1
github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea go-module libncurses56.1-1ubuntu1.18.04
github.com/tonistiigi/vt100 v0.0.0-20240514184818-90bafcd6abab go-module libncursesw56.1-1ubuntu1.18.04
github.com/xhit/go-str2duration/v2 v2.1.0 go-module libnettle63.4.1-0ubuntu0.18.04.1
glib-networking 2.80.0-1build1 deb libnghttp2-141.30.0-1ubuntu1
glib-networking-common 2.80.0-1build1 deb libnpth01.5-3
glib-networking-services 2.80.0-1build1 deb libogg01.3.2-1
gnupg 2.4.4-2ubuntu17.4 deb libopus01.1.2-1ubuntu1
gnupg-l10n 2.4.4-2ubuntu17.4 deb liborc-0.4-01:0.4.28-1
gnupg-utils 2.4.4-2ubuntu17.4 deb libp11-kit00.23.9-2ubuntu0.1
gnupg2 2.4.4-2ubuntu17.4 deb libpam0g1.1.8-3.6ubuntu2.18.04.3
go.opentelemetry.io/auto/sdk v1.2.1 go-module libpam-modules1.1.8-3.6ubuntu2.18.04.3
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.63.0 go-module libpam-modules-bin1.1.8-3.6ubuntu2.18.04.3
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.63.0 go-module libpam-runtime1.1.8-3.6ubuntu2.18.04.3
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 go-module libpciaccess00.14-1
go.opentelemetry.io/otel v1.38.0 go-module libpcre32:8.39-9
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 go-module libpipeline11.5.0-1
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.38.0 go-module libpixman-1-00.34.0-2
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 go-module libpng16-161.6.34-1ubuntu0.18.04.2
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 go-module libprocps62:3.3.12-3ubuntu1.2
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0 go-module libproxy1v50.4.15-1ubuntu0.2
go.opentelemetry.io/otel/metric v1.38.0 go-module libpsl50.19.1-5build1
go.opentelemetry.io/otel/sdk v1.38.0 go-module libpthread-stubs0-dev0.3-4
go.opentelemetry.io/otel/sdk/metric v1.38.0 go-module libpulse01:11.1-1ubuntu7.11
go.opentelemetry.io/otel/trace v1.38.0 go-module libpulsedsp1:11.1-1ubuntu7.11
go.opentelemetry.io/proto/otlp v1.7.1 go-module libpython3.6-minimal3.6.9-1~18.04ubuntu1.4
go.uber.org/mock v0.6.0 go-module libpython3.6-stdlib3.6.9-1~18.04ubuntu1.4
go.yaml.in/yaml/v2 v2.4.2 go-module libpython3-stdlib3.6.7-1~18.04
go.yaml.in/yaml/v4 v4.0.0-rc.3 go-module libreadline77.0-3
golang.org/x/crypto v0.45.0 go-module libroken18-heimdal7.5.0+dfsg-1
golang.org/x/net v0.47.0 go-module librtmp12.4+20151223.gitfa8646d.1-1
golang.org/x/sync v0.19.0 go-module libsamplerate00.1.9-1
golang.org/x/sys v0.40.0 go-module libsasl2-22.1.27~101-g0780600+dfsg-3ubuntu2.3
golang.org/x/term v0.37.0 go-module libsasl2-modules2.1.27~101-g0780600+dfsg-3ubuntu2.3
golang.org/x/text v0.31.0 go-module libsasl2-modules-db2.1.27~101-g0780600+dfsg-3ubuntu2.3
golang.org/x/time v0.14.0 go-module libseccomp22.5.1-1ubuntu1~18.04.1
google.golang.org/genproto/googleapis/api v0.0.0-20251029180050-ab9386a59fda go-module libselinux12.7-2build2
google.golang.org/genproto/googleapis/rpc v0.0.0-20251029180050-ab9386a59fda go-module libsemanage12.7-2build2
google.golang.org/grpc v1.78.0 go-module libsemanage-common2.7-2build2
google.golang.org/protobuf v1.36.10 go-module libsensors41:3.4.0-4
gopkg.in/ini.v1 v1.67.0 go-module libsepol12.7-1
gopkg.in/yaml.v3 v3.0.1 go-module libsigsegv22.12-1
gpg 2.4.4-2ubuntu17.4 deb libsm62:1.2.2-1
gpg-agent 2.4.4-2ubuntu17.4 deb libsmartcols12.31.1-0.4ubuntu3.7
gpg-wks-client 2.4.4-2ubuntu17.4 deb libsnapd-glib11.58-0ubuntu0.18.04.0
gpgconf 2.4.4-2ubuntu17.4 deb libsndfile11.0.28-4ubuntu0.18.04.2
gpgsm 2.4.4-2ubuntu17.4 deb libsoup2.4-12.62.1-1ubuntu0.4
gpgv 2.4.4-2ubuntu17.4 deb libspeexdsp11.2~rc1.2-1ubuntu2
grep 3.11-4build1 deb libsqlite3-03.22.0-1ubuntu0.4
groff-base 1.23.0-3build2 deb libss21.44.1-1ubuntu1.3
gsettings-desktop-schemas 46.1-0ubuntu1 deb libssl1.0.01.0.2n-1ubuntu5.7
gzip 1.12-1ubuntu3.1 deb libssl1.11.1.1-1ubuntu2.1~18.04.13
hostname 3.23+nmu2ubuntu2 deb libstdc++68.4.0-1ubuntu1~18.04
httplib2 0.20.4 python libsystemd0237-3ubuntu10.52
init-system-helpers 1.66ubuntu1 deb libtasn1-64.13-2
iso-codes 4.16.0-1 deb libtdb11.3.15-2
jq 1.7.1 binary libtinfo56.1-1ubuntu1.18.04
jq 1.7.1-3ubuntu0.24.04.1 deb libudev1237-3ubuntu10.52
keyboard-configuration 1.226ubuntu1 deb libunistring20.9.9-0ubuntu2
keyboxd 2.4.4-2ubuntu17.4 deb libuuid12.31.1-0.4ubuntu3.7
krb5-locales 1.20.1-6ubuntu2.6 deb libvorbis0a1.3.5-4.2
launchpadlib 1.11.0 python libvorbisenc21.3.5-4.2
lazr-restfulclient 0.14.6 python libwayland-client01.16.0-1ubuntu1.1~18.04.3
lazr-uri 1.0.6 python libwayland-server01.16.0-1ubuntu1.1~18.04.3
libacl1 2.3.2-1build1.1 deb libwebrtc-audio-processing10.3-1
libaom3 3.8.2-2ubuntu0.1 deb libwind0-heimdal7.5.0+dfsg-1
libapparmor1 4.0.1really4.0.1-0ubuntu0.24.04.5 deb libwrap07.6.q-27
libappstream5 1.0.2-1build6 deb libx11-62:1.6.4-3ubuntu0.4
libapt-pkg6.0t64 2.8.3 deb libx11-data2:1.6.4-3ubuntu0.4
libargon2-1 0~20190702+dfsg-4build1 deb libx11-dev2:1.6.4-3ubuntu0.4
libasound2-data 1.2.11-1ubuntu0.1 deb libx11-xcb12:1.6.4-3ubuntu0.4
libasound2-plugins 1.2.7.1-1ubuntu5 deb libxau61:1.0.8-1ubuntu1
libasound2t64 1.2.11-1ubuntu0.1 deb libxau-dev1:1.0.8-1ubuntu1
libassuan0 2.5.6-1build1 deb libxaw72:1.0.13-1
libasyncns0 0.8-6build4 deb libxcb11.13-2~ubuntu18.04
libattr1 1:2.5.2-1build1.1 deb libxcb1-dev1.13-2~ubuntu18.04
libaudit-common 1:3.1.2-2.1build1.1 deb libxcb-dri2-01.13-2~ubuntu18.04
libaudit1 1:3.1.2-2.1build1.1 deb libxcb-dri3-01.13-2~ubuntu18.04
libavahi-client3 0.8-13ubuntu6.1 deb libxcb-glx01.13-2~ubuntu18.04
libavahi-common-data 0.8-13ubuntu6.1 deb libxcb-present01.13-2~ubuntu18.04
libavahi-common3 0.8-13ubuntu6.1 deb libxcb-shape01.13-2~ubuntu18.04
libavcodec60 7:6.1.1-3ubuntu5 deb libxcb-sync11.13-2~ubuntu18.04
libavutil58 7:6.1.1-3ubuntu5 deb libxcb-xfixes01.13-2~ubuntu18.04
libblkid1 2.39.3-9ubuntu6.4 deb libxcomposite11:0.4.4-2
libbrotli1 1.1.0-2build2 deb libxcursor11:1.1.15-1
libbsd0 0.12.1-1build1.1 deb libxdamage11:1.1.4-3
libbz2-1.0 1.0.8-5.1build0.1 deb libxdmcp61:1.1.2-3
libc-bin 2.39-0ubuntu8.7 deb libxdmcp-dev1:1.1.2-3
libc6 2.39-0ubuntu8.7 deb libxext62:1.3.3-1
libcairo-gobject2 1.18.0-3build1 deb libxfixes31:5.0.3-1
libcairo2 1.18.0-3build1 deb libxfont21:2.0.3-1
libcap-ng0 0.8.4-2build2 deb libxft22.3.2-1
libcap2 1:2.66-5ubuntu2.2 deb libxi62:1.7.9-1
libcap2-bin 1:2.66-5ubuntu2.2 deb libxinerama12:1.1.3-1
libcbor0.10 0.10.2-1.2ubuntu2 deb libxkbfile11:1.0.9-2
libcodec2-1.2 1.2.0-2build1 deb libxml22.9.4+dfsg1-6.1ubuntu1.4
libcom-err2 1.47.0-2.4~exp1ubuntu4.1 deb libxmu62:1.1.2-2
libcrypt1 1:4.4.36-4build1 deb libxmuu12:1.1.2-2
libcryptsetup12 2:2.7.0-1ubuntu4.2 deb libxpm41:3.5.12-1
libcups2t64 2.4.7-1.2ubuntu7.9 deb libxrandr22:1.5.1-1
libcurl3t64-gnutls 8.5.0-2ubuntu10.6 deb libxrender11:0.9.10-1
libcurl4t64 8.5.0-2ubuntu10.6 deb libxshmfence11.3-1
libdatrie1 0.2.13-3build1 deb libxt61:1.1.5-1
libdav1d7 1.4.1-1build1 deb libxtst62:1.2.3-1
libdb5.3t64 5.3.28+dfsg2-7 deb libxv12:1.0.11-1
libdbus-1-3 1.14.10-4ubuntu4.1 deb libxxf86dga12:1.1.4-1
libdconf1 0.40.0-4ubuntu0.1 deb libxxf86vm11:1.1.4-1
libde265-0 1.0.15-1build3 deb libzstd11.3.3+dfsg-2ubuntu1.2
libdebconfclient0 0.271ubuntu3 deb locales2.27-3ubuntu1.4
libdeflate0 1.19-1build1.1 deb login1:4.5-1ubuntu2
libdevmapper1.02.1 2:1.02.185-3ubuntu3.2 deb lsb-base9.20170808ubuntu1
libdrm-amdgpu1 2.4.125-1ubuntu0.1~24.04.1 deb lsb-release9.20170808ubuntu1
libdrm-common 2.4.125-1ubuntu0.1~24.04.1 deb man-db2.8.3-2ubuntu0.1
libdrm-intel1 2.4.125-1ubuntu0.1~24.04.1 deb mawk1.3.3-17ubuntu3
libdrm-nouveau2 2.4.125-1ubuntu0.1~24.04.1 deb mime-support3.60ubuntu1
libdrm-radeon1 2.4.125-1ubuntu0.1~24.04.1 deb mount2.31.1-0.4ubuntu3.7
libdrm2 2.4.125-1ubuntu0.1~24.04.1 deb multiarch-support2.27-3ubuntu1.4
libduktape207 2.7.0+tests-0ubuntu3 deb ncurses-base6.1-1ubuntu1.18.04
libdw1t64 0.190-1.1ubuntu0.1 deb ncurses-bin6.1-1ubuntu1.18.04
libedit2 3.1-20230828-1build1 deb openssh-client1:7.6p1-4ubuntu0.5
libegl-mesa0 25.2.8-0ubuntu0.24.04.1 deb openssl1.1.1-1ubuntu2.1~18.04.13
libegl1 1.7.0-1build1 deb passwd1:4.5-1ubuntu2
libelf1t64 0.190-1.1ubuntu0.1 deb perl-base5.26.1-6ubuntu0.5
libepoxy0 1.5.10-1build1 deb pinentry-curses1.1.0-1
libexpat1 2.6.1-2ubuntu0.3 deb procps2:3.3.12-3ubuntu1.2
libext2fs2t64 1.47.0-2.4~exp1ubuntu4.1 deb publicsuffix20180223.1310-1
libfdisk1 2.39.3-9ubuntu6.4 deb pulseaudio1:11.1-1ubuntu7.11
libffi8 3.4.6-1build1 deb pulseaudio-utils1:11.1-1ubuntu7.11
libfftw3-single3 3.3.10-1ubuntu3 deb python33.6.7-1~18.04
libfido2-1 1.14.0-1build3 deb python3.63.6.9-1~18.04ubuntu1.4
libflac12t64 1.4.3+ds-2.1ubuntu2 deb python3.6-minimal3.6.9-1~18.04ubuntu1.4
libfontconfig1 2.15.0-1.1ubuntu2 deb python3-apt1.6.5ubuntu0.7
libfontenc1 1:1.1.8-1build1 deb python3-dbus1.2.6-1
libfreetype6 2.13.2+dfsg-1build3 deb python3-gi3.26.1-2ubuntu1
libfribidi0 1.0.13-3build1 deb python3-minimal3.6.7-1~18.04
libfuse2t64 2.9.9-8.1build1 deb python3-software-properties0.96.24.32.18
libgbm1 25.2.8-0ubuntu0.24.04.1 deb python-apt-common1.6.5ubuntu0.7
libgcc-s1 14.2.0-4ubuntu2~24.04 deb readline-common7.0-3
libgcrypt20 1.10.3-2build1 deb sed4.4-2
libgdbm6t64 1.23-5.1build1 deb sensible-utils0.0.12
libgdk-pixbuf-2.0-0 2.42.10+dfsg-3ubuntu3.2 deb software-properties-common0.96.24.32.18
libgdk-pixbuf2.0-common 2.42.10+dfsg-3ubuntu3.2 deb ssl-cert1.0.39
libgif7 5.2.2-1ubuntu1 deb sudo1.8.21p2-3ubuntu1.4
libgirepository-1.0-1 1.80.1-1 deb sysvinit-utils2.88dsf-59.10ubuntu1
libgl1 1.7.0-1build1 deb tar1.29b-2ubuntu0.2
libgl1-mesa-dri 25.2.8-0ubuntu0.24.04.1 deb tzdata2021e-0ubuntu0.18.04
libglib2.0-0t64 2.80.0-6ubuntu3.8 deb ubuntu-keyring2018.09.18.1~18.04.2
libglib2.0-bin 2.80.0-6ubuntu3.8 deb ucf3.0038
libglib2.0-data 2.80.0-6ubuntu3.8 deb udev237-3ubuntu10.52
libglvnd0 1.7.0-1build1 deb util-linux2.31.1-0.4ubuntu3.7
libglx-mesa0 25.2.8-0ubuntu0.24.04.1 deb x11-apps7.7+6ubuntu1
libglx0 1.7.0-1build1 deb x11-common1:7.7+19ubuntu7.1
libgmp10 2:6.3.0+dfsg-2ubuntu6.1 deb x11proto-core-dev2018.4-4
libgnutls30t64 3.8.3-1.1ubuntu3.4 deb x11proto-dev2018.4-4
libgomp1 14.2.0-4ubuntu2~24.04 deb x11-session-utils7.7+2build1
libgpg-error0 1.47-3build2.1 deb x11-utils7.7+3build1
libgraphite2-3 1.3.14-2build1 deb x11-xkb-utils7.7+3ubuntu0.18.04.1
libgs-common 10.02.1~dfsg1-0ubuntu7.8 deb x11-xserver-utils7.7+7build1
libgs10 10.02.1~dfsg1-0ubuntu7.8 deb xfonts-base1:1.0.4+nmu1
libgs10-common 10.02.1~dfsg1-0ubuntu7.8 deb xfonts-encodings1:1.0.4-2
libgsm1 1.0.22-1build1 deb xfonts-utils1:7.7+6
libgssapi-krb5-2 1.20.1-6ubuntu2.6 deb xkb-data2.23.1-1ubuntu1.18.04.1
libgstreamer-plugins-base1.0-0 1.24.2-1ubuntu0.3 deb xorg-sgml-doctools1:1.11-1
libgstreamer1.0-0 1.24.2-1ubuntu0.1 deb xorgxrdp0.9.5-2
libharfbuzz0b 8.3.0-2build2 deb xrdp0.9.5-2
libheif-plugin-aomdec 1.17.6-1ubuntu4.2 deb xserver-common2:1.19.6-1ubuntu4.9
libheif-plugin-libde265 1.17.6-1ubuntu4.2 deb xserver-xorg-core2:1.19.6-1ubuntu4.9
libheif1 1.17.6-1ubuntu4.2 deb xtrans-dev1.3.5-1
libhogweed6t64 3.9.1-2.2build1.1 deb xutils1:7.7+19ubuntu7.1
libhwy1t64 1.0.7-8.1build1 deb zlib1g1:1.2.11.dfsg-0ubuntu2
libice6 2:1.0.10-1build3 deb
libicu74 74.2-1ubuntu3.1 deb
libid3tag0 0.15.1b-14build1 deb
libidn12 1.42-1build1 deb
libidn2-0 2.3.7-2build1.1 deb
libijs-0.35 0.35-15.1build1 deb
libimlib2t64 1.12.1-1.1build2 deb
libisl23 0.26-3build1.1 deb
libjack-jackd2-0 1.9.21~dfsg-3ubuntu3 deb
libjbig0 2.1-6.1ubuntu2 deb
libjbig2dec0 0.20-1build3 deb
libjpeg-turbo8 2.1.5-2ubuntu2 deb
libjpeg8 8c-2ubuntu11 deb
libjq1 1.7.1-3ubuntu0.24.04.1 deb
libjson-c5 0.17-1build1 deb
libjson-glib-1.0-0 1.8.0-2build2 deb
libjson-glib-1.0-common 1.8.0-2build2 deb
libjxl0.7 0.7.0-10.2ubuntu6.1 deb
libk5crypto3 1.20.1-6ubuntu2.6 deb
libkeyutils1 1.6.3-3build1 deb
libkmod2 31+20240202-2ubuntu7.1 deb
libkrb5-3 1.20.1-6ubuntu2.6 deb
libkrb5support0 1.20.1-6ubuntu2.6 deb
libksba8 1.6.6-1build1 deb
liblcms2-2 2.14-2build1 deb
libldap-common 2.6.10+dfsg-0ubuntu0.24.04.1 deb
libldap2 2.6.10+dfsg-0ubuntu0.24.04.1 deb
liblerc4 4.0.0+ds-4ubuntu2 deb
libllvm20 1:20.1.2-0ubuntu1~24.04.2 deb
liblocale-gettext-perl 1.07-6ubuntu5 deb
libltdl7 2.4.7-7build1 deb
liblz4-1 1.9.4-1build1.1 deb
liblzma5 5.6.1+really5.4.5-1ubuntu0.2 deb
libmd0 1.1.0-2build1.1 deb
libmount1 2.39.3-9ubuntu6.4 deb
libmp3lame0 3.100-6build1 deb
libmpc3 1.3.1-1build1.1 deb
libmpfr6 4.2.1-1build1.1 deb
libmpg123-0t64 1.32.5-1ubuntu1.1 deb
libncursesw6 6.4+20240113-1ubuntu2 deb
libnettle8t64 3.9.1-2.2build1.1 deb
libnghttp2-14 1.59.0-1ubuntu0.2 deb
libnpth0t64 1.6-3.1build1 deb
libnuma1 2.0.18-1ubuntu0.24.04.1 deb
libobrender32v5 3.6.1-12build5 deb
libobt2v5 3.6.1-12build5 deb
libogg0 1.3.5-3build1 deb
libonig5 6.9.9-1build1 deb
libopenjp2-7 2.5.0-2ubuntu0.4 deb
libopus0 1.4-1build1 deb
liborc-0.4-0t64 1:0.4.38-1ubuntu0.1 deb
libp11-kit0 0.25.3-4ubuntu2.1 deb
libpackagekit-glib2-18 1.2.8-2ubuntu1.4 deb
libpam-modules 1.5.3-5ubuntu5.5 deb
libpam-modules-bin 1.5.3-5ubuntu5.5 deb
libpam-runtime 1.5.3-5ubuntu5.5 deb
libpam-systemd 255.4-1ubuntu8.12 deb
libpam0g 1.5.3-5ubuntu5.5 deb
libpango-1.0-0 1.52.1+ds-1build1 deb
libpangocairo-1.0-0 1.52.1+ds-1build1 deb
libpangoft2-1.0-0 1.52.1+ds-1build1 deb
libpangoxft-1.0-0 1.52.1+ds-1build1 deb
libpaper1 1.1.29build1 deb
libpciaccess0 0.17-3ubuntu0.24.04.2 deb
libpcre2-8-0 10.42-4ubuntu2.1 deb
libpipeline1 1.5.7-2 deb
libpixman-1-0 0.42.2-1build1 deb
libpng16-16t64 1.6.43-5ubuntu0.5 deb
libpolkit-agent-1-0 124-2ubuntu1.24.04.2 deb
libpolkit-gobject-1-0 124-2ubuntu1.24.04.2 deb
libproc2-0 2:4.0.4-4ubuntu3.2 deb
libproxy1v5 0.5.4-4build1 deb
libpsl5t64 0.21.2-1.1build1 deb
libpthread-stubs0-dev 0.4-1build3 deb
libpulse0 1:16.1+dfsg1-2ubuntu10.1 deb
libpython3-stdlib 3.12.3-0ubuntu2.1 deb
libpython3.12-minimal 3.12.3-1ubuntu0.11 deb
libpython3.12-stdlib 3.12.3-1ubuntu0.11 deb
librav1e0 0.7.1-2 deb
libreadline8t64 8.2-4build1 deb
librsvg2-2 2.58.0+dfsg-1build1 deb
librtmp1 2.4+20151223.gitfa8646d.1-2build7 deb
libsamplerate0 0.2.2-4build1 deb
libsasl2-2 2.1.28+dfsg1-5ubuntu3.1 deb
libsasl2-modules 2.1.28+dfsg1-5ubuntu3.1 deb
libsasl2-modules-db 2.1.28+dfsg1-5ubuntu3.1 deb
libseccomp2 2.5.5-1ubuntu3.1 deb
libselinux1 3.5-2ubuntu2.1 deb
libsemanage-common 3.5-1build5 deb
libsemanage2 3.5-1build5 deb
libsensors-config 1:3.6.0-9build1 deb
libsensors5 1:3.6.0-9build1 deb
libsepol2 3.5-2build1 deb
libsharpyuv0 1.3.2-0.4build3 deb
libshine3 3.1.1-2build1 deb
libsigsegv2 2.14-1ubuntu2 deb
libsm6 2:1.2.3-1build3 deb
libsmartcols1 2.39.3-9ubuntu6.4 deb
libsnapd-glib-2-1 1.64-0ubuntu5 deb
libsnappy1v5 1.1.10-1build1 deb
libsndfile1 1.2.2-1ubuntu5.24.04.1 deb
libsoup-3.0-0 3.4.4-5ubuntu0.7 deb
libsoup-3.0-common 3.4.4-5ubuntu0.7 deb
libsoxr0 0.1.3-4build3 deb
libspectre1 0.2.12-1build2 deb
libspeex1 1.2.1-2ubuntu2.24.04.1 deb
libspeexdsp1 1.2.1-1ubuntu3 deb
libsqlite3-0 3.45.1-1ubuntu2.5 deb
libss2 1.47.0-2.4~exp1ubuntu4.1 deb
libssh-4 0.10.6-2ubuntu0.2 deb
libssl3t64 3.0.13-0ubuntu3.7 deb
libstartup-notification0 0.12-6build3 deb
libstdc++6 14.2.0-4ubuntu2~24.04 deb
libstemmer0d 2.2.0-4build1 deb
libsvtav1enc1d1 1.7.0+dfsg-2build1 deb
libswresample4 7:6.1.1-3ubuntu5 deb
libsystemd-shared 255.4-1ubuntu8.12 deb
libsystemd0 255.4-1ubuntu8.12 deb
libtasn1-6 4.19.0-3ubuntu0.24.04.2 deb
libtdb1 1.4.10-1build1 deb
libthai-data 0.1.29-2build1 deb
libthai0 0.1.29-2build1 deb
libtheora0 1.1.1+dfsg.1-16.1build3 deb
libtiff6 4.5.1+git230720-4ubuntu2.4 deb
libtinfo6 6.4+20240113-1ubuntu2 deb
libtwolame0 0.4.0-2build3 deb
libuchardet0 0.0.8-1build1 deb
libudev1 255.4-1ubuntu8.12 deb
libunistring5 1.1-2build1.1 deb
libunwind8 1.6.2-3build1.1 deb
libutempter0 1.2.1-3build1 deb
libuuid1 2.39.3-9ubuntu6.4 deb
libva-drm2 2.20.0-2ubuntu0.1 deb
libva-x11-2 2.20.0-2ubuntu0.1 deb
libva2 2.20.0-2ubuntu0.1 deb
libvdpau1 1.5-2build1 deb
libvorbis0a 1.3.7-1build3 deb
libvorbisenc2 1.3.7-1build3 deb
libvpl2 2023.3.0-1build1 deb
libvpx9 1.14.0-1ubuntu2.2 deb
libvulkan1 1.3.275.0-1build1 deb
libwayland-client0 1.22.0-2.1build1 deb
libwebp7 1.3.2-0.4build3 deb
libwebpdemux2 1.3.2-0.4build3 deb
libwebpmux3 1.3.2-0.4build3 deb
libwebrtc-audio-processing1 0.3.1-0ubuntu6 deb
libwrap0 7.6.q-33 deb
libx11-6 2:1.8.7-1build1 deb
libx11-data 2:1.8.7-1build1 deb
libx11-dev 2:1.8.7-1build1 deb
libx11-xcb1 2:1.8.7-1build1 deb
libx264-164 2:0.164.3108+git31e19f9-1 deb
libx265-199 3.5-2build1 deb
libxau-dev 1:1.0.9-1build6 deb
libxau6 1:1.0.9-1build6 deb
libxaw7 2:1.0.14-1build2 deb
libxcb-damage0 1.15-1ubuntu2 deb
libxcb-dri2-0 1.15-1ubuntu2 deb
libxcb-dri3-0 1.15-1ubuntu2 deb
libxcb-glx0 1.15-1ubuntu2 deb
libxcb-present0 1.15-1ubuntu2 deb
libxcb-randr0 1.15-1ubuntu2 deb
libxcb-render0 1.15-1ubuntu2 deb
libxcb-shape0 1.15-1ubuntu2 deb
libxcb-shm0 1.15-1ubuntu2 deb
libxcb-sync1 1.15-1ubuntu2 deb
libxcb-util1 0.4.0-1build3 deb
libxcb-xfixes0 1.15-1ubuntu2 deb
libxcb1 1.15-1ubuntu2 deb
libxcb1-dev 1.15-1ubuntu2 deb
libxcomposite1 1:0.4.5-1build3 deb
libxcursor1 1:1.2.1-1build1 deb
libxcvt0 0.1.2-1build1 deb
libxdamage1 1:1.1.6-1build1 deb
libxdmcp-dev 1:1.1.3-0ubuntu6 deb
libxdmcp6 1:1.1.3-0ubuntu6 deb
libxext6 2:1.3.4-1build2 deb
libxfixes3 1:6.0.0-2build1 deb
libxfont2 1:2.0.6-1build1 deb
libxft2 2.3.6-1build1 deb
libxi6 2:1.8.1-1build1 deb
libxinerama1 2:1.1.4-3build1 deb
libxkbfile1 1:1.1.0-1build4 deb
libxml2 2.9.14+dfsg-1.3ubuntu3.7 deb
libxmlb2 0.3.18-1 deb
libxmu6 2:1.1.3-3build2 deb
libxmuu1 2:1.1.3-3build2 deb
libxpm4 1:3.5.17-1build2 deb
libxrandr2 2:1.5.2-2build1 deb
libxrender1 1:0.9.10-1.1build1 deb
libxshmfence1 1.3-1build5 deb
libxss1 1:1.2.3-1build3 deb
libxt6t64 1:1.2.1-1.2build1 deb
libxtst6 2:1.2.3-1.1build1 deb
libxv1 2:1.0.11-1.1build1 deb
libxvidcore4 2:1.3.7-1build1 deb
libxvmc1 2:1.0.12-2build3 deb
libxxf86dga1 2:1.1.5-1build1 deb
libxxf86vm1 1:1.1.4-1build4 deb
libxxhash0 0.8.2-2build1 deb
libyaml-0-2 0.2.5-1build1 deb
libzstd1 1.5.5+dfsg2-2build1.1 deb
libzvbi-common 0.2.42-2 deb
libzvbi0t64 0.2.42-2 deb
locales 2.39-0ubuntu8.7 deb
locales-all 2.39-0ubuntu8.7 deb
login 1:4.13+dfsg1-4ubuntu3.2 deb
logsave 1.47.0-2.4~exp1ubuntu4.1 deb
lsb-release 12.0-2 deb
man-db 2.12.0-4build2 deb
mawk 1.3.4.20240123-1build1 deb
media-types 10.1.0 deb
mesa-libgallium 25.2.8-0ubuntu0.24.04.1 deb
mesa-va-drivers 25.2.8-0ubuntu0.24.04.1 deb
mesa-vulkan-drivers 25.2.8-0ubuntu0.24.04.1 deb
mount 2.39.3-9ubuntu6.4 deb
ncurses-base 6.4+20240113-1ubuntu2 deb
ncurses-bin 6.4+20240113-1ubuntu2 deb
netbase 6.4 deb
netcat-openbsd 1.226-1ubuntu2 deb
oauthlib 3.2.2 python
ocl-icd-libopencl1 2.3.2-1build1 deb
openbox 3.6.1-12build5 deb
openssh-client 1:9.6p1-3ubuntu13.14 deb
openssl 3.0.13-0ubuntu3.7 deb
packagekit 1.2.8-2ubuntu1.4 deb
passwd 1:4.13+dfsg1-4ubuntu3.2 deb
perl-base 5.38.2-3.2ubuntu0.2 deb
pinentry-curses 1.2.1-3ubuntu5 deb
polkitd 124-2ubuntu1.24.04.2 deb
poppler-data 0.4.12-1 deb
procps 2:4.0.4-4ubuntu3.2 deb
publicsuffix 20231001.0357-0.1 deb
pulseaudio 1:16.1+dfsg1-2ubuntu10.1 deb
pulseaudio-utils 1:16.1+dfsg1-2ubuntu10.1 deb
pygobject 3.48.2 python
pyjwt 2.7.0 python
pyparsing 3.1.1 python
python-apt 2.7.7+ubuntu5.2 python
python-apt-common 2.7.7ubuntu5.2 deb
python3 3.12.3-0ubuntu2.1 deb
python3-apt 2.7.7ubuntu5.2 deb
python3-blinker 1.7.0-1 deb
python3-cffi-backend 1.16.0-2build1 deb
python3-cryptography 41.0.7-4ubuntu0.1 deb
python3-dbus 1.3.2-5build3 deb
python3-distro 1.9.0-1 deb
python3-gi 3.48.2-1 deb
python3-httplib2 0.20.4-3 deb
python3-jwt 2.7.0-1 deb
python3-launchpadlib 1.11.0-6 deb
python3-lazr.restfulclient 0.14.6-1 deb
python3-lazr.uri 1.0.6-3 deb
python3-minimal 3.12.3-0ubuntu2.1 deb
python3-oauthlib 3.2.2-1 deb
python3-pkg-resources 68.1.2-2ubuntu1.2 deb
python3-pyparsing 3.1.1-1 deb
python3-six 1.16.0-4 deb
python3-software-properties 0.99.49.3 deb
python3-wadllib 1.3.6-5 deb
python3.12 3.12.3-1ubuntu0.11 deb
python3.12-minimal 3.12.3-1ubuntu0.11 deb
readline-common 8.2-4build1 deb
sed 4.9-2build1 deb
sensible-utils 0.0.22 deb
session-migration 0.3.9build1 deb
sgml-base 1.31 deb
shared-mime-info 2.4-4 deb
six 1.16.0 python
software-properties-common 0.99.49.3 deb
ssl-cert 1.1.2ubuntu1 deb
stdlib go1.24.11 go-module
stdlib go1.25.6 go-module
sudo 1.9.15p5-3ubuntu5.24.04.1 deb
systemd 255.4-1ubuntu8.12 deb
systemd-dev 255.4-1ubuntu8.12 deb
systemd-sysv 255.4-1ubuntu8.12 deb
sysvinit-utils 3.08-6ubuntu3 deb
tags.cncf.io/container-device-interface v1.1.0 go-module
tar 1.35+dfsg-3build1 deb
tzdata 2025b-0ubuntu0.24.04.1 deb
ubuntu-keyring 2023.11.28.1 deb
ucf 3.0043+nmu1 deb
udev 255.4-1ubuntu8.12 deb
unminimize 0.2.1 deb
util-linux 2.39.3-9ubuntu6.4 deb
wadllib 1.3.6 python
x11-apps 7.7+11build3 deb
x11-common 1:7.7+23ubuntu3 deb
x11-session-utils 7.7+6build2 deb
x11-utils 7.7+6build2 deb
x11-xkb-utils 7.7+8build2 deb
x11-xserver-utils 7.7+10build2 deb
x11proto-dev 2023.2-1 deb
xbitmaps 1.1.1-2.2 deb
xfonts-base 1:1.0.5+nmu1 deb
xfonts-encodings 1:1.0.5-0ubuntu2 deb
xfonts-utils 1:7.7+6build3 deb
xkb-data 2.41-2ubuntu1.1 deb
xml-core 0.19 deb
xorg-sgml-doctools 1:1.11-1.1 deb
xorgxrdp 1:0.9.19-1 deb
xrdp 0.9.24-4 deb
xserver-common 2:21.1.12-1ubuntu1.5 deb
xserver-xorg-core 2:21.1.12-1ubuntu1.5 deb
xserver-xorg-video-amdgpu 23.0.0-1ubuntu0.24.04.1 deb
xserver-xorg-video-ati 1:22.0.0-1build1 deb
xserver-xorg-video-intel 2:2.99.917+git20210115-1build1 deb
xserver-xorg-video-nouveau 1:1.0.17-2ubuntu0.1 deb
xserver-xorg-video-qxl 0.1.6-1build1 deb
xserver-xorg-video-radeon 1:22.0.0-1build1 deb
xterm 390-1ubuntu3 deb
xtrans-dev 1.4.0-1 deb
xutils 1:7.7+23ubuntu3 deb
zlib1g 1:1.3.dfsg-3.1ubuntu2.1 deb

View File

@ -4,181 +4,30 @@
project_name: baseimage-rdesktop project_name: baseimage-rdesktop
full_custom_readme: | full_custom_readme: |
{% raw -%} {% raw -%}
# rdesktop Base Images from LinuxServer [linuxserverurl]: https://linuxserver.io
[forumurl]: https://forum.linuxserver.io
[ircurl]: https://www.linuxserver.io/irc/
The purpose of these images is to provide a full featured rdesktop Linux desktop experience for any Linux application or desktop environment. They ship with passwordless sudo to allow easy package installation, testing, and customization. By default they have no logic to mount out anything but the users home directory, meaning on image updates anything outside of `/config` will be lost. [![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png?v=4&s=4000)][linuxserverurl]
- Support for using our base images in your own projects is provided on a Reasonable Endeavours basis, please see our [Support Policy](https://www.linuxserver.io/supportpolicy) for details. ## Contact information:-
- There is no `latest` tag for any of our base images, by design. We often make breaking changes between versions, and we don't publish release notes like we do for the downstream images.
- If you're intending to distribute an image using one of our bases, please read our [docs on container branding](https://docs.linuxserver.io/general/container-branding/) first.
- Images are supported for as long as the upstream release on which they are based, after which we will stop building new base images for that version.
# Options | Type | Address/Details |
| :---: | --- |
| Discord | [Discord](https://discord.gg/YWrKVTn) |
| IRC | freenode at `#linuxserver.io` more information at:- [IRC][ircurl]
| Forum | [LinuxServer.io forum][forumurl] |
All application settings are passed via environment variables: &nbsp;
&nbsp;
| Variable | Description | [![](https://images.microbadger.com/badges/image/lsiobase/rdesktop.svg)](https://microbadger.com/images/lsiobase/rdesktop "Get your own image badge on microbadger.com")
| :----: | --- |
| LC_ALL | Set the Language for the container to run as IE `fr_FR.UTF-8` `ar_AE.UTF-8` |
| NO_DECOR | If set the application will run without window borders. (Decor can be enabled and disabled with Ctrl+Shift+d) |
| NO_FULL | Do not autmatically fullscreen applications when using openbox. |
## Language Support - Internationalization [![](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/Dockerfile-Link-green.png)](https://github.com/linuxserver/docker-baseimage-rdesktop/blob/master/Dockerfile)
The environment variable `LC_ALL` can be used to start this image in a different language than English simply pass for example to launch the Desktop session in French `LC_ALL=fr_FR.UTF-8`. Some languages like Chinese, Japanese, or Korean will be missing fonts needed to render properly known as cjk fonts, but others may exist and not be installed. We only ensure fonts for Latin characters are present. Fonts can be installed with a mod on startup. A custom base image built with [Ubuntu linux](https://www.ubuntu.com/) and [xrdp](http://xrdp.org/)
To install cjk fonts on startup as an example pass the environment variables(Debian):
```
-e DOCKER_MODS=linuxserver/mods:universal-package-install
-e INSTALL_PACKAGES=fonts-noto-cjk
-e LC_ALL=zh_CN.UTF-8
```
# Available Distros
All base images are built for x86_64 and aarch64 platforms.
| Distro | Current Tag |
| :----: | --- |
| Ubuntu | ubuntunoble |
# PRoot Apps
All images include [proot-apps](https://github.com/linuxserver/proot-apps) which allow portable applications to be installed to persistent storage in the user's `$HOME` directory. These applications and their settings will persist upgrades of the base container and can be mounted into different flavors of rdesktop containers. IE if you are running an Alpine based container you will be able to use the same `/config` directory mounted into an Ubuntu based container and retain the same applications and settings as long as they were installed with `proot-apps install`.
A list of linuxserver.io supported applications is located [HERE](https://github.com/linuxserver/proot-apps?tab=readme-ov-file#supported-apps).
# I like to read documentation
## Building images
### Application containers
Included in these base images is a simple [Openbox DE](http://openbox.org/) and the accompanying logic needed to launch a single application. Lets look at the bare minimum needed to create an application container starting with a Dockerfile:
```
FROM ghcr.io/linuxserver/baseimage-rdesktop:alpine320
RUN apk add --no-cache firefox
COPY /root /
```
And we can define the application to start using:
```
mkdir -p root/defaults
echo "firefox" > root/defaults/autostart
```
Resulting in a folder that looks like this:
```
├── Dockerfile
└── root
└── defaults
└── autostart
```
Now build and test:
```
docker build -t firefox .
docker run --rm -it -p 3389:3389 firefox bash
```
On rdp port 3389 you will be presented with a fullscreen firefox window.
This similar setup can be used to embed any Linux Desktop application in an rdp accesible container.
**If building images it is important to note that many application will not work inside of Docker without `--security-opt seccomp=unconfined`, they may have launch flags to not use syscalls blocked by Docker like with chromium based applications and `--no-sandbox`. In general do not expect every application will simply work like a native Linux installation without some modifications**
#### In container application launching
Also included in the init logic is the ability to define application launchers. As the user has the ability to close the application or if they want to open multiple instances of it this can be useful. Here is an example of a menu definition file for Firefox:
```
<?xml version="1.0" encoding="utf-8"?>
<openbox_menu xmlns="http://openbox.org/3.4/menu">
<menu id="root-menu" label="MENU">
<item label="xterm" icon="/usr/share/pixmaps/xterm-color_48x48.xpm"><action name="Execute"><command>/usr/bin/xterm</command></action></item>
<item label="FireFox" icon="/usr/share/icons/hicolor/48x48/apps/firefox.png"><action name="Execute"><command>/usr/bin/firefox</command></action></item>
</menu>
</openbox_menu>
```
Simply create this file and add it to your defaults folder as `menu.xml`:
```
├── Dockerfile
└── root
└── defaults
└── autostart
└── menu.xml
```
This allows users to right click the desktop background to launch the application.
### Full Desktop environments
When building an application container we are leveraging the Openbox DE to handle window management, but it is also possible to completely replace the DE that is launched on container init using the `startwm.sh` script, located again in defaults:
```
├── Dockerfile
└── root
└── defaults
└── startwm.sh
```
If included in the build logic it will be launched in place of Openbox. Examples for this kind of configuration can be found in our [rdesktop repository](https://github.com/linuxserver/docker-rdesktop)
## Open Source GPU Acceleration
For accelerated apps or games, render devices can be mounted into the container and leveraged by applications using:
`--device /dev/dri:/dev/dri`
This feature only supports **Open Source** GPU drivers:
| Driver | Description |
| :----: | --- |
| Intel | i965 and i915 drivers for Intel iGPU chipsets |
| AMD | AMDGPU, Radeon, and ATI drivers for AMD dedicated or APU chipsets |
| NVIDIA | nouveau2 drivers only, closed source NVIDIA drivers lack DRI3 support |
## Nvidia GPU Support
**Nvidia is not compatible with Alpine based images**
Nvidia support is available by leveraging Zink for OpenGL support. This can be enabled with the following run flags:
| Variable | Description |
| :----: | --- |
| --gpus all | This can be filtered down but for most setups this will pass the one Nvidia GPU on the system |
| --runtime nvidia | Specify the Nvidia runtime which mounts drivers and tools in from the host |
The compose syntax is slightly different for this as you will need to set nvidia as the default runtime:
```
sudo nvidia-ctk runtime configure --runtime=docker --set-as-default
sudo service docker restart
```
And to assign the GPU in compose:
```
services:
myimage:
image: myname/myimage:mytag
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [compute,video,graphics,utility]
```
The following line is only in this repo for loop testing: The following line is only in this repo for loop testing:
- { date: "01.01.50:", desc: "I am the release message for this internal repo." } - { date: "01.01.50:", desc: "I am the release message for this internal repo." }
{%- endraw %} {%- endraw %}

View File

@ -1 +0,0 @@
xterm

0
root/defaults/bashrc Executable file → Normal file
View File

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<openbox_menu xmlns="http://openbox.org/3.4/menu">
<menu id="root-menu" label="MENU">
<item label="xterm" icon="/usr/share/pixmaps/xterm-color_48x48.xpm"><action name="Execute"><command>/usr/bin/xterm</command></action></item>
</menu>
</openbox_menu>

View File

@ -1,16 +0,0 @@
#!/usr/bin/env bash
# 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
/startpulse.sh &
/usr/bin/openbox-session

View File

@ -1,8 +1,7 @@
#!/usr/bin/with-contenv bash #!/usr/bin/with-contenv bash
# shellcheck shell=bash
if [[ ! -f "/keylock" ]]; then if [ ! -f "/keylock" ]; then
cd /etc/xrdp || exit 1 cd /etc/xrdp
xrdp-keygen xrdp xrdp-keygen xrdp
rm -f /etc/xrdp/*.pem rm -f /etc/xrdp/*.pem
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \ openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \

View File

@ -0,0 +1,23 @@
#!/usr/bin/with-contenv bash
if [ ! -e /lock.file ]; then
# give abc a sudo shell
chsh abc -s /bin/bash
sed -e 's/%sudo ALL=(ALL:ALL) ALL/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' \
-i /etc/sudoers
sed -e 's/^wheel:\(.*\)/wheel:\1,abc/g' -i /etc/group
fi
# create lock file after first run
touch /lock.file
# default file copies first run
[[ ! -d /config/.config ]] && \
mkdir -p /config/.config && \
cp /defaults/bashrc /config/.bashrc && \
cp /defaults/startwm.sh /config/startwm.sh
# permissions
PERM=$(stat -c '%U' /config/.config)
[[ "${PERM}" != "abc" ]] && \
chown -R abc:abc /config

View File

@ -1 +0,0 @@
oneshot

View File

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

View File

@ -1 +0,0 @@
oneshot

View File

@ -1 +0,0 @@
/etc/s6-overlay/s6-rc.d/init-prep-xrdp/run

View File

@ -1 +0,0 @@
oneshot

View File

@ -1 +0,0 @@
# This file doesn't do anything, it's just the end of the rdesktop base init process

View File

@ -1,67 +0,0 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
# default file copies first run
if [[ ! -d /config/.config ]]; then
mkdir -p /config/.config
cp /defaults/bashrc /config/.bashrc
cp /defaults/startwm.sh /config/startwm.sh
fi
if [[ ! -f /config/.config/openbox/autostart ]]; then
mkdir -p /config/.config/openbox
cp /defaults/autostart /config/.config/openbox/autostart
fi
if [[ ! -f /config/.config/openbox/menu.xml ]]; then
mkdir -p /config/.config/openbox
cp /defaults/menu.xml /config/.config/openbox/menu.xml
fi
# XDG Home
printf "/config/.XDG" > /run/s6/container_environment/XDG_RUNTIME_DIR
if [ ! -d "/config/.XDG" ]; then
mkdir -p /config/.XDG
chown abc:abc /config/.XDG
fi
# Locale Support
if [ ! -z ${LC_ALL+x} ]; then
printf "${LC_ALL%.UTF-8}" > /run/s6/container_environment/LANGUAGE
printf "${LC_ALL}" > /run/s6/container_environment/LANG
fi
# Remove window borders
if [[ ! -z ${NO_DECOR+x} ]] && [[ ! -f /decorlock ]]; then
sed -i \
's|</applications>| <application class="*"> <decor>no</decor> </application>\n</applications>|' \
/etc/xdg/openbox/rc.xml
touch /decorlock
fi
# Fullscreen everything in openbox unless the user explicitly disables it
if [[ ! -z ${NO_FULL+x} ]] && [[ ! -f /fulllock ]]; then
sed -i \
'/<application class="\*"><maximized>yes<\/maximized><\/application>/d' \
/etc/xdg/openbox/rc.xml
touch /fulllock
fi
# Add proot-apps
if [ ! -f "/config/.local/bin/proot-apps" ]; then
mkdir -p /config/.local/bin/
cp /proot-apps/* /config/.local/bin/
echo 'export PATH="/config/.local/bin:$PATH"' >> /config/.bashrc
chown abc:abc \
/config/.bashrc \
/config/.local/ \
/config/.local/bin \
/config/.local/bin/{ncat,proot-apps,proot,jq,pversion}
elif ! diff -q /proot-apps/pversion /config/.local/bin/pversion > /dev/null; then
cp /proot-apps/* /config/.local/bin/
chown abc:abc /config/.local/bin/{ncat,proot-apps,proot,jq,pversion}
fi
# permissions
PERM=$(stat -c '%U' /config/.config)
if [[ "${PERM}" != "abc" ]]; then
chown -R abc:abc /config
fi

View File

@ -1 +0,0 @@
oneshot

View File

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

View File

@ -1,36 +0,0 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
FILES=$(find /dev/dri /dev/dvb -type c -print 2>/dev/null)
for i in $FILES
do
VIDEO_GID=$(stat -c '%g' "${i}")
VIDEO_UID=$(stat -c '%u' "${i}")
# check if user matches device
if id -u abc | grep -qw "${VIDEO_UID}"; then
echo "**** permissions for ${i} are good ****"
else
# check if group matches and that device has group rw
if id -G abc | grep -qw "${VIDEO_GID}" && [[ $(stat -c '%A' "${i}" | cut -b 5,6) = "rw" ]]; then
echo "**** permissions for ${i} are good ****"
# check if device needs to be added to video group
elif ! id -G abc | grep -qw "${VIDEO_GID}"; then
# check if video group needs to be created
VIDEO_NAME=$(getent group "${VIDEO_GID}" | awk -F: '{print $1}')
if [ -z "${VIDEO_NAME}" ]; then
VIDEO_NAME="video$(head /dev/urandom | tr -dc 'a-z0-9' | head -c4)"
groupadd "${VIDEO_NAME}"
groupmod -g "${VIDEO_GID}" "${VIDEO_NAME}"
echo "**** creating video group ${VIDEO_NAME} with id ${VIDEO_GID} ****"
fi
echo "**** adding ${i} to video group ${VIDEO_NAME} with id ${VIDEO_GID} ****"
usermod -a -G "${VIDEO_NAME}" abc
fi
# check if device has group rw
if [[ $(stat -c '%A' "${i}" | cut -b 5,6) != "rw" ]]; then
echo -e "**** The device ${i} does not have group read/write permissions, attempting to fix inside the container.If it doesn't work, you can run the following on your docker host: ****\nsudo chmod g+rw ${i}\n"
chmod g+rw "${i}"
fi
fi
done

View File

@ -1 +0,0 @@
oneshot

View File

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

View File

@ -1 +0,0 @@
longrun

View File

@ -1,12 +0,0 @@
#! /usr/bin/execlineb -P
# Move stderr to out so it's piped to logger
fdmove -c 2 1
# Notify service manager when xrdp is up
s6-notifyoncheck -w 500 -c "nc -z localhost 3389"
# set env
s6-env DISPLAY=:1
/usr/sbin/xrdp --nodaemon

View File

@ -1 +0,0 @@
longrun

View File

@ -1,9 +1,9 @@
#! /usr/bin/execlineb -P #!/bin/execlineb -P
# Redirect stderr to stdout. # Redirect stderr to stdout.
fdmove -c 2 1 fdmove -c 2 1
# Notify service manager when xrdp is up # Notify service manager when xrdp is up
s6-notifyoncheck -w 500 -c "nc -z localhost 3350" s6-notifyoncheck -w 500 -c "true &>/dev/null </dev/tcp/127.0.0.1/3350"
/usr/sbin/xrdp-sesman --nodaemon /usr/sbin/xrdp-sesman --nodaemon

View File

@ -0,0 +1 @@
3

15
root/etc/services.d/xrdp/run Executable file
View File

@ -0,0 +1,15 @@
#!/bin/execlineb -P
# Move stderr to out so it's piped to logger
fdmove -c 2 1
# Notify service manager when xrdp is up
s6-notifyoncheck -w 500 -c "true &>/dev/null </dev/tcp/127.0.0.1/3389"
# Wait until other services are running
if { s6-svwait -t 10000 -U /var/run/s6/services/xrdp-sesman/ }
# set env
s6-env DISPLAY=:1
/usr/sbin/xrdp --nodaemon

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
while : while :
do do
if [[ ! $(/usr/bin/pulseaudio --check) ]]; then if [[ ! `/usr/bin/pulseaudio --check` ]]; then
/usr/bin/pulseaudio --start /usr/bin/pulseaudio --start
fi fi
sleep 10 sleep 10