Compare commits

...

11 Commits

Author SHA1 Message Date
LinuxServer-CI
f8322ea1c9 Bot Updating Package Versions 2021-05-01 15:34:56 +00:00
LinuxServer-CI
584ec53f64 Bot Updating Package Versions 2021-04-24 11:36:06 -04:00
LinuxServer-CI
60661df213 Bot Updating Package Versions 2021-04-17 16:32:09 +01:00
LinuxServer-CI
c50f05ee4f Bot Updating Templated Files 2021-04-17 11:25:28 -04:00
LinuxServer-CI
8c28362a47 Bot Updating Templated Files 2021-04-17 11:24:11 -04:00
LinuxServer-CI
a01bd442f5 Bot Updating Package Versions 2021-04-10 15:41:51 +00:00
LinuxServer-CI
e2e6224b51 Bot Updating Package Versions 2021-04-05 08:11:55 -04:00
aptalca
aa5da170a7
Merge pull request #19 from linuxserver/alpine-dev
Alpine dev
2021-04-05 08:04:11 -04:00
thelamer
baecbfc43e use midori on 32 bit platform 2021-04-04 19:41:42 -07:00
thelamer
5038b162b7 typo in Dockerfile 2021-04-04 17:06:23 -07:00
thelamer
10b107e333 adding alpine based rdesktop image with XFCE 2021-04-04 17:05:38 -07:00
13 changed files with 469 additions and 707 deletions

View File

@ -24,7 +24,7 @@
## Readme
If you would like to change our readme, please __**do not**__ directly edit the readme, as it is auto-generated on each commit.
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-rdesktop/edit/master/readme-vars.yml).
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-rdesktop/edit/alpine/readme-vars.yml).
These variables are used in a template for our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) as part of an ansible play.
Most of these variables are also carried over to [docs.linuxserver.io](https://docs.linuxserver.io/images/docker-rdesktop)
@ -96,7 +96,7 @@ If you are proposing additional packages to be added, ensure that you added the
### Testing your changes
```
```bash
git clone https://github.com/linuxserver/docker-rdesktop.git
cd docker-rdesktop
docker build \
@ -106,15 +106,16 @@ docker build \
```
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
```
```bash
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 chagelog
## Update the changelog
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-rdesktop/tree/master/root), add an entry to the changelog
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-rdesktop/tree/alpine/root), add an entry to the changelog
```yml
changelogs:

View File

@ -21,7 +21,7 @@
------------------------------
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-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-rdesktop/blob/alpine/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
------------------------------

View File

@ -4,13 +4,13 @@ on:
workflow_dispatch:
jobs:
external-trigger-master:
external-trigger-alpine:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: External Trigger
if: github.ref == 'refs/heads/master'
if: github.ref == 'refs/heads/alpine'
run: |
echo "**** No external release, exiting ****"
exit 0

View File

@ -8,6 +8,6 @@ jobs:
steps:
- uses: actions/first-interaction@v1
with:
issue-message: 'Thanks for opening your first issue here! Be sure to follow the [bug](https://github.com/linuxserver/docker-rdesktop/blob/master/.github/ISSUE_TEMPLATE/issue.bug.md) or [feature](https://github.com/linuxserver/docker-rdesktop/blob/master/.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-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-rdesktop/blob/alpine/.github/ISSUE_TEMPLATE/issue.bug.md) or [feature](https://github.com/linuxserver/docker-rdesktop/blob/alpine/.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-rdesktop/blob/alpine/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }}

View File

@ -4,25 +4,25 @@ on:
workflow_dispatch:
jobs:
package-trigger-master:
package-trigger-alpine:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: Package Trigger
if: github.ref == 'refs/heads/master'
if: github.ref == 'refs/heads/alpine'
run: |
if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_RDESKTOP_MASTER }}" ]; then
echo "**** Github secret PAUSE_PACKAGE_TRIGGER_RDESKTOP_MASTER is set; skipping trigger. ****"
if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_RDESKTOP_ALPINE }}" ]; then
echo "**** Github secret PAUSE_PACKAGE_TRIGGER_RDESKTOP_ALPINE is set; skipping trigger. ****"
exit 0
fi
if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-rdesktop/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then
if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-rdesktop/job/alpine/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 master branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_RDESKTOP_MASTER\". ****"
echo "**** Package trigger running off of alpine branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_RDESKTOP_ALPINE\". ****"
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-rdesktop/job/master/buildWithParameters?PACKAGE_CHECK=true \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-rdesktop/job/alpine/buildWithParameters?PACKAGE_CHECK=true \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
echo "**** Jenkins job queue url: ${response%$'\r'} ****"
echo "**** Sleeping 10 seconds until job starts ****"

View File

@ -1,4 +1,4 @@
FROM ghcr.io/linuxserver/baseimage-rdesktop:focal
FROM ghcr.io/linuxserver/baseimage-rdesktop:alpine
# set version label
ARG BUILD_DATE
@ -8,21 +8,21 @@ LABEL maintainer="thelamer"
RUN \
echo "**** install packages ****" && \
apt-get update && \
DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends -y \
apk add --no-cache \
faenza-icon-theme \
faenza-icon-theme-xfce4-appfinder \
faenza-icon-theme-xfce4-panel \
firefox \
pavucontrol \
terminator \
font-noto \
mousepad \
setxkbmap \
thunar-volman \
xfce4 \
xfce4-goodies \
xubuntu-default-settings \
xubuntu-icon-theme && \
xfce4-terminal && \
apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing \
xfce4-pulseaudio-plugin && \
echo "**** cleanup ****" && \
apt-get autoclean && \
rm -rf \
/var/lib/apt/lists/* \
/var/tmp/* \
/tmp/*
# add local files

View File

@ -1,4 +1,4 @@
FROM ghcr.io/linuxserver/baseimage-rdesktop:arm64v8-focal
FROM ghcr.io/linuxserver/baseimage-rdesktop:arm64v8-alpine
# set version label
ARG BUILD_DATE
@ -8,21 +8,21 @@ LABEL maintainer="thelamer"
RUN \
echo "**** install packages ****" && \
apt-get update && \
DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends -y \
apk add --no-cache \
faenza-icon-theme \
faenza-icon-theme-xfce4-appfinder \
faenza-icon-theme-xfce4-panel \
firefox \
pavucontrol \
terminator \
font-noto \
mousepad \
setxkbmap \
thunar-volman \
xfce4 \
xfce4-goodies \
xubuntu-default-settings \
xubuntu-icon-theme && \
xfce4-terminal && \
apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing \
xfce4-pulseaudio-plugin && \
echo "**** cleanup ****" && \
apt-get autoclean && \
rm -rf \
/var/lib/apt/lists/* \
/var/tmp/* \
/tmp/*
# add local files

View File

@ -1,4 +1,4 @@
FROM ghcr.io/linuxserver/baseimage-rdesktop:arm32v7-focal
FROM ghcr.io/linuxserver/baseimage-rdesktop:arm32v7-alpine
# set version label
ARG BUILD_DATE
@ -8,21 +8,21 @@ LABEL maintainer="thelamer"
RUN \
echo "**** install packages ****" && \
apt-get update && \
DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends -y \
firefox \
pavucontrol \
terminator \
apk add --no-cache \
faenza-icon-theme \
faenza-icon-theme-xfce4-appfinder \
faenza-icon-theme-xfce4-panel \
font-noto \
midori \
mousepad \
setxkbmap \
thunar-volman \
xfce4 \
xfce4-goodies \
xubuntu-default-settings \
xubuntu-icon-theme && \
xfce4-terminal && \
apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing \
xfce4-pulseaudio-plugin && \
echo "**** cleanup ****" && \
apt-get autoclean && \
rm -rf \
/var/lib/apt/lists/* \
/var/tmp/* \
/tmp/*
# add local files

184
Jenkinsfile vendored
View File

@ -23,7 +23,7 @@ pipeline {
DOCKERHUB_IMAGE = 'linuxserver/rdesktop'
DEV_DOCKERHUB_IMAGE = 'lsiodev/rdesktop'
PR_DOCKERHUB_IMAGE = 'lspipepr/rdesktop'
DIST_IMAGE = 'ubuntu'
DIST_IMAGE = 'alpine'
MULTIARCH='true'
CI='true'
CI_WEB='false'
@ -41,7 +41,7 @@ pipeline {
script{
env.EXIT_STATUS = ''
env.LS_RELEASE = sh(
script: '''docker run --rm ghcr.io/linuxserver/alexeiled-skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':latest 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
script: '''docker run --rm ghcr.io/linuxserver/alexeiled-skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':alpine 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
returnStdout: true).trim()
env.LS_RELEASE_NOTES = sh(
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
@ -55,7 +55,7 @@ pipeline {
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
env.PULL_REQUEST = env.CHANGE_ID
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.md ./.github/ISSUE_TEMPLATE/issue.feature.md ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/greetings.yml ./.github/workflows/stale.yml ./.github/workflows/package_trigger.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/external_trigger.yml ./.github/workflows/external_trigger_scheduler.yml'
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.md ./.github/ISSUE_TEMPLATE/issue.feature.md ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/stale.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml'
}
script{
env.LS_RELEASE_NUMBER = sh(
@ -117,10 +117,10 @@ pipeline {
}
}
}
// If this is a master build use live docker endpoints
// If this is a alpine build use live docker endpoints
stage("Set ENV live build"){
when {
branch "master"
branch "alpine"
environment name: 'CHANGE_ID', value: ''
}
steps {
@ -129,20 +129,20 @@ pipeline {
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/' + env.CONTAINER_NAME
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.CI_TAGS = 'amd64-alpine-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-alpine-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-alpine-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.CI_TAGS = 'alpine-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
}
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
env.META_TAG = 'alpine-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.EXT_RELEASE_TAG = 'alpine-version-' + env.EXT_RELEASE_CLEAN
}
}
}
// If this is a dev build use dev docker endpoints
stage("Set ENV dev build"){
when {
not {branch "master"}
not {branch "alpine"}
environment name: 'CHANGE_ID', value: ''
}
steps {
@ -151,13 +151,13 @@ pipeline {
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/lsiodev-' + env.CONTAINER_NAME
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.CI_TAGS = 'amd64-alpine-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-alpine-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-alpine-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.CI_TAGS = 'alpine-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
}
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
env.META_TAG = 'alpine-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.EXT_RELEASE_TAG = 'alpine-version-' + env.EXT_RELEASE_CLEAN
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
}
}
@ -173,13 +173,13 @@ pipeline {
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/lspipepr-' + env.CONTAINER_NAME
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.CI_TAGS = 'amd64-alpine-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-alpine-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-alpine-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.CI_TAGS = 'alpine-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
}
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
env.META_TAG = 'alpine-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.EXT_RELEASE_TAG = 'alpine-version-' + env.EXT_RELEASE_CLEAN
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/'
}
@ -217,7 +217,7 @@ pipeline {
// Use helper containers to render templated files
stage('Update-Templates') {
when {
branch "master"
branch "alpine"
environment name: 'CHANGE_ID', value: ''
expression {
env.CONTAINER_NAME != null
@ -228,13 +228,13 @@ pipeline {
set -e
TEMPDIR=$(mktemp -d)
docker pull ghcr.io/linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=alpine -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
# Stage 1 - Jenkinsfile update
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f master
git checkout -f alpine
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
git add Jenkinsfile
git commit -m 'Bot Updating Templated Files'
@ -257,7 +257,7 @@ pipeline {
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f master
git checkout -f alpine
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
for i in ${TEMPLATES_TO_DELETE}; do
git rm "${i}"
@ -279,7 +279,7 @@ pipeline {
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f master
git checkout -f alpine
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
@ -305,22 +305,24 @@ pipeline {
git commit -m 'Bot Updating Documentation'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all
fi
mkdir -p ${TEMPDIR}/unraid
mkdir -p ${TEMPDIR}/unraid
git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-logo.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
fi
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then
cd ${TEMPDIR}/unraid/templates/
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
echo "Image is on the ignore list, skipping Unraid template upload"
echo "Image is on the ignore list, removing Unraid template"
git rm unraid/${CONTAINER_NAME}.xml || :
git commit -m 'Bot Removing Deprecated Unraid Template' || :
else
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
cd ${TEMPDIR}/unraid/templates/
git add unraid/${CONTAINER_NAME}.xml
git commit -m 'Bot Updating Unraid Template'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git --all
fi
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git --all
fi
rm -Rf ${TEMPDIR}'''
script{
@ -333,7 +335,7 @@ pipeline {
// Exit the build if the Templated files were just updated
stage('Template-exit') {
when {
branch "master"
branch "alpine"
environment name: 'CHANGE_ID', value: ''
environment name: 'FILES_UPDATED', value: 'true'
expression {
@ -377,8 +379,21 @@ pipeline {
}
steps {
echo "Running on node: ${NODE_NAME}"
sh "docker build --no-cache --pull -t ${IMAGE}:${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker build \
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
--label \"org.opencontainers.image.authors=linuxserver.io\" \
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-rdesktop/packages\" \
--label \"org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-rdesktop\" \
--label \"org.opencontainers.image.source=https://github.com/linuxserver/docker-rdesktop\" \
--label \"org.opencontainers.image.version=${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}\" \
--label \"org.opencontainers.image.revision=${COMMIT_SHA}\" \
--label \"org.opencontainers.image.vendor=linuxserver.io\" \
--label \"org.opencontainers.image.licenses=GPL-3.0-only\" \
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
--label \"org.opencontainers.image.title=Rdesktop\" \
--label \"org.opencontainers.image.description=[Rdesktop](http://xrdp.org/) - Ubuntu based containers containing full desktop environments in officially supported flavors accessible via RDP. \" \
--no-cache --pull -t ${IMAGE}:${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
}
}
// Build MultiArch Docker containers for push to LS Repo
@ -391,8 +406,21 @@ pipeline {
stage('Build X86') {
steps {
echo "Running on node: ${NODE_NAME}"
sh "docker build --no-cache --pull -t ${IMAGE}:amd64-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker build \
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
--label \"org.opencontainers.image.authors=linuxserver.io\" \
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-rdesktop/packages\" \
--label \"org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-rdesktop\" \
--label \"org.opencontainers.image.source=https://github.com/linuxserver/docker-rdesktop\" \
--label \"org.opencontainers.image.version=${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}\" \
--label \"org.opencontainers.image.revision=${COMMIT_SHA}\" \
--label \"org.opencontainers.image.vendor=linuxserver.io\" \
--label \"org.opencontainers.image.licenses=GPL-3.0-only\" \
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
--label \"org.opencontainers.image.title=Rdesktop\" \
--label \"org.opencontainers.image.description=[Rdesktop](http://xrdp.org/) - Ubuntu based containers containing full desktop environments in officially supported flavors accessible via RDP. \" \
--no-cache --pull -t ${IMAGE}:amd64-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
}
}
stage('Build ARMHF') {
@ -405,8 +433,21 @@ pipeline {
sh '''#! /bin/bash
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
'''
sh "docker build --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker build \
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
--label \"org.opencontainers.image.authors=linuxserver.io\" \
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-rdesktop/packages\" \
--label \"org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-rdesktop\" \
--label \"org.opencontainers.image.source=https://github.com/linuxserver/docker-rdesktop\" \
--label \"org.opencontainers.image.version=${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}\" \
--label \"org.opencontainers.image.revision=${COMMIT_SHA}\" \
--label \"org.opencontainers.image.vendor=linuxserver.io\" \
--label \"org.opencontainers.image.licenses=GPL-3.0-only\" \
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
--label \"org.opencontainers.image.title=Rdesktop\" \
--label \"org.opencontainers.image.description=[Rdesktop](http://xrdp.org/) - Ubuntu based containers containing full desktop environments in officially supported flavors accessible via RDP. \" \
--no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
retry(5) {
sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
@ -426,8 +467,21 @@ pipeline {
sh '''#! /bin/bash
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
'''
sh "docker build --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker build \
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
--label \"org.opencontainers.image.authors=linuxserver.io\" \
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-rdesktop/packages\" \
--label \"org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-rdesktop\" \
--label \"org.opencontainers.image.source=https://github.com/linuxserver/docker-rdesktop\" \
--label \"org.opencontainers.image.version=${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}\" \
--label \"org.opencontainers.image.revision=${COMMIT_SHA}\" \
--label \"org.opencontainers.image.vendor=linuxserver.io\" \
--label \"org.opencontainers.image.licenses=GPL-3.0-only\" \
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
--label \"org.opencontainers.image.title=Rdesktop\" \
--label \"org.opencontainers.image.description=[Rdesktop](http://xrdp.org/) - Ubuntu based containers containing full desktop environments in officially supported flavors accessible via RDP. \" \
--no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
retry(5) {
sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
@ -442,7 +496,7 @@ pipeline {
// Take the image we just built and dump package versions for comparison
stage('Update-packages') {
when {
branch "master"
branch "alpine"
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
@ -470,7 +524,7 @@ pipeline {
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f master
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f alpine
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
cd ${TEMPDIR}/${LS_REPO}/
wait
@ -494,7 +548,7 @@ pipeline {
// Exit the build if the package file was just updated
stage('PACKAGE-exit') {
when {
branch "master"
branch "alpine"
environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'true'
environment name: 'EXIT_STATUS', value: ''
@ -515,7 +569,7 @@ pipeline {
// Exit the build if this is just a package check and there are no changes to push
stage('PACKAGECHECK-exit') {
when {
branch "master"
branch "alpine"
environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'false'
environment name: 'EXIT_STATUS', value: ''
@ -611,9 +665,9 @@ pipeline {
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:alpine
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG}
docker push ${PUSHIMAGE}:latest
docker push ${PUSHIMAGE}:alpine
docker push ${PUSHIMAGE}:${META_TAG}
docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
done
@ -624,7 +678,7 @@ pipeline {
docker rmi \
${DELETEIMAGE}:${META_TAG} \
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
${DELETEIMAGE}:latest || :
${DELETEIMAGE}:alpine || :
done
'''
}
@ -661,25 +715,25 @@ pipeline {
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-alpine
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-alpine
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-alpine
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker push ${MANIFESTIMAGE}:amd64-latest
docker push ${MANIFESTIMAGE}:arm32v7-latest
docker push ${MANIFESTIMAGE}:arm64v8-latest
docker push ${MANIFESTIMAGE}:amd64-alpine
docker push ${MANIFESTIMAGE}:arm32v7-alpine
docker push ${MANIFESTIMAGE}:arm64v8-alpine
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:alpine || :
docker manifest create ${MANIFESTIMAGE}:alpine ${MANIFESTIMAGE}:amd64-alpine ${MANIFESTIMAGE}:arm32v7-alpine ${MANIFESTIMAGE}:arm64v8-alpine
docker manifest annotate ${MANIFESTIMAGE}:alpine ${MANIFESTIMAGE}:arm32v7-alpine --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:alpine ${MANIFESTIMAGE}:arm64v8-alpine --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
@ -688,7 +742,7 @@ pipeline {
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:latest
docker manifest push --purge ${MANIFESTIMAGE}:alpine
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
done
@ -698,13 +752,13 @@ pipeline {
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
docker rmi \
${DELETEIMAGE}:amd64-${META_TAG} \
${DELETEIMAGE}:amd64-latest \
${DELETEIMAGE}:amd64-alpine \
${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \
${DELETEIMAGE}:arm32v7-${META_TAG} \
${DELETEIMAGE}:arm32v7-latest \
${DELETEIMAGE}:arm32v7-alpine \
${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \
${DELETEIMAGE}:arm64v8-${META_TAG} \
${DELETEIMAGE}:arm64v8-latest \
${DELETEIMAGE}:arm64v8-alpine \
${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
done
docker rmi \
@ -717,7 +771,7 @@ pipeline {
// If this is a public release tag it in the LS Github
stage('Github-Tag-Push-Release') {
when {
branch "master"
branch "alpine"
expression {
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
}
@ -729,17 +783,17 @@ pipeline {
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
-d '{"tag":"'${META_TAG}'",\
"object": "'${COMMIT_SHA}'",\
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to alpine",\
"type": "commit",\
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
echo "Pushing New release for Tag"
sh '''#! /bin/bash
echo "Updating base packages to ${PACKAGE_TAG}" > releasebody.json
echo '{"tag_name":"'${META_TAG}'",\
"target_commitish": "master",\
"target_commitish": "alpine",\
"name": "'${META_TAG}'",\
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**OS Changes:**\\n\\n' > start
printf '","draft": false,"prerelease": false}' >> releasebody.json
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**OS Changes:**\\n\\n' > start
printf '","draft": false,"prerelease": true}' >> releasebody.json
paste -d'\\0' start releasebody.json > releasebody.json.done
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
}
@ -763,7 +817,7 @@ pipeline {
set -e
TEMPDIR=$(mktemp -d)
docker pull ghcr.io/linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH="${BRANCH_NAME}" -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH="${BRANCH_NAME}" -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
docker pull ghcr.io/linuxserver/readme-sync
docker run --rm=true \
-e DOCKERHUB_USERNAME=$DOCKERUSER \

View File

@ -1,5 +1,5 @@
<!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read the CONTRIBUTING.md -->
<!-- Please read the https://github.com/linuxserver/docker-rdesktop/blob/alpine/.github/CONTRIBUTING.md -->
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io)
@ -12,13 +12,14 @@
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring:
* regular and timely application updates
* easy user mappings (PGID, PUID)
* custom base image with s6 overlay
* weekly base OS updates with common layers across the entire LinuxServer.io ecosystem to minimise space usage, down time and bandwidth
* regular security updates
* regular and timely application updates
* easy user mappings (PGID, PUID)
* custom base image with s6 overlay
* weekly base OS updates with common layers across the entire LinuxServer.io ecosystem to minimise space usage, down time and bandwidth
* regular security updates
Find us at:
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
* [Discourse](https://discourse.linuxserver.io) - post on our community forum.
@ -35,12 +36,11 @@ Find us at:
[![MicroBadger Layers](https://img.shields.io/microbadger/layers/linuxserver/rdesktop.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge)](https://microbadger.com/images/linuxserver/rdesktop "Get your own version badge on microbadger.com")
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/rdesktop.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/rdesktop)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/rdesktop.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/rdesktop)
[![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-rdesktop%2Fjob%2Fmaster%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-rdesktop/job/master/)
[![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-rdesktop%2Fjob%2Falpine%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-rdesktop/job/alpine/)
[![LSIO CI](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=CI&query=CI&url=https%3A%2F%2Fci-tests.linuxserver.io%2Flinuxserver%2Frdesktop%2Flatest%2Fci-status.yml)](https://ci-tests.linuxserver.io/linuxserver/rdesktop/latest/index.html)
[Rdesktop](http://xrdp.org/) - Ubuntu based containers containing full desktop environments in officially supported flavors accessible via RDP.
[![rdesktop](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/rdesktop.png)](http://xrdp.org/)
## Supported Architectures
@ -75,6 +75,24 @@ This image provides various versions that are available via tags. `latest` tag u
| openbox-bionic | Openbox Bionic |
| icewm-focal | IceWM Focal |
| icewm-bionic | IceWM Bionic |
| alpine | XFCE Alpine |
## Application Setup
**The Default USERNAME and PASSWORD is: abc/abc**
**Unlike our other containers these Desktops are not designed to be upgraded by Docker, you will keep your home directoy but anything you installed system level will be lost if you upgrade an existing container. To keep packages up to date instead use Ubuntu's own apt program**
**The KDE and i3 flavors need to be run in privileged mode to function properly**
You will need a Remote Desktop client to access this container [Wikipedia List](https://en.wikipedia.org/wiki/Comparison_of_remote_desktop_software), by default it listens on 3389, but you can change that port to whatever you wish on the host side IE `3390:3389`.
The first thing you should do when you login to the container is to change the abc users password by issuing the `passwd` command.
If you ever lose your password you can always reset it by execing into the container as root:
```
docker exec -it rdesktop passwd abc
```
By default we perform all logic for the abc user and we reccomend using that user only in the container, but new users can be added as long as there is a `startwm.sh` executable script in their home directory.
All of these containers are configured with passwordless sudo, we make no efforts to secure or harden these containers and we do not reccomend ever publishing their ports to the public Internet.
## Usage
@ -107,7 +125,7 @@ services:
### docker cli
```
```bash
docker run -d \
--name=rdesktop \
--privileged `#optional` \
@ -122,7 +140,6 @@ docker run -d \
ghcr.io/linuxserver/rdesktop
```
## Parameters
Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>:<internal>` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container.
@ -143,7 +160,7 @@ You can set any environment variable from a file by using a special prepend `FIL
As an example:
```
```bash
-e FILE__PASSWORD=/run/secrets/mysecretpassword
```
@ -162,37 +179,17 @@ Ensure any volume directories on the host are owned by the same user you specify
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id user` as below:
```
```bash
$ id username
uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
```
&nbsp;
## Application Setup
**The Default USERNAME and PASSWORD is: abc/abc**
**Unlike our other containers these Desktops are not designed to be upgraded by Docker, you will keep your home directoy but anything you installed system level will be lost if you upgrade an existing container. To keep packages up to date instead use Ubuntu's own apt program**
**The KDE and i3 flavors need to be run in privileged mode to function properly**
You will need a Remote Desktop client to access this container [Wikipedia List](https://en.wikipedia.org/wiki/Comparison_of_remote_desktop_software), by default it listens on 3389, but you can change that port to whatever you wish on the host side IE `3390:3389`.
The first thing you should do when you login to the container is to change the abc users password by issuing the `passwd` command.
If you ever lose your password you can always reset it by execing into the container as root:
```
docker exec -it rdesktop passwd abc
```
By default we perform all logic for the abc user and we reccomend using that user only in the container, but new users can be added as long as there is a `startwm.sh` executable script in their home directory.
All of these containers are configured with passwordless sudo, we make no efforts to secure or harden these containers and we do not reccomend ever publishing their ports to the public Internet.
## Docker Mods
[![Docker Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=rdesktop&query=%24.mods%5B%27rdesktop%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=rdesktop "view available mods for this container.") [![Docker Universal Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=universal&query=%24.mods%5B%27universal%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=universal "view available universal mods.")
We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to enable additional functionality within the containers. The list of Mods available for this image (if any) as well as universal mods that can be applied to any one of our images can be accessed via the dynamic badges above.
## Support Info
* Shell access whilst the container is running: `docker exec -it rdesktop /bin/bash`
@ -209,6 +206,7 @@ Most of our images are static, versioned, and require an image update and contai
Below are the instructions for updating containers:
### Via Docker Compose
* Update all images: `docker-compose pull`
* or update a single image: `docker-compose pull rdesktop`
* Let compose update all containers as necessary: `docker-compose up -d`
@ -216,6 +214,7 @@ Below are the instructions for updating containers:
* You can also remove the old dangling images: `docker image prune`
### Via Docker Run
* Update the image: `docker pull ghcr.io/linuxserver/rdesktop`
* Stop the running container: `docker stop rdesktop`
* Delete the container: `docker rm rdesktop`
@ -223,24 +222,29 @@ Below are the instructions for updating containers:
* You can also remove the old dangling images: `docker image prune`
### Via Watchtower auto-updater (only use if you don't remember the original parameters)
* Pull the latest image at its tag and replace it with the same env variables in one run:
```
```bash
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--run-once rdesktop
```
* You can also remove the old dangling images: `docker image prune`
**Note:** We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using [Docker Compose](https://docs.linuxserver.io/general/docker-compose).
### Image Update Notifications - Diun (Docker Image Update Notifier)
* We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
## Building locally
If you want to make local modifications to these images for development purposes or just to customize the logic:
```
```bash
git clone https://github.com/linuxserver/docker-rdesktop.git
cd docker-rdesktop
docker build \
@ -250,7 +254,8 @@ docker build \
```
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
```
```bash
docker run --rm --privileged multiarch/qemu-user-static:register --reset
```

View File

@ -3,9 +3,9 @@
# jenkins variables
project_name: docker-rdesktop
external_type: os
release_type: stable
release_tag: latest
ls_branch: master
release_type: prerelease
release_tag: alpine
ls_branch: alpine
repo_vars:
- BUILD_VERSION_ARG = 'OS_VERSION'
- LS_USER = 'linuxserver'
@ -14,7 +14,7 @@ repo_vars:
- DOCKERHUB_IMAGE = 'linuxserver/rdesktop'
- DEV_DOCKERHUB_IMAGE = 'lsiodev/rdesktop'
- PR_DOCKERHUB_IMAGE = 'lspipepr/rdesktop'
- DIST_IMAGE = 'ubuntu'
- DIST_IMAGE = 'alpine'
- MULTIARCH='true'
- CI='true'
- CI_WEB='false'

View File

@ -1,548 +1,249 @@
adduser3.118ubuntu2
adwaita-icon-theme3.36.1-2ubuntu0.20.04.2
apt2.0.4
apt-transport-https2.0.4
apt-utils2.0.4
base-files11ubuntu5.3
base-passwd3.5.47
bash5.0-6ubuntu1.1
bsdmainutils11.1.2ubuntu3
bsdutils1:2.34-0.1ubuntu9.1
bzip21.0.8-2
ca-certificates20210119~20.04.1
coreutils8.30-3ubuntu2
cpp4:9.3.0-1ubuntu2
cpp-99.3.0-17ubuntu1~20.04
curl7.68.0-1ubuntu2.5
dash0.5.10.2-6
dbus1.12.16-2ubuntu2.1
dbus-user-session1.12.16-2ubuntu2.1
dbus-x111.12.16-2ubuntu2.1
dconf-gsettings-backend0.36.0-1
dconf-service0.36.0-1
debconf1.5.73
debianutils4.9.1
desktop-file-utils0.24-1ubuntu3
diffutils1:3.7-3
dirmngr2.2.19-3ubuntu2.1
distro-info-data0.43ubuntu1.4
docker-ce-cli5:20.10.5~3-0~ubuntu-bionic
dpkg1.19.7ubuntu3
e2fsprogs1.45.5-2ubuntu1
elementary-xfce-icon-theme0.15-1
exo-utils0.12.11-1ubuntu1.20.04.1
fdisk2.34-0.1ubuntu9.1
findutils4.7.0-1ubuntu1
firefox87.0+build3-0ubuntu0.20.04.2
fontconfig2.13.1-2ubuntu3
fontconfig-config2.13.1-2ubuntu3
fonts-dejavu-core2.37-1
fonts-noto-core20200323-1build1~ubuntu20.04.1
fonts-noto-hinted20200323-1build1~ubuntu20.04.1
fonts-noto-ui-core20200323-1build1~ubuntu20.04.1
fonts-ubuntu0.83-4ubuntu1
gawk1:5.0.1+dfsg-1
gcc-10-base10.2.0-5ubuntu1~20.04
gcc-9-base9.3.0-17ubuntu1~20.04
gir1.2-atk-1.02.35.1-1ubuntu2
gir1.2-freedesktop1.64.1-1~ubuntu20.04.1
gir1.2-gdkpixbuf-2.02.40.0+dfsg-3ubuntu0.2
gir1.2-glib-2.01.64.1-1~ubuntu20.04.1
gir1.2-gtk-3.03.24.20-0ubuntu1
gir1.2-packagekitglib-1.01.1.13-2ubuntu1.1
gir1.2-pango-1.01.44.7-2ubuntu4
gir1.2-vte-2.910.60.3-0ubuntu1~20.04
glib-networking2.64.2-1ubuntu0.1
glib-networking-common2.64.2-1ubuntu0.1
glib-networking-services2.64.2-1ubuntu0.1
gnupg2.2.19-3ubuntu2.1
gnupg22.2.19-3ubuntu2.1
gnupg-l10n2.2.19-3ubuntu2.1
gnupg-utils2.2.19-3ubuntu2.1
gpg2.2.19-3ubuntu2.1
gpg-agent2.2.19-3ubuntu2.1
gpgconf2.2.19-3ubuntu2.1
gpgsm2.2.19-3ubuntu2.1
gpgv2.2.19-3ubuntu2.1
gpg-wks-client2.2.19-3ubuntu2.1
gpg-wks-server2.2.19-3ubuntu2.1
grep3.4-1
greybird-gtk-theme3.22.12-0ubuntu1
groff-base1.22.4-4build1
gsettings-desktop-schemas3.36.0-1ubuntu1
gtk2-engines-murrine0.98.2-3
gtk-update-icon-cache3.24.20-0ubuntu1
gzip1.10-0ubuntu4
hicolor-icon-theme0.17-2
hostname3.23
humanity-icon-theme0.6.15
init-system-helpers1.57
iso-codes4.4-1
keyboard-configuration1.194ubuntu3
krb5-locales1.17-6ubuntu4.1
libacl12.2.53-6
libapparmor12.13.3-7ubuntu5.1
libappstream40.12.10-2
libapt-pkg6.02.0.4
libargon2-10~20171227-0.2
libasn1-8-heimdal7.7.0+dfsg-1ubuntu1
libasound21.2.2-2.1ubuntu2.3
libasound2-data1.2.2-2.1ubuntu2.3
libasound2-plugins1.2.2-1ubuntu1
libassuan02.5.3-7ubuntu2
libasyncns00.8-6
libatk1.0-02.35.1-1ubuntu2
libatk1.0-data2.35.1-1ubuntu2
libatk-bridge2.0-02.34.2-0ubuntu2~20.04.1
libatkmm-1.6-1v52.28.0-2build1
libatspi2.0-02.36.0-2
libattr11:2.4.48-5
libaudit11:2.8.5-2ubuntu6
libaudit-common1:2.8.5-2ubuntu6
libavahi-client30.7-4ubuntu7
libavahi-common30.7-4ubuntu7
libavahi-common-data0.7-4ubuntu7
libblkid12.34-0.1ubuntu9.1
libbrotli11.0.7-6ubuntu0.1
libbsd00.10.0-1
libburn41.5.2-1
libbz2-1.01.0.8-2
libc62.31-0ubuntu9.2
libcairo21.16.0-4ubuntu1
libcairo-gobject21.16.0-4ubuntu1
libcairomm-1.0-1v51.12.2-4build1
libcanberra00.30-7ubuntu1
libcanberra-gtk3-00.30-7ubuntu1
libcap21:2.32-1
libcap2-bin1:2.32-1
libcap-ng00.7.9-2.1build1
libc-bin2.31-0ubuntu9.2
libcolord21.4.4-2
libcom-err21.45.5-2ubuntu1
libcrypt11:4.4.10-10ubuntu4
libcryptsetup122:2.2.2-3ubuntu2.3
libcups22.3.1-9ubuntu1.1
libcurl47.68.0-1ubuntu2.5
libdatrie10.2.12-3
libdb5.35.3.28+dfsg1-0.6ubuntu2
libdbus-1-31.12.16-2ubuntu2.1
libdbus-glib-1-20.110-5fakssync1
libdconf10.36.0-1
libdebconfclient00.251ubuntu1
libdevmapper1.02.12:1.02.167-1ubuntu1
libdrm22.4.102-1ubuntu1~20.04.1
libdrm-amdgpu12.4.102-1ubuntu1~20.04.1
libdrm-common2.4.102-1ubuntu1~20.04.1
libdrm-intel12.4.102-1ubuntu1~20.04.1
libdrm-nouveau22.4.102-1ubuntu1~20.04.1
libdrm-radeon12.4.102-1ubuntu1~20.04.1
libedit23.1-20191231-1
libegl11.3.2-1~ubuntu0.20.04.1
libegl-mesa020.2.6-0ubuntu0.20.04.1
libelf10.176-1.1build1
libepoxy01.5.4-1
libexif120.6.21-6ubuntu0.4
libexo-1-00.12.11-1ubuntu1.20.04.1
libexo-2-00.12.11-1ubuntu1.20.04.1
libexo-common0.12.11-1ubuntu1.20.04.1
libexo-helpers0.12.11-1ubuntu1.20.04.1
libexpat12.2.9-1build1
libext2fs21.45.5-2ubuntu1
libfdisk12.34-0.1ubuntu9.1
libffi73.3-4
libflac81.3.3-1build1
libfontconfig12.13.1-2ubuntu3
libfontenc11:1.1.4-0ubuntu1
libfreetype62.10.1-2ubuntu0.1
libfribidi01.0.8-2
libfuse22.9.9-3
libgarcon-1-00.6.4-1
libgarcon-common0.6.4-1
libgarcon-gtk3-1-00.6.4-1
libgbm120.2.6-0ubuntu0.20.04.1
libgcc-s110.2.0-5ubuntu1~20.04
libgcrypt201.8.5-5ubuntu1
libgdbm61.18.1-5
libgdk-pixbuf2.0-02.40.0+dfsg-3ubuntu0.2
libgdk-pixbuf2.0-common2.40.0+dfsg-3ubuntu0.2
libgirepository-1.0-11.64.1-1~ubuntu20.04.1
libgl11.3.2-1~ubuntu0.20.04.1
libgl1-mesa-dri20.2.6-0ubuntu0.20.04.1
libglapi-mesa20.2.6-0ubuntu0.20.04.1
libglib2.0-02.64.6-1~ubuntu20.04.3
libglib2.0-bin2.64.6-1~ubuntu20.04.3
libglib2.0-data2.64.6-1~ubuntu20.04.3
libglibmm-2.4-1v52.64.2-1
libglvnd01.3.2-1~ubuntu0.20.04.1
libglx01.3.2-1~ubuntu0.20.04.1
libglx-mesa020.2.6-0ubuntu0.20.04.1
libgmp102:6.2.0+dfsg-4
libgnutls303.6.13-2ubuntu1.3
libgomp110.2.0-5ubuntu1~20.04
libgpg-error01.37-1
libgraphite2-31.3.13-11build1
libgssapi3-heimdal7.7.0+dfsg-1ubuntu1
libgssapi-krb5-21.17-6ubuntu4.1
libgstreamer1.0-01.16.2-2
libgstreamer-plugins-base1.0-01.16.2-4
libgtk2.0-02.24.32-4ubuntu4
libgtk2.0-common2.24.32-4ubuntu4
libgtk-3-03.24.20-0ubuntu1
libgtk-3-common3.24.20-0ubuntu1
libgtkmm-3.0-1v53.24.2-1build1
libgtksourceview-3.0-13.24.11-2
libgtksourceview-3.0-common3.24.11-2
libgudev-1.0-01:233-1
libharfbuzz0b2.6.4-1ubuntu4
libhcrypto4-heimdal7.7.0+dfsg-1ubuntu1
libheimbase1-heimdal7.7.0+dfsg-1ubuntu1
libheimntlm0-heimdal7.7.0+dfsg-1ubuntu1
libhogweed53.5.1+really3.5.1-2
libhx509-5-heimdal7.7.0+dfsg-1ubuntu1
libice62:1.0.10-0ubuntu1
libicu6666.1-2ubuntu2
libidn2-02.2.0-2
libindicator3-716.10.0+18.04.20180321.1-0ubuntu4
libip4tc21.8.4-3ubuntu2
libisl220.22.1-1
libisofs61.5.2-1
libjack-jackd2-01.9.12~dfsg-2ubuntu2
libjbig02.1-3.1build1
libjpeg88c-2ubuntu8
libjpeg-turbo82.0.3-0ubuntu1.20.04.1
libjson-c40.13.1+dfsg-7ubuntu0.3
libjson-glib-1.0-01.4.4-2ubuntu2
libjson-glib-1.0-common1.4.4-2ubuntu2
libjte21.22-3build1
libk5crypto31.17-6ubuntu4.1
libkeybinder-3.0-00.3.2-1ubuntu1
libkeyutils11.6-6ubuntu1
libkmod227-1ubuntu2
libkrb5-26-heimdal7.7.0+dfsg-1ubuntu1
libkrb5-31.17-6ubuntu4.1
libkrb5support01.17-6ubuntu4.1
libksba81.3.5-2
liblcms2-22.9-4
libldap-2.4-22.4.49+dfsg-2ubuntu1.7
libldap-common2.4.49+dfsg-2ubuntu1.7
liblightdm-gobject-1-01.30.0-0ubuntu3.1
libllvm111:11.0.0-2~ubuntu20.04.1
liblmdb00.9.24-1
liblocale-gettext-perl1.07-4
libltdl72.4.6-14
liblz4-11.9.2-2
liblzma55.2.4-1ubuntu1
libmagic11:5.38-4
libmagic-mgc1:5.38-4
libmount12.34-0.1ubuntu9.1
libmpc31.1.0-1
libmpdec22.4.2-3
libmpfr64.0.2-1
libncurses66.2-0ubuntu2
libncursesw66.2-0ubuntu2
libnettle73.5.1+really3.5.1-2
libnewt0.520.52.21-4ubuntu2
libnghttp2-141.40.0-1build1
libnotify40.7.9-1ubuntu2
libnpth01.6-1
libogg01.3.4-0ubuntu1
libopus01.3.1-0ubuntu1
liborc-0.4-01:0.4.31-1
libp11-kit00.23.20-1ubuntu0.1
libpackagekit-glib2-181.1.13-2ubuntu1.1
libpam0g1.3.1-5ubuntu4.1
libpam-modules1.3.1-5ubuntu4.1
libpam-modules-bin1.3.1-5ubuntu4.1
libpam-runtime1.3.1-5ubuntu4.1
libpam-systemd245.4-4ubuntu3.5
libpango-1.0-01.44.7-2ubuntu4
libpangocairo-1.0-01.44.7-2ubuntu4
libpangoft2-1.0-01.44.7-2ubuntu4
libpangomm-1.4-1v52.42.0-2build1
libpangoxft-1.0-01.44.7-2ubuntu4
libpciaccess00.16-0ubuntu1
libpcre2-8-010.34-7
libpcre32:8.39-12build1
libpipeline11.5.2-2build1
libpixman-1-00.38.4-0ubuntu1
libplymouth50.9.4git20200323-0ubuntu6.2
libpng16-161.6.37-2
libpolkit-agent-1-00.105-26ubuntu1
libpolkit-gobject-1-00.105-26ubuntu1
libprocps82:3.3.16-1ubuntu2
libproxy1v50.4.15-10ubuntu1.2
libpsl50.21.0-1ubuntu1
libpthread-stubs0-dev0.4-1
libpulse01:13.99.1-1ubuntu3.10
libpulsedsp1:13.99.1-1ubuntu3.10
libpulse-mainloop-glib01:13.99.1-1ubuntu3.10
libpython3.8-minimal3.8.5-1~20.04.2
libpython3.8-stdlib3.8.5-1~20.04.2
libpython3-stdlib3.8.2-0ubuntu2
libqrencode44.0.2-2
libreadline88.0-4
librest-0.7-00.8.1-1
libroken18-heimdal7.7.0+dfsg-1ubuntu1
librsvg2-22.48.9-1ubuntu0.20.04.1
librsvg2-common2.48.9-1ubuntu0.20.04.1
librtmp12.4+20151223.gitfa8646d.1-2build1
libsamplerate00.1.9-2
libsasl2-22.1.27+dfsg-2
libsasl2-modules2.1.27+dfsg-2
libsasl2-modules-db2.1.27+dfsg-2
libseccomp22.4.3-1ubuntu3.20.04.3
libselinux13.0-1build2
libsemanage13.0-1build2
libsemanage-common3.0-1build2
libsensors51:3.6.0-2ubuntu1
libsensors-config1:3.6.0-2ubuntu1
libsepol13.0-1
libsigc++-2.0-0v52.10.2-1build1
libsigsegv22.12-2
libslang22.3.2-4
libsm62:1.2.3-1
libsmartcols12.34-0.1ubuntu9.1
libsnapd-glib11.58-0ubuntu0.20.04.0
libsndfile11.0.28-7
libsoup2.4-12.70.0-1
libsoup-gnome2.4-12.70.0-1
libsoxr00.1.3-2build1
libspeexdsp11.2~rc1.2-1.1ubuntu1
libsqlite3-03.31.1-4ubuntu0.2
libss21.45.5-2ubuntu1
libssh-40.9.3-2ubuntu2.1
libssl1.11.1.1f-1ubuntu2.3
libstartup-notification00.12-6
libstdc++610.2.0-5ubuntu1~20.04
libstemmer0d0+svn585-2
libsystemd0245.4-4ubuntu3.5
libtag1v51.11.1+dfsg.1-0.3ubuntu2
libtag1v5-vanilla1.11.1+dfsg.1-0.3ubuntu2
libtagc01.11.1+dfsg.1-0.3ubuntu2
libtasn1-64.16.0-2
libtdb11.4.2-3build1
libthai00.1.28-3
libthai-data0.1.28-3
libthunarx-3-01.8.14-0ubuntu1
libtiff54.1.0+git191117-2ubuntu0.20.04.1
libtinfo66.2-0ubuntu2
libuchardet00.0.6-3build1
libudev1245.4-4ubuntu3.5
libunistring20.9.10-2
libunwind81.2.1-9build1
libupower-glib30.99.11-1build2
libutempter01.1.6-4
libuuid12.34-0.1ubuntu9.1
libvorbis0a1.3.6-2ubuntu1
libvorbisenc21.3.6-2ubuntu1
libvorbisfile31.3.6-2ubuntu1
libvte-2.91-00.60.3-0ubuntu1~20.04
libvte-2.91-common0.60.3-0ubuntu1~20.04
libvulkan11.2.131.2-1
libwayland-client01.18.0-1
libwayland-cursor01.18.0-1
libwayland-egl11.18.0-1
libwayland-server01.18.0-1
libwebp60.6.1-2
libwebrtc-audio-processing10.3.1-0ubuntu3
libwind0-heimdal7.7.0+dfsg-1ubuntu1
libwnck-3-03.36.0-1
libwnck-3-common3.36.0-1
libwrap07.6.q-30
libx11-62:1.6.9-2ubuntu1.1
libx11-data2:1.6.9-2ubuntu1.1
libx11-dev2:1.6.9-2ubuntu1.1
libx11-xcb12:1.6.9-2ubuntu1.1
libxau61:1.0.9-0ubuntu1
libxau-dev1:1.0.9-0ubuntu1
libxaw72:1.0.13-1
libxcb11.14-2
libxcb1-dev1.14-2
libxcb-dri2-01.14-2
libxcb-dri3-01.14-2
libxcb-glx01.14-2
libxcb-present01.14-2
libxcb-render01.14-2
libxcb-shape01.14-2
libxcb-shm01.14-2
libxcb-sync11.14-2
libxcb-util10.4.0-0ubuntu3
libxcb-xfixes01.14-2
libxcomposite11:0.4.5-1
libxcursor11:1.2.0-2
libxdamage11:1.1.5-2
libxdmcp61:1.1.3-0ubuntu1
libxdmcp-dev1:1.1.3-0ubuntu1
libxext62:1.3.4-0ubuntu1
libxfce4panel-2.0-44.14.3-1
libxfce4ui-1-04.14.1-1ubuntu1
libxfce4ui-2-04.14.1-1ubuntu1
libxfce4ui-common4.14.1-1ubuntu1
libxfce4ui-utils4.14.1-1ubuntu1
libxfce4util74.14.0-1
libxfce4util-common4.14.0-1
libxfconf-0-34.14.1-1
libxfixes31:5.0.3-2
libxfont21:2.0.3-1
libxft22.3.3-0ubuntu1
libxi62:1.7.10-0ubuntu1
libxinerama12:1.1.4-2
libxkbcommon00.10.0-1
libxkbfile11:1.1.0-1
libxklavier165.4-4
libxml22.9.10+dfsg-5
libxmu62:1.1.3-0ubuntu1
libxmuu12:1.1.3-0ubuntu1
libxnvctrl0460.39-0ubuntu0.20.04.1
libxpm41:3.5.12-1
libxpresent11.0.0-2build1
libxrandr22:1.5.2-0ubuntu1
libxrender11:0.9.10-1
libxres12:1.2.0-4
libxshmfence11.3-1
libxt61:1.1.5-1
libxtst62:1.2.3-1
libxv12:1.0.11-1
libxxf86dga12:1.1.5-0ubuntu1
libxxf86vm11:1.1.4-1build1
libyaml-0-20.2.2-1
libzstd11.4.4+dfsg-3ubuntu0.1
lightdm-gtk-greeter2.0.6-0ubuntu1
locales2.31-0ubuntu9.2
login1:4.8.1-1ubuntu5.20.04
logsave1.45.5-2ubuntu1
lsb-base11.1.0ubuntu2
lsb-release11.1.0ubuntu2
man-db2.9.1-1
mawk1.3.4.20200120-2
mime-support3.64ubuntu1
mount2.34-0.1ubuntu9.1
mousepad0.4.2-1
ncurses-base6.2-0ubuntu2
ncurses-bin6.2-0ubuntu2
numix-gtk-theme2.6.7-5
openssl1.1.1f-1ubuntu2.3
packagekit1.1.13-2ubuntu1.1
passwd1:4.8.1-1ubuntu5.20.04
pavucontrol4.0-1build1
perl-base5.30.0-9ubuntu0.2
pinentry-curses1.1.0-3build1
plymouth0.9.4git20200323-0ubuntu6.2
plymouth-label0.9.4git20200323-0ubuntu6.2
plymouth-theme-ubuntu-text0.9.4git20200323-0ubuntu6.2
plymouth-theme-xubuntu-logo20.04.2
plymouth-theme-xubuntu-text20.04.2
policykit-10.105-26ubuntu1
procps2:3.3.16-1ubuntu2
publicsuffix20200303.0012-1
pulseaudio1:13.99.1-1ubuntu3.10
pulseaudio-utils1:13.99.1-1ubuntu3.10
python33.8.2-0ubuntu2
python3.83.8.5-1~20.04.2
python3.8-minimal3.8.5-1~20.04.2
python3-apt2.0.0ubuntu0.20.04.4
python3-cairo1.16.2-2ubuntu2
python3-certifi2019.11.28-1
python3-chardet3.0.4-4build1
python3-configobj5.0.6-4
python3-dbus1.2.16-1build1
python3-gi3.36.0-1
python3-gi-cairo3.36.0-1
python3-idna2.8-1
python3-minimal3.8.2-0ubuntu2
python3-pkg-resources45.2.0-1
python3-psutil5.5.1-1ubuntu4
python3-requests2.22.0-2ubuntu1
python3-requests-unixsocket0.2.0-2
python3-six1.14.0-2
python3-software-properties0.98.9.4
python3-urllib31.25.8-2ubuntu0.1
python-apt-common2.0.0ubuntu0.20.04.4
readline-common8.0-4
ristretto0.10.0-1
sed4.7-1
sensible-utils0.0.12+nmu1
shared-mime-info1.15-1
shimmer-themes2.1.3
software-properties-common0.98.9.4
sound-theme-freedesktop0.8-2ubuntu1
ssl-cert1.0.39
sudo1.8.31-1ubuntu1.2
systemd245.4-4ubuntu3.5
systemd-sysv245.4-4ubuntu3.5
systemd-timesyncd245.4-4ubuntu3.5
sysvinit-utils2.96-2.1ubuntu1
tar1.30+dfsg-7ubuntu0.20.04.1
terminator1.91-4ubuntu1
thunar1.8.14-0ubuntu1
thunar-archive-plugin0.4.0-2
thunar-data1.8.14-0ubuntu1
thunar-media-tags-plugin0.3.0-2
tzdata2021a-0ubuntu0.20.04
ubuntu-keyring2020.02.11.2
ubuntu-mono19.04-0ubuntu3
ucf3.0038+nmu1
udev245.4-4ubuntu3.5
util-linux2.34-0.1ubuntu9.1
x11-apps7.7+8
x11-common1:7.7+19ubuntu14
x11proto-core-dev2019.2-1ubuntu1
x11proto-dev2019.2-1ubuntu1
x11-session-utils7.7+4
x11-utils7.7+5
x11-xkb-utils7.7+5
x11-xserver-utils7.7+8
xfburn0.6.2-1
xfce44.14
xfce4-appfinder4.14.0-1
xfce4-battery-plugin1.1.3-1
xfce4-clipman2:1.4.4-1
xfce4-clipman-plugin2:1.4.4-1
xfce4-cpufreq-plugin1.2.1-1
xfce4-cpugraph-plugin1.1.0-1
xfce4-datetime-plugin0.8.0-1
xfce4-dict0.8.3-1
xfce4-diskperf-plugin2.6.2-1
xfce4-fsguard-plugin1.1.1-1
xfce4-genmon-plugin4.0.2-1
xfce4-goodies4.14.0
xfce4-mailwatch-plugin1.2.0-3
xfce4-netload-plugin1.3.2-1
xfce4-notifyd0.4.4-1
xfce4-panel4.14.3-1
xfce4-places-plugin1.8.1-1
xfce4-pulseaudio-plugin0.4.3-0ubuntu1
xfce4-screenshooter1.9.7-1
xfce4-sensors-plugin1.3.0-2build1
xfce4-session4.14.2-0ubuntu1
xfce4-settings4.14.3-0ubuntu1
xfce4-smartbookmark-plugin0.5.1-1
xfce4-systemload-plugin1:1.2.3-1ubuntu1
xfce4-taskmanager1.2.3-0ubuntu1
xfce4-terminal0.8.9.1-1
xfce4-timer-plugin1.7.0-1
xfce4-verve-plugin2.0.0-1
xfce4-wavelan-plugin0.6.1-1
xfce4-weather-plugin0.10.2-0ubuntu0.20.04.1
xfce4-whiskermenu-plugin2.4.3-1
xfce4-xkb-plugin1:0.8.1-2
xfconf4.14.1-1
xfdesktop44.14.2-1
xfdesktop4-data4.14.2-1
xfonts-base1:1.0.5
xfonts-encodings1:1.0.5-0ubuntu1
xfonts-utils1:7.7+6
xfwm44.14.1-0ubuntu1
xkb-data2.29-2
xorg-sgml-doctools1:1.11-1
xorgxrdp1:0.2.12-1
xrdp0.9.12-1
xserver-common2:1.20.9-2ubuntu1.2~20.04.1
xserver-xorg-core2:1.20.9-2ubuntu1.2~20.04.1
xtrans-dev1.4.0-1
xubuntu-artwork20.04.2
xubuntu-default-settings20.04.4
xubuntu-icon-theme20.04.2
xubuntu-wallpapers20.04.2
xutils1:7.7+19ubuntu14
zlib1g1:1.2.11.dfsg-2ubuntu1.2
alpine-baselayout-3.2.0-r8
alpine-keys-2.2-r0
alsa-lib-1.2.4-r2
alsa-plugins-pulse-1.2.2-r1
apk-tools-2.12.5-r0
at-spi2-atk-2.38.0-r0
at-spi2-core-2.38.0-r0
atk-2.36.0-r0
atkmm-2.28.0-r1
avahi-libs-0.8-r2
bash-5.1.0-r0
brotli-libs-1.0.9-r3
busybox-1.32.1-r6
ca-certificates-20191127-r5
ca-certificates-bundle-20191127-r5
cairo-1.16.0-r2
cairo-gobject-1.16.0-r2
cairomm-1.14.0-r0
containerd-1.4.4-r0
coreutils-8.32-r2
cups-libs-2.3.3-r1
dbus-1.12.20-r1
dbus-glib-0.110-r0
dbus-libs-1.12.20-r1
dbus-x11-1.12.20-r1
desktop-file-utils-0.26-r0
device-mapper-libs-2.02.187-r1
docker-20.10.3-r1
docker-cli-20.10.3-r1
docker-engine-20.10.3-r1
encodings-1.0.5-r0
eudev-libs-3.2.9-r3
exo-4.16.0-r0
exo-libs-4.16.0-r0
expat-2.2.10-r1
faenza-icon-theme-1.3.1-r6
faenza-icon-theme-bash-1.3.1-r6
faenza-icon-theme-firefox-1.3.1-r6
faenza-icon-theme-thunar-1.3.1-r6
faenza-icon-theme-xfce4-appfinder-1.3.1-r6
faenza-icon-theme-xfce4-panel-1.3.1-r6
faenza-icon-theme-xterm-1.3.1-r6
firefox-88.0-r0
flac-1.3.3-r0
font-alias-1.0.3-r1
font-cursor-misc-1.0.3-r1
font-misc-misc-1.1.2-r1
font-noto-0_git20190623-r2
fontconfig-2.13.1-r3
freetype-2.10.4-r1
fribidi-1.0.10-r0
fuse-2.9.9-r1
fuse-common-3.10.2-r0
garcon-0.8.0-r0
gdk-pixbuf-2.42.4-r0
glib-2.66.8-r0
glibmm-2.64.5-r0
gmp-6.2.1-r0
gnutls-3.7.1-r0
graphite2-1.3.14-r0
gtk+3.0-3.24.23-r2
gtk-update-icon-cache-2.24.33-r0
gtkmm3-3.24.3-r0
gtksourceview-3.24.11-r1
harfbuzz-2.7.4-r1
hicolor-icon-theme-0.17-r1
iceauth-1.0.8-r0
icu-libs-67.1-r2
ip6tables-1.8.6-r0
iptables-1.8.6-r0
iso-codes-4.5.0-r0
lcms2-2.11-r0
libacl-2.2.53-r0
libasyncns-0.8-r1
libattr-2.4.48-r0
libblkid-2.36.1-r1
libbsd-0.10.0-r0
libbz2-1.0.8-r1
libc-utils-0.7.2-r3
libcanberra-0.30-r5
libcanberra-gtk3-0.30-r5
libcanberra-pulse-0.30-r5
libcap-2.46-r0
libcrypto1.1-1.1.1k-r0
libcurl-7.76.1-r0
libdrm-2.4.104-r0
libedit-20191231.3.1-r1
libepoxy-1.5.5-r0
libevent-2.1.12-r1
libexif-0.6.22-r0
libffi-3.3-r2
libfontenc-1.1.4-r0
libgcc-10.2.1_pre1-r3
libgomp-10.2.1_pre1-r3
libgtop-2.40.0-r0
libgudev-234-r0
libice-1.0.10-r0
libintl-0.20.2-r2
libjpeg-turbo-2.1.0-r0
libltdl-2.4.6-r7
libmnl-1.0.4-r1
libmount-2.36.1-r1
libnftnl-libs-1.1.8-r0
libnotify-0.7.9-r1
libogg-1.3.4-r0
libpciaccess-0.16-r0
libpng-1.6.37-r1
libproc-3.3.16-r0
libpulse-14.1-r0
libpulse-mainloop-glib-14.1-r0
libseccomp-2.5.1-r1
libsigc++-2.10.6-r0
libsm-1.2.3-r0
libsndfile-1.0.29-r1
libssl1.1-1.1.1k-r0
libstdc++-10.2.1_pre1-r3
libtasn1-4.16.0-r1
libtls-standalone-2.9.1-r1
libunistring-0.9.10-r0
libusb-1.0.24-r1
libuuid-2.36.1-r1
libvorbis-1.3.7-r0
libvpx-1.9.0-r0
libwebp-1.1.0-r0
libwnck3-3.36.0-r0
libx11-1.7.0-r0
libxau-1.0.9-r0
libxaw-1.0.13-r3
libxcb-1.14-r1
libxcomposite-0.4.5-r0
libxcursor-1.2.0-r0
libxdamage-1.1.5-r1
libxdmcp-1.1.3-r0
libxext-1.3.4-r0
libxfce4ui-4.16.0-r1
libxfce4util-4.16.0-r0
libxfixes-5.0.3-r2
libxfont2-2.0.4-r0
libxft-2.3.3-r0
libxi-1.7.10-r0
libxinerama-1.1.4-r1
libxkbcommon-1.0.3-r0
libxkbfile-1.1.0-r0
libxklavier-5.4-r5
libxml2-2.9.10-r6
libxmu-1.1.3-r0
libxpm-3.5.13-r0
libxpresent-1.0.0-r0
libxrandr-1.5.2-r1
libxrender-0.9.10-r3
libxres-1.2.0-r2
libxshmfence-1.3-r1
libxt-1.2.1-r0
libxtst-1.2.3-r3
libxxf86vm-1.1.4-r2
linux-pam-1.5.1-r0
mcookie-2.36.1-r1
mesa-20.3.3-r0
mesa-gbm-20.3.3-r0
mesa-gl-20.3.3-r0
mesa-glapi-20.3.3-r0
mkfontscale-1.2.1-r1
mousepad-0.5.2-r0
mozjs78-78.10.0-r0
musl-1.2.2-r0
musl-utils-1.2.2-r0
ncurses-libs-6.2_p20210109-r0
ncurses-terminfo-base-6.2_p20210109-r0
nettle-3.7.2-r0
nghttp2-libs-1.42.0-r1
nspr-4.29-r0
nss-3.63-r1
openjpeg-2.4.0-r1
openssh-client-8.4_p1-r3
openssh-keygen-8.4_p1-r3
openssl-1.1.1k-r0
opus-1.3.1-r1
orc-0.4.32-r0
p11-kit-0.23.22-r0
pango-1.48.2-r0
pangomm-2.42.2-r0
pavucontrol-4.0-r0
pcre-8.44-r0
pcre2-10.36-r0
pixman-0.40.0-r2
pkgconf-1.7.3-r0
polkit-0.118-r0
poppler-20.12.1-r0
poppler-glib-20.12.1-r0
procps-3.3.16-r0
pulseaudio-14.1-r0
pulseaudio-alsa-14.1-r0
readline-8.1.0-r0
runc-1.0.0_rc93-r0
s6-ipcserver-2.10.0.0-r0
scanelf-1.2.8-r0
setxkbmap-1.3.2-r0
shadow-4.8.1-r0
shared-mime-info-2.0-r0
skalibs-2.10.0.0-r0
sound-theme-freedesktop-0.8-r0
soxr-0.1.3-r2
speexdsp-1.2.0-r0
sqlite-libs-3.34.1-r0
ssl_client-1.32.1-r6
startup-notification-0.12-r4
sudo-1.9.5p2-r0
tdb-libs-1.4.3-r0
thunar-4.16.2-r0
thunar-volman-4.16.0-r0
tiff-4.2.0-r0
tini-static-0.19.0-r0
ttf-dejavu-2.37-r1
tumbler-4.16.0-r0
tzdata-2021a-r0
upower-0.99.11-r0
util-macros-1.19.2-r1
utmps-0.1.0.0-r0
vte3-0.62.2-r0
wayland-libs-client-1.18.0-r5
wayland-libs-cursor-1.18.0-r5
wayland-libs-egl-1.18.0-r5
wayland-libs-server-1.18.0-r5
xauth-1.1-r0
xcb-util-0.4.0-r3
xfce4-4.16-r0
xfce4-appfinder-4.16.0-r0
xfce4-panel-4.16.0-r0
xfce4-power-manager-4.16.0-r0
xfce4-pulseaudio-plugin-0.4.3-r0
xfce4-session-4.16.0-r0
xfce4-settings-4.16.0-r0
xfce4-terminal-0.8.9.2-r0
xfconf-4.16.0-r0
xfdesktop-4.16.0-r0
xfwm4-4.16.1-r0
xinit-1.4.1-r0
xkbcomp-1.4.4-r0
xkeyboard-config-2.31-r0
xmodmap-1.0.10-r0
xorg-server-1.20.11-r0
xorg-server-common-1.20.11-r0
xorgxrdp-0.2.15-r0
xrdb-1.2.0-r1
xrdp-0.9.15-r0
xterm-367-r0
xz-5.2.5-r0
xz-libs-5.2.5-r0
zlib-1.2.11-r3

View File

@ -29,6 +29,7 @@ development_versions_items:
- { tag: "openbox-bionic", desc: "Openbox Bionic" }
- { tag: "icewm-focal", desc: "IceWM Focal" }
- { tag: "icewm-bionic", desc: "IceWM Bionic" }
- { tag: "alpine", desc: "XFCE Alpine" }
# container parameters
privileged: "optional"