Skip to content

Commit

Permalink
feat: add deepin-dde20 for webtop
Browse files Browse the repository at this point in the history
  • Loading branch information
chenchongbiao committed Sep 5, 2024
1 parent 4de7a7d commit 9646fdc
Show file tree
Hide file tree
Showing 4 changed files with 119 additions and 3 deletions.
12 changes: 9 additions & 3 deletions .github/workflows/build-webtop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,13 @@ jobs:

- name: Build images
run: |
cd webtop/debian/gxde
docker buildx build --load --platform linux/amd64 -t ${{ env.owner }}/webtop:debian-gxde .
# pushd webtop/debian/gxde
# docker buildx build --load --platform linux/amd64 -t ${{ env.owner }}/webtop:debian-gxde .
# popd
pushd webtop/deepin/dde20
docker buildx build --load --platform linux/amd64 -t ${{ env.owner }}/webtop:deepin-dde20 .
popd
- name: Login to Docker Hub
uses: docker/login-action@v3
Expand All @@ -38,4 +43,5 @@ jobs:

- name: Docker image push
run: |
docker push ${{ env.owner }}/webtop:debian-gxde
# docker push ${{ env.owner }}/webtop:debian-gxde
docker push ${{ env.owner }}/webtop:deepin-dde20
74 changes: 74 additions & 0 deletions webtop/deepin/dde20/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
FROM chenchongbiao/baseimage-kasmvnc:deepinapricot

# set version label
ARG BUILD_DATE
ARG VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="thelamer"

# title
ENV TITLE="Debian dde"

RUN \
echo "**** add icon ****" && \
curl -o \
/kclient/public/icon.png \
https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/webtop-logo.png && \
echo "**** install packages ****" && \
apt-get update && \
DEBIAN_FRONTEND=noninteractive \
apt-get install -y --no-install-recommends \
udisks2 || rm -v /var/lib/dpkg/info/udisks2.postinst && \
dpkg --configure udisks2 && \
DEBIAN_FRONTEND=noninteractive \
apt-get install -y --no-install-recommends \
chromium \
chromium-l10n \
libqt5core5a \
dde-control-center \
dde-clipboard \
dde-desktop \
dde-dock \
dde-file-manager \
dde-kwin \
dde-launcher \
dde-qt5integration \
deepin-artwork \
deepin-default-settings \
deepin-desktop-base \
deepin-wallpapers \
fonts-noto \
startdde \
dde-calendar \
deepin-album \
deepin-calculator \
deepin-draw \
deepin-editor \
deepin-image-viewer \
deepin-movie \
deepin-music \
deepin-system-monitor \
deepin-screen-recorder \
deepin-terminal \
deepin-voice-note && \
echo "**** application tweaks ****" && \
sed -i \
's#^Exec=.*#Exec=/usr/local/bin/wrapped-chromium#g' \
/usr/share/applications/chromium.desktop && \
sed -i -E 's/#[[:space:]]?(zh_CN.UTF-8[[:space:]]+UTF-8)/\1/g' /etc/locale.gen && \
locale-gen && \
DEBIAN_FRONTEND=noninteractive dpkg-reconfigure locales && \
echo "**** cleanup ****" && \
apt-get autoclean && \
rm -rf \
/config/.cache \
/var/lib/apt/lists/* \
/var/tmp/* \
/tmp/*

# add local files
COPY /root /

# ports and volumes
EXPOSE 3000
VOLUME /config
21 changes: 21 additions & 0 deletions webtop/deepin/dde20/root/defaults/startwm.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/bash

# 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

# Disable compositing and screen lock
# if [ ! -f $HOME/.config/kwinrc ]; then
# kwriteconfig5 --file $HOME/.config/kwinrc --group Compositing --key Enabled false
# fi
# if [ ! -f $HOME/.config/kscreenlockerrc ]; then
# kwriteconfig5 --file $HOME/.config/kscreenlockerrc --group Daemon --key Autolock false
# fi
setterm blank 0
setterm powerdown 0

# Launch DE
/usr/bin/startdde > /dev/null 2>&1
15 changes: 15 additions & 0 deletions webtop/deepin/dde20/root/usr/local/bin/wrapped-chromium
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#! /bin/bash

BIN=/usr/bin/chromium

# Cleanup
if ! pgrep chromium > /dev/null;then
rm -f $HOME/.config/chromium/Singleton*
fi

# Run normally on privved containers or modified un non priv
if grep -q 'Seccomp:.0' /proc/1/status; then
${BIN} --password-store=basic "$@"
else
${BIN} --password-store=basic --no-sandbox --test-type "$@"
fi

0 comments on commit 9646fdc

Please sign in to comment.