adding new build

This commit is contained in:
Michael Trip 2025-09-17 14:18:09 +02:00
parent 7f6d04cb3d
commit f9856c17fc
6 changed files with 108 additions and 90 deletions

View file

@ -11,7 +11,7 @@ on:
push: push:
branches: [ "main" ] branches: [ "main" ]
paths: paths:
- "ubuntu-mate/Dockerfile" - "debian-mate/Dockerfile"
- ".github/workflows/ubuntu-mate-build.yml" - ".github/workflows/ubuntu-mate-build.yml"
# Publish semver tags as releases. # Publish semver tags as releases.
tags: [ 'v*.*.*' ] tags: [ 'v*.*.*' ]
@ -22,7 +22,7 @@ env:
# Use docker.io for Docker Hub if empty # Use docker.io for Docker Hub if empty
REGISTRY: ghcr.io REGISTRY: ghcr.io
# github.repository as <account>/<repo> # github.repository as <account>/<repo>
IMAGE_NAME: ${{ github.repository }}/containerdesk-ubuntu-mate IMAGE_NAME: ${{ github.repository }}/containerdesk-debian-mate
jobs: jobs:
@ -69,8 +69,8 @@ jobs:
id: build-and-push id: build-and-push
uses: docker/build-push-action@ac9327eae2b366085ac7f6a2d02df8aa8ead720a uses: docker/build-push-action@ac9327eae2b366085ac7f6a2d02df8aa8ead720a
with: with:
context: ./ubuntu-mate context: ./debian-mate
file: ./ubuntu-mate/Dockerfile file: ./debian-mate/Dockerfile
platforms: linux/amd64 platforms: linux/amd64
push: ${{ github.event_name != 'pull_request' }} push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }} tags: ${{ steps.meta.outputs.tags }}
@ -78,11 +78,3 @@ jobs:
cache-from: type=gha cache-from: type=gha
cache-to: type=gha,mode=max cache-to: type=gha,mode=max
keepalive-job:
name: Keepalive Workflow
runs-on: ubuntu-latest
permissions:
actions: write
steps:
- uses: actions/checkout@v4
- uses: liskin/gh-workflow-keepalive@v1

View file

@ -77,12 +77,3 @@ jobs:
labels: ${{ steps.meta.outputs.labels }} labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha cache-from: type=gha
cache-to: type=gha,mode=max cache-to: type=gha,mode=max
keepalive-job:
name: Keepalive Workflow
runs-on: ubuntu-latest
permissions:
actions: write
steps:
- uses: actions/checkout@v4
- uses: gautamkrishnar/keepalive-workflow@v2

80
debian-mate/Dockerfile Normal file
View file

@ -0,0 +1,80 @@
FROM ghcr.io/linuxserver/baseimage-rdesktop:debianbookworm
# set version label
ARG BUILD_DATE
# ARG BUILDARCH
ARG TARGETARCH
ARG VERSION
ARG KUBECTL_VERSION=1.30.2
ARG HELM_VERSION=3.15.2
ARG SEABIRD_VERSION=0.6.0
ARG K9S_VERSION=0.50.9
ARG FREELENS_VERSION=1.5.3
LABEL build_version="based on Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="Michael Trip"
WORKDIR /tmp
# Download all packages and install everything in one layer
RUN \
echo "**** Update package lists and install base tools ****" && \
DEBIAN_FRONTEND=noninteractive apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y curl wget gnupg2 ca-certificates apt-transport-https && \
echo "**** Download external packages ****" && \
case ${TARGETARCH} in \
"amd64") DOWNLOAD_ARCH=linux-amd64 ;; \
"arm64") DOWNLOAD_ARCH=linux-arm64 ;; \
esac && \
curl -L https://github.com/freelensapp/freelens/releases/download/v${FREELENS_VERSION}/Freelens-${FREELENS_VERSION}-${DOWNLOAD_ARCH}.deb -o /tmp/freelens.deb && \
curl -L https://github.com/derailed/k9s/releases/download/v${K9S_VERSION}/k9s_Linux_${TARGETARCH}.tar.gz -o /tmp/k9s.tar.gz && \
curl -L https://storage.googleapis.com/kubernetes-release/release/v${KUBECTL_VERSION}/bin/linux/${TARGETARCH}/kubectl -o /usr/local/bin/kubectl && \
chmod +x /usr/local/bin/kubectl && \
curl -L https://get.helm.sh/helm-v${HELM_VERSION}-linux-${TARGETARCH}.tar.gz -o /tmp/helm.tar.gz && \
curl -L https://github.com/getseabird/seabird/releases/download/v${SEABIRD_VERSION}/seabird_linux_${TARGETARCH}.tar.gz -o /tmp/seabird.tar.gz && \
echo "**** Setup VS Code repository ****" && \
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg && \
cp packages.microsoft.gpg /etc/apt/keyrings && \
echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list && \
apt-get update && \
echo "**** Install all packages ****" && \
mkdir -p /usr/share/man/man1 && \
DEBIAN_FRONTEND=noninteractive apt-get install -y \
vim \
neofetch \
firefox-esr \
pluma \
tilix \
xdg-utils \
mate-desktop-environment \
man-db \
default-jre-headless \
openjdk-17-jre-headless \
libreoffice-writer \
libreoffice-calc \
libreoffice-impress \
libreoffice-draw \
thunderbird \
code && \
echo "**** Install downloaded packages and extract tools ****" && \
apt-get install -y /tmp/freelens.deb && \
tar -zxvf /tmp/k9s.tar.gz && \
tar -zxvf /tmp/seabird.tar.gz && \
tar -zxvf /tmp/helm.tar.gz && \
mv linux-${TARGETARCH}/helm /usr/local/bin/helm && \
mv /tmp/k9s /usr/local/bin && \
mv /tmp/seabird /usr/local/bin && \
echo "**** MATE desktop tweaks ****" && \
rm -f \
/etc/xdg/autostart/mate-power-manager.desktop \
/etc/xdg/autostart/mate-screensaver.desktop && \
echo "**** Cleanup ****" && \
apt-get autoclean && \
rm -rf \
/var/lib/apt/lists/* \
/var/tmp/* \
/tmp/*
COPY /root /
# ports and volumes
EXPOSE 3389
VOLUME /home
VOLUME /config

View file

@ -0,0 +1,24 @@
#!/bin/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
# Start Pulseaudio
/startpulse.sh &
# Disable compositing
setterm blank 0
setterm powerdown 0
gsettings set org.mate.Marco.general compositing-manager false
# Launch DE
/usr/bin/dbus-launch /usr/bin/mate-session > /dev/null 2>&1

View file

@ -1,69 +0,0 @@
FROM ghcr.io/linuxserver/rdesktop:ubuntu-mate
# set version label
ARG BUILD_DATE
# ARG BUILDARCH
ARG TARGETARCH
ARG VERSION
ARG KUBECTL_VERSION=1.30.2
ARG HELM_VERSION=3.15.2
ARG SEABIRD_VERSION=0.6.0
ARG K9S_VERSION=0.50.9
ARG FREELENS_VERSION=1.5.3
LABEL build_version="based on Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="Michael Trip"
WORKDIR /tmp
RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y curl wget
RUN \
case ${TARGETARCH} in \
"amd64") DOWNLOAD_ARCH=linux-amd64 ;; \
"arm64") DOWNLOAD_ARCH=linux-arm64 ;; \
esac \
&& curl -L https://github.com/freelensapp/freelens/releases/download/v${FREELENS_VERSION}/Freelens-${FREELENS_VERSION}-${DOWNLOAD_ARCH}.deb --output /tmp/freelens.deb
RUN curl -L https://github.com/derailed/k9s/releases/download/v${K9S_VERSION}/k9s_Linux_${TARGETARCH}.tar.gz --output /tmp/k9s.tar.gz
RUN curl -L https://storage.googleapis.com/kubernetes-release/release/v${KUBECTL_VERSION}/bin/linux/${TARGETARCH}/kubectl --output /usr/local/bin/kubectl && chmod +x /usr/local/bin/kubectl
RUN curl -L https://get.helm.sh/helm-v${HELM_VERSION}-linux-${TARGETARCH}.tar.gz --output /tmp/helm.tar.gz
RUN curl -L https://github.com/getseabird/seabird/releases/download/v${SEABIRD_VERSION}/seabird_linux_${TARGETARCH}.tar.gz --output /tmp/seabird.tar.gz
RUN \
echo "**** install packages ****" && \
apt update && \
DEBIAN_FRONTEND=noninteractive apt-get install wget -y && \
echo "**** Installing vscode stuff ***" && \
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg && \
cp packages.microsoft.gpg /etc/apt/keyrings && \
echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list && \
DEBIAN_FRONTEND=noninteractive apt-get install apt-transport-https -y &&\
apt-get update && \
DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends -y \
vim \
neofetch \
libreoffice \
thunderbird \
pluma \
tilix \
terminator \
code \
mate-themes \
xdg-utils && \
apt-get install -y /tmp/freelens.deb && \
tar -zxvf /tmp/k9s.tar.gz && \
tar -zxvf /tmp/seabird.tar.gz && \
tar -zxvf /tmp/helm.tar.gz && \
mv linux-${TARGETARCH}/helm /usr/local/bin/helm && \
mv /tmp/k9s /usr/local/bin && \
mv /tmp/seabird /usr/local/bin && \
echo "**** cleanup ****" && \
apt-get autoclean && \
rm -rf \
/var/lib/apt/lists/* \
/var/tmp/* \
/tmp/*
COPY /root /
# ports and volumes
EXPOSE 3389
VOLUME /home
VOLUME /config