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_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_size = 4

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

@ -6,7 +6,7 @@
* Read, and fill the Pull Request template
* If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR
* If the PR is addressing an existing issue include, closes #\<issue number>, in the body of the PR commit message
* If you want to discuss changes, you can also bring it up in [#dev-talk](https://discordapp.com/channels/354974912613449730/757585807061155840) in our [Discord server](https://linuxserver.io/discord)
* 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
@ -24,7 +24,7 @@
## Readme
If you would like to change our readme, please __**do not**__ directly edit the readme, as it is auto-generated on each commit.
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-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.
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 .
```
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
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`.
## 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
changelogs:

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

@ -1,7 +1,7 @@
blank_issues_enabled: false
contact_links:
- name: Discord chat support
url: https://linuxserver.io/discord
url: https://discord.gg/YWrKVTn
about: Realtime support / chat with the community and the team.
- 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:
workflow_dispatch:
permissions:
contents: read
jobs:
external-trigger-master:
external-trigger-bionic:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/checkout@v2.3.3
- name: External Trigger
if: github.ref == 'refs/heads/master'
env:
SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }}
if: github.ref == 'refs/heads/bionic'
run: |
printf "# External trigger for docker-baseimage-rdesktop\n\n" >> $GITHUB_STEP_SUMMARY
echo "Type is \`os\`" >> $GITHUB_STEP_SUMMARY
echo "No external release, exiting" >> $GITHUB_STEP_SUMMARY
echo "**** No external release, exiting ****"
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:
schedule:
- cron: '55 * * * *'
- cron: '32 * * * *'
workflow_dispatch:
permissions:
contents: read
jobs:
external-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/checkout@v2.3.3
with:
fetch-depth: '0'
- name: External Trigger Scheduler
run: |
printf "# External trigger scheduler for docker-baseimage-rdesktop\n\n" >> $GITHUB_STEP_SUMMARY
printf "Found the branches:\n\n%s\n" "$(git for-each-ref --format='- %(refname:lstrip=3)' refs/remotes)" >> $GITHUB_STEP_SUMMARY
for br in $(git for-each-ref --format='%(refname:lstrip=3)' refs/remotes)
echo "**** Branches found: ****"
git for-each-ref --format='%(refname:short)' refs/remotes
echo "**** Pulling the yq docker image ****"
docker pull ghcr.io/linuxserver/yq
for br in $(git for-each-ref --format='%(refname:short)' refs/remotes)
do
if [[ "${br}" == "HEAD" ]]; then
printf "\nSkipping %s.\n" ${br} >> $GITHUB_STEP_SUMMARY
continue
fi
printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY
ls_jenkins_vars=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-rdesktop/${br}/jenkins-vars.yml)
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
br=$(echo "$br" | sed 's|origin/||g')
echo "**** Evaluating branch ${br} ****"
ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-rdesktop/${br}/jenkins-vars.yml \
| docker run --rm -i --entrypoint yq ghcr.io/linuxserver/yq -r .ls_branch)
if [ "$br" == "$ls_branch" ]; then
echo "**** Branch ${br} appears to be live; checking workflow. ****"
if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-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 \
-H "Authorization: token ${{ secrets.CR_PAT }}" \
-H "Accept: application/vnd.github.v3+json" \
-d "{\"ref\":\"refs/heads/${br}\"}" \
https://api.github.com/repos/linuxserver/docker-baseimage-rdesktop/actions/workflows/external_trigger.yml/dispatches
else
echo "Skipping branch due to no external trigger workflow present." >> $GITHUB_STEP_SUMMARY
echo "**** Workflow doesn't exist; skipping trigger. ****"
fi
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
done

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

@ -2,18 +2,12 @@ name: Greetings
on: [pull_request_target, issues]
permissions:
contents: read
jobs:
greeting:
permissions:
issues: write
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/first-interaction@v1
with:
issue-message: 'Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.'
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-baseimage-rdesktop/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!'
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/bionic/.github/PULL_REQUEST_TEMPLATE.md)!'
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:
schedule:
- cron: '52 13 * * 5'
- cron: '04 6 * * 4'
workflow_dispatch:
permissions:
contents: read
jobs:
package-trigger-scheduler:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- uses: actions/checkout@v2.3.3
with:
fetch-depth: '0'
- name: Package Trigger Scheduler
env:
SKIP_PACKAGE_TRIGGER: ${{ vars.SKIP_PACKAGE_TRIGGER }}
run: |
printf "# Package trigger scheduler for docker-baseimage-rdesktop\n\n" >> $GITHUB_STEP_SUMMARY
printf "Found the branches:\n\n%s\n" "$(git for-each-ref --format='- %(refname:lstrip=3)' refs/remotes)" >> $GITHUB_STEP_SUMMARY
for br in $(git for-each-ref --format='%(refname:lstrip=3)' refs/remotes)
echo "**** Branches found: ****"
git for-each-ref --format='%(refname:short)' refs/remotes
echo "**** Pulling the yq docker image ****"
docker pull ghcr.io/linuxserver/yq
for br in $(git for-each-ref --format='%(refname:short)' refs/remotes)
do
if [[ "${br}" == "HEAD" ]]; then
printf "\nSkipping %s.\n" ${br} >> $GITHUB_STEP_SUMMARY
continue
fi
printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY
JENKINS_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-rdesktop/${br}/jenkins-vars.yml)
if ! curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-rdesktop/${br}/Jenkinsfile >/dev/null 2>&1; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
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
br=$(echo "$br" | sed 's|origin/||g')
echo "**** Evaluating branch ${br} ****"
ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-rdesktop/${br}/jenkins-vars.yml \
| docker run --rm -i --entrypoint yq ghcr.io/linuxserver/yq -r .ls_branch)
if [ "${br}" == "${ls_branch}" ]; then
echo "**** Branch ${br} appears to be live; checking workflow. ****"
if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-rdesktop/${br}/.github/workflows/package_trigger.yml > /dev/null 2>&1; then
echo "**** Workflow exists. Triggering package trigger workflow for branch ${br}. ****"
triggered_branches="${triggered_branches}${br} "
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-baseimage-rdesktop/job/${br}/buildWithParameters?PACKAGE_CHECK=true \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
if [[ -z "${response}" ]]; then
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Jenkins build could not be triggered. Skipping branch."
continue
fi
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
curl -iX POST \
-H "Authorization: token ${{ secrets.CR_PAT }}" \
-H "Accept: application/vnd.github.v3+json" \
-d "{\"ref\":\"refs/heads/${br}\"}" \
https://api.github.com/repos/linuxserver/docker-baseimage-rdesktop/actions/workflows/package_trigger.yml/dispatches
sleep 30
else
echo "**** Workflow doesn't exist; skipping trigger. ****"
fi
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
done
if [[ -n "${triggered_branches}" ]] || [[ -n "${skipped_branches}" ]]; then
if [[ -n "${triggered_branches}" ]]; then
NOTIFY_BRANCHES="**Triggered:** ${triggered_branches} \n"
NOTIFY_BUILD_URL="**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} ****"
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
echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****"
echo "**** Notifying Discord ****"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Package Check Build(s) Triggered for 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"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}

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.7
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 \
meson \
pulseaudio && \
apt build-dep -y \
pulseaudio \
xrdp
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_upstream_version=$(dpkg-query -W -f='${source:Upstream-Version}' pulseaudio) && \
apt-get source pulseaudio && \
cd "pulseaudio-$pulseaudio_upstream_version" && \
meson build && \
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
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
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:amd64-latest as compose
# runtime stage
FROM ghcr.io/linuxserver/baseimage-ubuntu:noble
FROM ghcr.io/linuxserver/baseimage-ubuntu:bionic
# set version label
ARG BUILD_DATE
@ -58,97 +62,53 @@ LABEL maintainer="thelamer"
# copy over libs and installers from build stage
COPY --from=buildstage /buildout/ /
#Add needed nvidia environment variables for https://github.com/NVIDIA/nvidia-docker
ENV NVIDIA_DRIVER_CAPABILITIES=all \
HOME=/config
COPY --from=compose /usr/local/bin/docker-compose /usr/local/bin/docker-compose
RUN \
echo "**** enable locales ****" && \
sed -i \
'/locale/d' \
/etc/dpkg/dpkg.cfg.d/excludes && \
echo "**** add docker repos ****" && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | tee /usr/share/keyrings/docker.asc >/dev/null && \
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 && \
echo "**** install deps ****" && \
ldconfig && \
apt-get update && \
DEBIAN_FRONTEND=noninteractive \
apt-get install -y --no-install-recommends \
apt-transport-https \
ca-certificates \
dbus-x11 \
docker-ce-cli \
docker-compose-plugin \
fonts-noto-color-emoji \
fonts-noto-core \
gawk \
gnupg2 \
libfuse2 \
libx11-dev \
libxfixes3 \
libxml2 \
libxrandr2 \
locales-all \
mesa-va-drivers \
mesa-vulkan-drivers \
netcat-openbsd \
openbox \
openssh-client \
pulseaudio \
software-properties-common \
sudo \
x11-apps \
x11-xserver-utils \
xfonts-base \
xorgxrdp \
xrdp \
xserver-common \
xserver-xorg-core \
xserver-xorg-video-amdgpu \
xserver-xorg-video-ati \
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/*
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=amd64] 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 /

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.7
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 \
meson \
pulseaudio && \
apt build-dep -y \
pulseaudio \
xrdp
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_upstream_version=$(dpkg-query -W -f='${source:Upstream-Version}' pulseaudio) && \
apt-get source pulseaudio && \
cd "pulseaudio-$pulseaudio_upstream_version" && \
meson build && \
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
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
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:arm64v8-latest as compose
# runtime stage
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-noble
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-bionic
# set version label
ARG BUILD_DATE
@ -58,97 +62,53 @@ LABEL maintainer="thelamer"
# copy over libs and installers from build stage
COPY --from=buildstage /buildout/ /
#Add needed nvidia environment variables for https://github.com/NVIDIA/nvidia-docker
ENV NVIDIA_DRIVER_CAPABILITIES=all \
HOME=/config
COPY --from=compose /usr/local/bin/docker-compose /usr/local/bin/docker-compose
RUN \
echo "**** enable locales ****" && \
sed -i \
'/locale/d' \
/etc/dpkg/dpkg.cfg.d/excludes && \
echo "**** add docker repos ****" && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | tee /usr/share/keyrings/docker.asc >/dev/null && \
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 && \
echo "**** install deps ****" && \
ldconfig && \
apt-get update && \
DEBIAN_FRONTEND=noninteractive \
apt-get install -y --no-install-recommends \
apt-transport-https \
ca-certificates \
dbus-x11 \
docker-ce-cli \
docker-compose-plugin \
fonts-noto-color-emoji \
fonts-noto-core \
gawk \
gnupg2 \
libfuse2 \
libx11-dev \
libxfixes3 \
libxml2 \
libxrandr2 \
locales-all \
mesa-va-drivers \
mesa-vulkan-drivers \
netcat-openbsd \
openbox \
openssh-client \
pulseaudio \
software-properties-common \
sudo \
x11-apps \
x11-xserver-utils \
xfonts-base \
xorgxrdp \
xrdp \
xserver-common \
xserver-xorg-core \
xserver-xorg-video-amdgpu \
xserver-xorg-video-armsoc-endlessm \
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/*
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=arm64] 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 /

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 -->
<!-- Please read https://github.com/linuxserver/docker-baseimage-rdesktop/blob/master/.github/CONTRIBUTING.md -->
# rdesktop Base Images from LinuxServer
<!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read the https://github.com/linuxserver/docker-baseimage-rdesktop/blob/bionic/.github/CONTRIBUTING.md -->
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.
- 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.
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png?v=4&s=4000)][linuxserverurl]
# 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 |
| :----: | --- |
| 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. |
&nbsp;
&nbsp;
## 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):
```
-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]
```
A custom base image built with [Ubuntu linux](https://www.ubuntu.com/) and [xrdp](http://xrdp.org/)
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." }

View File

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

View File

@ -1,639 +1,324 @@
NAME VERSION TYPE
adduser 3.137ubuntu1 deb
apt 2.8.3 deb
apt-transport-https 2.8.3 deb
apt-utils 2.8.3 deb
base-files 13ubuntu10.4 deb
base-passwd 3.6.3build1 deb
bash 5.2.21-2ubuntu4 deb
blinker 1.7.0 python
bsdextrautils 2.39.3-9ubuntu6.4 deb
bsdutils 1:2.39.3-9ubuntu6.4 deb
ca-certificates 20240203 deb
catatonit 0.1.7-1 deb
coreutils 9.4-3ubuntu6.1 deb
cpp 4:13.2.0-7ubuntu1 deb
cpp-13 13.3.0-6ubuntu2~24.04 deb
cpp-13-x86-64-linux-gnu 13.3.0-6ubuntu2~24.04 deb
cpp-x86-64-linux-gnu 4:13.2.0-7ubuntu1 deb
cron 3.0pl1-184ubuntu2 deb
cron-daemon-common 3.0pl1-184ubuntu2 deb
cryptography 41.0.7 python (+1 duplicate)
curl 8.5.0-2ubuntu10.6 deb
dash 0.5.12-6ubuntu5 deb
dbus 1.14.10-4ubuntu4.1 deb
dbus-bin 1.14.10-4ubuntu4.1 deb
dbus-daemon 1.14.10-4ubuntu4.1 deb
dbus-python 1.3.2 python
dbus-session-bus-common 1.14.10-4ubuntu4.1 deb
dbus-system-bus-common 1.14.10-4ubuntu4.1 deb
dbus-x11 1.14.10-4ubuntu4.1 deb
dconf-gsettings-backend 0.40.0-4ubuntu0.1 deb
dconf-service 0.40.0-4ubuntu0.1 deb
debconf 1.5.86ubuntu1 deb
debianutils 5.17build1 deb
diffutils 1:3.10-1build1 deb
dirmngr 2.4.4-2ubuntu17.4 deb
distro 1.9.0 python
distro-info-data 0.60ubuntu0.5 deb
docker-ce-cli 5:29.2.1-1~ubuntu.24.04~noble deb
docker-compose-plugin 5.0.2-1~ubuntu.24.04~noble deb
dpkg 1.22.6ubuntu6.5 deb
e2fsprogs 1.47.0-2.4~exp1ubuntu4.1 deb
findutils 4.9.0-5build1 deb
fontconfig 2.15.0-1.1ubuntu2 deb
fontconfig-config 2.15.0-1.1ubuntu2 deb
fonts-noto-color-emoji 2.047-0ubuntu0.24.04.1 deb
fonts-noto-core 20201225-2 deb
fonts-noto-mono 20201225-2 deb
fonts-urw-base35 20200910-8 deb
gawk 1:5.2.1-2build3 deb
gcc-13-base 13.3.0-6ubuntu2~24.04 deb
gcc-14-base 14.2.0-4ubuntu2~24.04 deb
gir1.2-girepository-2.0 1.80.1-1 deb
gir1.2-glib-2.0 2.80.0-6ubuntu3.8 deb
gir1.2-packagekitglib-1.0 1.2.8-2ubuntu1.4 deb
github.com/AlecAivazis/survey/v2 v2.3.7 go-module
github.com/DefangLabs/secret-detector v0.0.0-20250403165618-22662109213e go-module
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d go-module
github.com/beorn7/perks v1.0.1 go-module
github.com/buger/goterm v1.0.4 go-module
github.com/cenkalti/backoff/v5 v5.0.3 go-module
github.com/cespare/xxhash/v2 v2.3.0 go-module
github.com/compose-spec/compose-go/v2 v2.10.1 go-module
github.com/containerd/console v1.0.5 go-module
github.com/containerd/containerd/api v1.10.0 go-module
github.com/containerd/containerd/v2 v2.2.1 go-module
github.com/containerd/continuity v0.4.5 go-module
github.com/containerd/errdefs v1.0.0 go-module
github.com/containerd/errdefs/pkg v0.3.0 go-module
github.com/containerd/log v0.1.0 go-module
github.com/containerd/platforms v1.0.0-rc.2 go-module
github.com/containerd/ttrpc v1.2.7 go-module
github.com/containerd/typeurl/v2 v2.2.3 go-module
github.com/davecgh/go-spew v1.1.1 go-module
github.com/distribution/reference v0.6.0 go-module
github.com/docker/buildx v0.30.1 go-module
github.com/docker/cli v28.5.2+incompatible go-module
github.com/docker/cli-docs-tool v0.11.0 go-module
github.com/docker/cli/cmd/docker UNKNOWN go-module
github.com/docker/compose/v5 v0.0.0-20260120125753-c428a77111d5 go-module
github.com/docker/distribution v2.8.3+incompatible go-module
github.com/docker/docker v28.5.2+incompatible go-module
github.com/docker/docker-credential-helpers v0.9.3 go-module
github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c go-module
github.com/docker/go-connections v0.6.0 go-module
github.com/docker/go-metrics v0.0.1 go-module
github.com/docker/go-units v0.5.0 go-module
github.com/eiannone/keyboard v0.0.0-20220611211555-0d226195f203 go-module
github.com/felixge/httpsnoop v1.0.4 go-module
github.com/fvbommel/sortorder v1.1.0 go-module
github.com/go-logr/logr v1.4.3 go-module
github.com/go-logr/stdr v1.2.2 go-module
github.com/go-viper/mapstructure/v2 v2.5.0 go-module
github.com/gofrs/flock v0.13.0 go-module
github.com/gogo/protobuf v1.3.2 go-module
github.com/golang-jwt/jwt/v5 v5.3.0 go-module
github.com/golang/protobuf v1.5.4 go-module
github.com/google/go-cmp v0.7.0 go-module
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 go-module
github.com/google/uuid v1.6.0 go-module
github.com/gorilla/mux v1.8.1 go-module
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 go-module
github.com/hashicorp/errwrap v1.1.0 go-module
github.com/hashicorp/go-multierror v1.1.1 go-module
github.com/hashicorp/go-version v1.8.0 go-module
github.com/in-toto/in-toto-golang v0.9.0 go-module
github.com/inhies/go-bytesize v0.0.0-20220417184213-4913239db9cf go-module
github.com/jonboulle/clockwork v0.5.0 go-module
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 go-module
github.com/klauspost/compress v1.18.2 go-module
github.com/mattn/go-colorable v0.1.14 go-module
github.com/mattn/go-isatty v0.0.20 go-module
github.com/mattn/go-runewidth v0.0.16 go-module
github.com/mattn/go-shellwords v1.0.12 go-module
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b go-module
github.com/mitchellh/hashstructure/v2 v2.0.2 go-module
github.com/moby/buildkit v0.26.3 go-module
github.com/moby/docker-image-spec v1.3.1 go-module
github.com/moby/go-archive v0.1.0 go-module
github.com/moby/locker v1.0.1 go-module
github.com/moby/patternmatcher v0.6.0 go-module
github.com/moby/sys/atomicwriter v0.1.0 go-module
github.com/moby/sys/capability v0.4.0 go-module
github.com/moby/sys/sequential v0.6.0 go-module
github.com/moby/sys/signal v0.7.1 go-module
github.com/moby/sys/symlink v0.3.0 go-module
github.com/moby/sys/user v0.4.0 go-module
github.com/moby/sys/userns v0.1.0 go-module
github.com/moby/term v0.5.2 go-module
github.com/morikuni/aec v1.1.0 go-module
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 go-module
github.com/opencontainers/go-digest v1.0.0 go-module
github.com/opencontainers/image-spec v1.1.1 go-module
github.com/pelletier/go-toml v1.9.5 go-module
github.com/pkg/errors v0.9.1 go-module
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 go-module
github.com/pmezard/go-difflib v1.0.0 go-module
github.com/prometheus/client_golang v1.23.2 go-module
github.com/prometheus/client_model v0.6.2 go-module
github.com/prometheus/common v0.66.1 go-module
github.com/prometheus/procfs v0.16.1 go-module
github.com/rivo/uniseg v0.2.0 go-module
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 go-module
github.com/secure-systems-lab/go-securesystemslib v0.9.1 go-module
github.com/shibumi/go-pathspec v1.3.0 go-module
github.com/sirupsen/logrus v1.9.4 go-module
github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 go-module
github.com/spf13/cobra v1.10.2 go-module
github.com/spf13/pflag v1.0.10 go-module
github.com/stretchr/testify v1.11.1 go-module
github.com/theupdateframework/notary v0.7.0 go-module
github.com/tilt-dev/fsnotify v1.4.8-0.20220602155310-fff9c274a375 go-module
github.com/tonistiigi/dchapes-mode v0.0.0-20250318174251-73d941a28323 go-module
github.com/tonistiigi/fsutil v0.0.0-20250605211040-586307ad452f go-module
github.com/tonistiigi/go-csvvalue v0.0.0-20240814133006-030d3b2625d0 go-module
github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea go-module
github.com/tonistiigi/vt100 v0.0.0-20240514184818-90bafcd6abab go-module
github.com/xhit/go-str2duration/v2 v2.1.0 go-module
glib-networking 2.80.0-1build1 deb
glib-networking-common 2.80.0-1build1 deb
glib-networking-services 2.80.0-1build1 deb
gnupg 2.4.4-2ubuntu17.4 deb
gnupg-l10n 2.4.4-2ubuntu17.4 deb
gnupg-utils 2.4.4-2ubuntu17.4 deb
gnupg2 2.4.4-2ubuntu17.4 deb
go.opentelemetry.io/auto/sdk v1.2.1 go-module
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.63.0 go-module
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.63.0 go-module
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 go-module
go.opentelemetry.io/otel v1.38.0 go-module
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 go-module
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.38.0 go-module
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 go-module
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 go-module
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0 go-module
go.opentelemetry.io/otel/metric v1.38.0 go-module
go.opentelemetry.io/otel/sdk v1.38.0 go-module
go.opentelemetry.io/otel/sdk/metric v1.38.0 go-module
go.opentelemetry.io/otel/trace v1.38.0 go-module
go.opentelemetry.io/proto/otlp v1.7.1 go-module
go.uber.org/mock v0.6.0 go-module
go.yaml.in/yaml/v2 v2.4.2 go-module
go.yaml.in/yaml/v4 v4.0.0-rc.3 go-module
golang.org/x/crypto v0.45.0 go-module
golang.org/x/net v0.47.0 go-module
golang.org/x/sync v0.19.0 go-module
golang.org/x/sys v0.40.0 go-module
golang.org/x/term v0.37.0 go-module
golang.org/x/text v0.31.0 go-module
golang.org/x/time v0.14.0 go-module
google.golang.org/genproto/googleapis/api v0.0.0-20251029180050-ab9386a59fda go-module
google.golang.org/genproto/googleapis/rpc v0.0.0-20251029180050-ab9386a59fda go-module
google.golang.org/grpc v1.78.0 go-module
google.golang.org/protobuf v1.36.10 go-module
gopkg.in/ini.v1 v1.67.0 go-module
gopkg.in/yaml.v3 v3.0.1 go-module
gpg 2.4.4-2ubuntu17.4 deb
gpg-agent 2.4.4-2ubuntu17.4 deb
gpg-wks-client 2.4.4-2ubuntu17.4 deb
gpgconf 2.4.4-2ubuntu17.4 deb
gpgsm 2.4.4-2ubuntu17.4 deb
gpgv 2.4.4-2ubuntu17.4 deb
grep 3.11-4build1 deb
groff-base 1.23.0-3build2 deb
gsettings-desktop-schemas 46.1-0ubuntu1 deb
gzip 1.12-1ubuntu3.1 deb
hostname 3.23+nmu2ubuntu2 deb
httplib2 0.20.4 python
init-system-helpers 1.66ubuntu1 deb
iso-codes 4.16.0-1 deb
jq 1.7.1 binary
jq 1.7.1-3ubuntu0.24.04.1 deb
keyboard-configuration 1.226ubuntu1 deb
keyboxd 2.4.4-2ubuntu17.4 deb
krb5-locales 1.20.1-6ubuntu2.6 deb
launchpadlib 1.11.0 python
lazr-restfulclient 0.14.6 python
lazr-uri 1.0.6 python
libacl1 2.3.2-1build1.1 deb
libaom3 3.8.2-2ubuntu0.1 deb
libapparmor1 4.0.1really4.0.1-0ubuntu0.24.04.5 deb
libappstream5 1.0.2-1build6 deb
libapt-pkg6.0t64 2.8.3 deb
libargon2-1 0~20190702+dfsg-4build1 deb
libasound2-data 1.2.11-1ubuntu0.1 deb
libasound2-plugins 1.2.7.1-1ubuntu5 deb
libasound2t64 1.2.11-1ubuntu0.1 deb
libassuan0 2.5.6-1build1 deb
libasyncns0 0.8-6build4 deb
libattr1 1:2.5.2-1build1.1 deb
libaudit-common 1:3.1.2-2.1build1.1 deb
libaudit1 1:3.1.2-2.1build1.1 deb
libavahi-client3 0.8-13ubuntu6.1 deb
libavahi-common-data 0.8-13ubuntu6.1 deb
libavahi-common3 0.8-13ubuntu6.1 deb
libavcodec60 7:6.1.1-3ubuntu5 deb
libavutil58 7:6.1.1-3ubuntu5 deb
libblkid1 2.39.3-9ubuntu6.4 deb
libbrotli1 1.1.0-2build2 deb
libbsd0 0.12.1-1build1.1 deb
libbz2-1.0 1.0.8-5.1build0.1 deb
libc-bin 2.39-0ubuntu8.7 deb
libc6 2.39-0ubuntu8.7 deb
libcairo-gobject2 1.18.0-3build1 deb
libcairo2 1.18.0-3build1 deb
libcap-ng0 0.8.4-2build2 deb
libcap2 1:2.66-5ubuntu2.2 deb
libcap2-bin 1:2.66-5ubuntu2.2 deb
libcbor0.10 0.10.2-1.2ubuntu2 deb
libcodec2-1.2 1.2.0-2build1 deb
libcom-err2 1.47.0-2.4~exp1ubuntu4.1 deb
libcrypt1 1:4.4.36-4build1 deb
libcryptsetup12 2:2.7.0-1ubuntu4.2 deb
libcups2t64 2.4.7-1.2ubuntu7.9 deb
libcurl3t64-gnutls 8.5.0-2ubuntu10.6 deb
libcurl4t64 8.5.0-2ubuntu10.6 deb
libdatrie1 0.2.13-3build1 deb
libdav1d7 1.4.1-1build1 deb
libdb5.3t64 5.3.28+dfsg2-7 deb
libdbus-1-3 1.14.10-4ubuntu4.1 deb
libdconf1 0.40.0-4ubuntu0.1 deb
libde265-0 1.0.15-1build3 deb
libdebconfclient0 0.271ubuntu3 deb
libdeflate0 1.19-1build1.1 deb
libdevmapper1.02.1 2:1.02.185-3ubuntu3.2 deb
libdrm-amdgpu1 2.4.125-1ubuntu0.1~24.04.1 deb
libdrm-common 2.4.125-1ubuntu0.1~24.04.1 deb
libdrm-intel1 2.4.125-1ubuntu0.1~24.04.1 deb
libdrm-nouveau2 2.4.125-1ubuntu0.1~24.04.1 deb
libdrm-radeon1 2.4.125-1ubuntu0.1~24.04.1 deb
libdrm2 2.4.125-1ubuntu0.1~24.04.1 deb
libduktape207 2.7.0+tests-0ubuntu3 deb
libdw1t64 0.190-1.1ubuntu0.1 deb
libedit2 3.1-20230828-1build1 deb
libegl-mesa0 25.2.8-0ubuntu0.24.04.1 deb
libegl1 1.7.0-1build1 deb
libelf1t64 0.190-1.1ubuntu0.1 deb
libepoxy0 1.5.10-1build1 deb
libexpat1 2.6.1-2ubuntu0.3 deb
libext2fs2t64 1.47.0-2.4~exp1ubuntu4.1 deb
libfdisk1 2.39.3-9ubuntu6.4 deb
libffi8 3.4.6-1build1 deb
libfftw3-single3 3.3.10-1ubuntu3 deb
libfido2-1 1.14.0-1build3 deb
libflac12t64 1.4.3+ds-2.1ubuntu2 deb
libfontconfig1 2.15.0-1.1ubuntu2 deb
libfontenc1 1:1.1.8-1build1 deb
libfreetype6 2.13.2+dfsg-1build3 deb
libfribidi0 1.0.13-3build1 deb
libfuse2t64 2.9.9-8.1build1 deb
libgbm1 25.2.8-0ubuntu0.24.04.1 deb
libgcc-s1 14.2.0-4ubuntu2~24.04 deb
libgcrypt20 1.10.3-2build1 deb
libgdbm6t64 1.23-5.1build1 deb
libgdk-pixbuf-2.0-0 2.42.10+dfsg-3ubuntu3.2 deb
libgdk-pixbuf2.0-common 2.42.10+dfsg-3ubuntu3.2 deb
libgif7 5.2.2-1ubuntu1 deb
libgirepository-1.0-1 1.80.1-1 deb
libgl1 1.7.0-1build1 deb
libgl1-mesa-dri 25.2.8-0ubuntu0.24.04.1 deb
libglib2.0-0t64 2.80.0-6ubuntu3.8 deb
libglib2.0-bin 2.80.0-6ubuntu3.8 deb
libglib2.0-data 2.80.0-6ubuntu3.8 deb
libglvnd0 1.7.0-1build1 deb
libglx-mesa0 25.2.8-0ubuntu0.24.04.1 deb
libglx0 1.7.0-1build1 deb
libgmp10 2:6.3.0+dfsg-2ubuntu6.1 deb
libgnutls30t64 3.8.3-1.1ubuntu3.4 deb
libgomp1 14.2.0-4ubuntu2~24.04 deb
libgpg-error0 1.47-3build2.1 deb
libgraphite2-3 1.3.14-2build1 deb
libgs-common 10.02.1~dfsg1-0ubuntu7.8 deb
libgs10 10.02.1~dfsg1-0ubuntu7.8 deb
libgs10-common 10.02.1~dfsg1-0ubuntu7.8 deb
libgsm1 1.0.22-1build1 deb
libgssapi-krb5-2 1.20.1-6ubuntu2.6 deb
libgstreamer-plugins-base1.0-0 1.24.2-1ubuntu0.3 deb
libgstreamer1.0-0 1.24.2-1ubuntu0.1 deb
libharfbuzz0b 8.3.0-2build2 deb
libheif-plugin-aomdec 1.17.6-1ubuntu4.2 deb
libheif-plugin-libde265 1.17.6-1ubuntu4.2 deb
libheif1 1.17.6-1ubuntu4.2 deb
libhogweed6t64 3.9.1-2.2build1.1 deb
libhwy1t64 1.0.7-8.1build1 deb
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
adduser3.116ubuntu1
apt1.6.14
apt-transport-https1.6.14
apt-utils1.6.14
base-files10.1ubuntu2.11
base-passwd3.5.44
bash4.4.18-2ubuntu1.2
bsdmainutils11.1.2ubuntu1
bsdutils1:2.31.1-0.4ubuntu3.7
bzip21.0.6-8.1ubuntu0.2
ca-certificates20210119~18.04.2
coreutils8.28-1ubuntu1
cpp4:7.4.0-1ubuntu2.3
cpp-77.5.0-3ubuntu1~18.04
curl7.58.0-2ubuntu3.16
dash0.5.8-2.10
dbus1.12.2-1ubuntu1.2
dbus-x111.12.2-1ubuntu1.2
dconf-gsettings-backend0.26.0-2ubuntu3
dconf-service0.26.0-2ubuntu3
debconf1.5.66ubuntu1
debianutils4.8.4
diffutils1:3.6-1
dirmngr2.2.4-1ubuntu1.4
distro-info-data0.37ubuntu0.13
docker-ce-cli5:20.10.11~3-0~ubuntu-bionic
dpkg1.19.0.5ubuntu2.3
e2fsprogs1.44.1-1ubuntu1.3
fdisk2.31.1-0.4ubuntu3.7
findutils4.6.0+git+20170828-2
fontconfig-config2.12.6-0ubuntu2
fonts-dejavu-core2.37-1
gawk1:4.1.4+dfsg-1build1
gcc-7-base7.5.0-3ubuntu1~18.04
gcc-8-base8.4.0-1ubuntu1~18.04
gir1.2-glib-2.01.56.1-1
glib-networking2.56.0-1ubuntu0.1
glib-networking-common2.56.0-1ubuntu0.1
glib-networking-services2.56.0-1ubuntu0.1
gnupg22.2.4-1ubuntu1.4
gnupg2.2.4-1ubuntu1.4
gnupg-l10n2.2.4-1ubuntu1.4
gnupg-utils2.2.4-1ubuntu1.4
gpg2.2.4-1ubuntu1.4
gpg-agent2.2.4-1ubuntu1.4
gpgconf2.2.4-1ubuntu1.4
gpgsm2.2.4-1ubuntu1.4
gpgv2.2.4-1ubuntu1.4
gpg-wks-client2.2.4-1ubuntu1.4
gpg-wks-server2.2.4-1ubuntu1.4
grep3.1-2build1
groff-base1.22.3-10
gsettings-desktop-schemas3.28.0-1ubuntu1
gzip1.6-5ubuntu1.1
hostname3.20
init-system-helpers1.51
iso-codes3.79-1
keyboard-configuration1.178ubuntu2.9
krb5-locales1.16-2ubuntu0.2
libacl12.2.52-3build1
libapparmor12.12-4ubuntu5.1
libapt-inst2.01.6.14
libapt-pkg5.01.6.14
libasn1-8-heimdal7.5.0+dfsg-1
libasound21.1.3-5ubuntu0.6
libasound2-data1.1.3-5ubuntu0.6
libasound2-plugins1.1.1-1ubuntu1
libassuan02.5.1-2
libasyncns00.8-6
libattr11:2.4.47-2build1
libaudit11:2.8.2-1ubuntu1.1
libaudit-common1:2.8.2-1ubuntu1.1
libblkid12.31.1-0.4ubuntu3.7
libbsd00.8.7-1ubuntu0.1
libbz2-1.01.0.6-8.1ubuntu0.2
libc62.27-3ubuntu1.4
libcap21:2.25-1.2
libcap-ng00.7.7-3.1
libc-bin2.27-3ubuntu1.4
libcom-err21.44.1-1ubuntu1.3
libcurl47.58.0-2ubuntu3.16
libdb5.35.3.28-13.1ubuntu1.1
libdbus-1-31.12.2-1ubuntu1.2
libdconf10.26.0-2ubuntu3
libdebconfclient00.213ubuntu1
libdrm22.4.101-2~18.04.1
libdrm-amdgpu12.4.101-2~18.04.1
libdrm-common2.4.101-2~18.04.1
libdrm-intel12.4.101-2~18.04.1
libdrm-nouveau22.4.101-2~18.04.1
libdrm-radeon12.4.101-2~18.04.1
libedit23.1-20170329-1
libegl11.0.0-2ubuntu2.3
libegl1-mesa20.0.8-0ubuntu1~18.04.1
libegl-mesa020.0.8-0ubuntu1~18.04.1
libelf10.170-0.4ubuntu0.1
libepoxy01.4.3-1
libexpat12.2.5-3ubuntu0.2
libext2fs21.44.1-1ubuntu1.3
libfdisk12.31.1-0.4ubuntu3.7
libffi63.2.1-8
libflac81.3.2-1
libfontconfig12.12.6-0ubuntu2
libfontenc11:1.1.3-1
libfreetype62.8.1-2ubuntu2.1
libfuse22.9.7-1ubuntu1
libgbm120.0.8-0ubuntu1~18.04.1
libgcc11:8.4.0-1ubuntu1~18.04
libgcrypt201.8.1-4ubuntu1.3
libgdbm51.14.1-6
libgirepository-1.0-11.56.1-1
libgl11.0.0-2ubuntu2.3
libgl1-mesa-dri20.0.8-0ubuntu1~18.04.1
libglapi-mesa20.0.8-0ubuntu1~18.04.1
libglib2.0-02.56.4-0ubuntu0.18.04.8
libglvnd01.0.0-2ubuntu2.3
libglx01.0.0-2ubuntu2.3
libglx-mesa020.0.8-0ubuntu1~18.04.1
libgmp102:6.1.2+dfsg-2
libgnutls303.5.18-1ubuntu1.5
libgpg-error01.27-6
libgssapi3-heimdal7.5.0+dfsg-1
libgssapi-krb5-21.16-2ubuntu0.2
libhcrypto4-heimdal7.5.0+dfsg-1
libheimbase1-heimdal7.5.0+dfsg-1
libheimntlm0-heimdal7.5.0+dfsg-1
libhogweed43.4.1-0ubuntu0.18.04.1
libhx509-5-heimdal7.5.0+dfsg-1
libice62:1.0.9-2
libicu6060.2-3ubuntu3.2
libidn2-02.0.4-1.1ubuntu0.2
libisl190.19-1
libjack-jackd2-01.9.12~dfsg-2
libjpeg88c-2ubuntu8
libjpeg-turbo81.5.2-0ubuntu5.18.04.4
libjson-glib-1.0-01.4.2-3ubuntu0.18.04.1
libjson-glib-1.0-common1.4.2-3ubuntu0.18.04.1
libk5crypto31.16-2ubuntu0.2
libkeyutils11.5.9-9.2ubuntu2
libkmod224-1ubuntu3.5
libkrb5-26-heimdal7.5.0+dfsg-1
libkrb5-31.16-2ubuntu0.2
libkrb5support01.16-2ubuntu0.2
libksba81.3.5-2
libldap-2.4-22.4.45+dfsg-1ubuntu1.10
libldap-common2.4.45+dfsg-1ubuntu1.10
libllvm101:10.0.0-4ubuntu1~18.04.2
liblocale-gettext-perl1.07-3build2
libltdl72.4.6-2
liblz4-10.0~r131-2ubuntu3.1
liblzma55.2.2-1.3
libmount12.31.1-0.4ubuntu3.7
libmpc31.1.0-1
libmpdec22.4.2-1ubuntu1
libmpfr64.0.1-1
libncurses56.1-1ubuntu1.18.04
libncursesw56.1-1ubuntu1.18.04
libnettle63.4.1-0ubuntu0.18.04.1
libnghttp2-141.30.0-1ubuntu1
libnpth01.5-3
libogg01.3.2-1
libopus01.1.2-1ubuntu1
liborc-0.4-01:0.4.28-1
libp11-kit00.23.9-2ubuntu0.1
libpam0g1.1.8-3.6ubuntu2.18.04.3
libpam-modules1.1.8-3.6ubuntu2.18.04.3
libpam-modules-bin1.1.8-3.6ubuntu2.18.04.3
libpam-runtime1.1.8-3.6ubuntu2.18.04.3
libpciaccess00.14-1
libpcre32:8.39-9
libpipeline11.5.0-1
libpixman-1-00.34.0-2
libpng16-161.6.34-1ubuntu0.18.04.2
libprocps62:3.3.12-3ubuntu1.2
libproxy1v50.4.15-1ubuntu0.2
libpsl50.19.1-5build1
libpthread-stubs0-dev0.3-4
libpulse01:11.1-1ubuntu7.11
libpulsedsp1:11.1-1ubuntu7.11
libpython3.6-minimal3.6.9-1~18.04ubuntu1.4
libpython3.6-stdlib3.6.9-1~18.04ubuntu1.4
libpython3-stdlib3.6.7-1~18.04
libreadline77.0-3
libroken18-heimdal7.5.0+dfsg-1
librtmp12.4+20151223.gitfa8646d.1-1
libsamplerate00.1.9-1
libsasl2-22.1.27~101-g0780600+dfsg-3ubuntu2.3
libsasl2-modules2.1.27~101-g0780600+dfsg-3ubuntu2.3
libsasl2-modules-db2.1.27~101-g0780600+dfsg-3ubuntu2.3
libseccomp22.5.1-1ubuntu1~18.04.1
libselinux12.7-2build2
libsemanage12.7-2build2
libsemanage-common2.7-2build2
libsensors41:3.4.0-4
libsepol12.7-1
libsigsegv22.12-1
libsm62:1.2.2-1
libsmartcols12.31.1-0.4ubuntu3.7
libsnapd-glib11.58-0ubuntu0.18.04.0
libsndfile11.0.28-4ubuntu0.18.04.2
libsoup2.4-12.62.1-1ubuntu0.4
libspeexdsp11.2~rc1.2-1ubuntu2
libsqlite3-03.22.0-1ubuntu0.4
libss21.44.1-1ubuntu1.3
libssl1.0.01.0.2n-1ubuntu5.7
libssl1.11.1.1-1ubuntu2.1~18.04.13
libstdc++68.4.0-1ubuntu1~18.04
libsystemd0237-3ubuntu10.52
libtasn1-64.13-2
libtdb11.3.15-2
libtinfo56.1-1ubuntu1.18.04
libudev1237-3ubuntu10.52
libunistring20.9.9-0ubuntu2
libuuid12.31.1-0.4ubuntu3.7
libvorbis0a1.3.5-4.2
libvorbisenc21.3.5-4.2
libwayland-client01.16.0-1ubuntu1.1~18.04.3
libwayland-server01.16.0-1ubuntu1.1~18.04.3
libwebrtc-audio-processing10.3-1
libwind0-heimdal7.5.0+dfsg-1
libwrap07.6.q-27
libx11-62:1.6.4-3ubuntu0.4
libx11-data2:1.6.4-3ubuntu0.4
libx11-dev2:1.6.4-3ubuntu0.4
libx11-xcb12:1.6.4-3ubuntu0.4
libxau61:1.0.8-1ubuntu1
libxau-dev1:1.0.8-1ubuntu1
libxaw72:1.0.13-1
libxcb11.13-2~ubuntu18.04
libxcb1-dev1.13-2~ubuntu18.04
libxcb-dri2-01.13-2~ubuntu18.04
libxcb-dri3-01.13-2~ubuntu18.04
libxcb-glx01.13-2~ubuntu18.04
libxcb-present01.13-2~ubuntu18.04
libxcb-shape01.13-2~ubuntu18.04
libxcb-sync11.13-2~ubuntu18.04
libxcb-xfixes01.13-2~ubuntu18.04
libxcomposite11:0.4.4-2
libxcursor11:1.1.15-1
libxdamage11:1.1.4-3
libxdmcp61:1.1.2-3
libxdmcp-dev1:1.1.2-3
libxext62:1.3.3-1
libxfixes31:5.0.3-1
libxfont21:2.0.3-1
libxft22.3.2-1
libxi62:1.7.9-1
libxinerama12:1.1.3-1
libxkbfile11:1.0.9-2
libxml22.9.4+dfsg1-6.1ubuntu1.4
libxmu62:1.1.2-2
libxmuu12:1.1.2-2
libxpm41:3.5.12-1
libxrandr22:1.5.1-1
libxrender11:0.9.10-1
libxshmfence11.3-1
libxt61:1.1.5-1
libxtst62:1.2.3-1
libxv12:1.0.11-1
libxxf86dga12:1.1.4-1
libxxf86vm11:1.1.4-1
libzstd11.3.3+dfsg-2ubuntu1.2
locales2.27-3ubuntu1.4
login1:4.5-1ubuntu2
lsb-base9.20170808ubuntu1
lsb-release9.20170808ubuntu1
man-db2.8.3-2ubuntu0.1
mawk1.3.3-17ubuntu3
mime-support3.60ubuntu1
mount2.31.1-0.4ubuntu3.7
multiarch-support2.27-3ubuntu1.4
ncurses-base6.1-1ubuntu1.18.04
ncurses-bin6.1-1ubuntu1.18.04
openssh-client1:7.6p1-4ubuntu0.5
openssl1.1.1-1ubuntu2.1~18.04.13
passwd1:4.5-1ubuntu2
perl-base5.26.1-6ubuntu0.5
pinentry-curses1.1.0-1
procps2:3.3.12-3ubuntu1.2
publicsuffix20180223.1310-1
pulseaudio1:11.1-1ubuntu7.11
pulseaudio-utils1:11.1-1ubuntu7.11
python33.6.7-1~18.04
python3.63.6.9-1~18.04ubuntu1.4
python3.6-minimal3.6.9-1~18.04ubuntu1.4
python3-apt1.6.5ubuntu0.7
python3-dbus1.2.6-1
python3-gi3.26.1-2ubuntu1
python3-minimal3.6.7-1~18.04
python3-software-properties0.96.24.32.18
python-apt-common1.6.5ubuntu0.7
readline-common7.0-3
sed4.4-2
sensible-utils0.0.12
software-properties-common0.96.24.32.18
ssl-cert1.0.39
sudo1.8.21p2-3ubuntu1.4
sysvinit-utils2.88dsf-59.10ubuntu1
tar1.29b-2ubuntu0.2
tzdata2021e-0ubuntu0.18.04
ubuntu-keyring2018.09.18.1~18.04.2
ucf3.0038
udev237-3ubuntu10.52
util-linux2.31.1-0.4ubuntu3.7
x11-apps7.7+6ubuntu1
x11-common1:7.7+19ubuntu7.1
x11proto-core-dev2018.4-4
x11proto-dev2018.4-4
x11-session-utils7.7+2build1
x11-utils7.7+3build1
x11-xkb-utils7.7+3ubuntu0.18.04.1
x11-xserver-utils7.7+7build1
xfonts-base1:1.0.4+nmu1
xfonts-encodings1:1.0.4-2
xfonts-utils1:7.7+6
xkb-data2.23.1-1ubuntu1.18.04.1
xorg-sgml-doctools1:1.11-1
xorgxrdp0.9.5-2
xrdp0.9.5-2
xserver-common2:1.19.6-1ubuntu4.9
xserver-xorg-core2:1.19.6-1ubuntu4.9
xtrans-dev1.3.5-1
xutils1:7.7+19ubuntu7.1
zlib1g1:1.2.11.dfsg-0ubuntu2

View File

@ -4,181 +4,30 @@
project_name: baseimage-rdesktop
full_custom_readme: |
{% 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.
- 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.
## Contact information:-
# 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 |
| :----: | --- |
| 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. |
[![](https://images.microbadger.com/badges/image/lsiobase/rdesktop.svg)](https://microbadger.com/images/lsiobase/rdesktop "Get your own image badge on microbadger.com")
## 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.
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]
```
A custom base image built with [Ubuntu linux](https://www.ubuntu.com/) and [xrdp](http://xrdp.org/)
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." }
{%- 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
# shellcheck shell=bash
if [[ ! -f "/keylock" ]]; then
cd /etc/xrdp || exit 1
if [ ! -f "/keylock" ]; then
cd /etc/xrdp
xrdp-keygen xrdp
rm -f /etc/xrdp/*.pem
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.
fdmove -c 2 1
# 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

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
while :
do
if [[ ! $(/usr/bin/pulseaudio --check) ]]; then
if [[ ! `/usr/bin/pulseaudio --check` ]]; then
/usr/bin/pulseaudio --start
fi
sleep 10