mirror of
https://github.com/kasmtech/KasmVNC.git
synced 2026-07-17 16:36:49 +00:00
VNC-382 CI: build Ubuntu 26 Resolute Raccoon
This commit is contained in:
parent
10530d6e81
commit
cfddb502d3
8 changed files with 196 additions and 15 deletions
|
|
@ -64,45 +64,48 @@ stages:
|
||||||
- DISTRO: 'ubuntu noble'
|
- DISTRO: 'ubuntu noble'
|
||||||
DISTRO_SLUG: 'ubuntu_noble'
|
DISTRO_SLUG: 'ubuntu_noble'
|
||||||
GROUP: 2
|
GROUP: 2
|
||||||
|
- DISTRO: 'ubuntu resolute'
|
||||||
|
DISTRO_SLUG: 'ubuntu_resolute'
|
||||||
|
GROUP: 3
|
||||||
- DISTRO: 'debian bullseye'
|
- DISTRO: 'debian bullseye'
|
||||||
DISTRO_SLUG: 'debian_bullseye'
|
DISTRO_SLUG: 'debian_bullseye'
|
||||||
GROUP: 3
|
GROUP: 4
|
||||||
- DISTRO: 'debian bookworm'
|
- DISTRO: 'debian bookworm'
|
||||||
DISTRO_SLUG: 'debian_bookworm'
|
DISTRO_SLUG: 'debian_bookworm'
|
||||||
GROUP: 4
|
GROUP: 5
|
||||||
- DISTRO: 'debian trixie'
|
- DISTRO: 'debian trixie'
|
||||||
DISTRO_SLUG: 'debian_trixie'
|
DISTRO_SLUG: 'debian_trixie'
|
||||||
GROUP: 5
|
GROUP: 6
|
||||||
- DISTRO: 'kali kali-rolling'
|
- DISTRO: 'kali kali-rolling'
|
||||||
DISTRO_SLUG: 'kali_kali-rolling'
|
DISTRO_SLUG: 'kali_kali-rolling'
|
||||||
GROUP: 6
|
GROUP: 7
|
||||||
- DISTRO: 'oracle 8'
|
- DISTRO: 'oracle 8'
|
||||||
DISTRO_SLUG: 'oracle_8'
|
DISTRO_SLUG: 'oracle_8'
|
||||||
GROUP: 7
|
GROUP: 8
|
||||||
- DISTRO: 'oracle 9'
|
- DISTRO: 'oracle 9'
|
||||||
DISTRO_SLUG: 'oracle_9'
|
DISTRO_SLUG: 'oracle_9'
|
||||||
GROUP: 8
|
GROUP: 9
|
||||||
- DISTRO: 'opensuse 15'
|
- DISTRO: 'opensuse 15'
|
||||||
DISTRO_SLUG: 'opensuse_15'
|
DISTRO_SLUG: 'opensuse_15'
|
||||||
GROUP: 9
|
GROUP: 10
|
||||||
- DISTRO: 'opensuse 16'
|
- DISTRO: 'opensuse 16'
|
||||||
DISTRO_SLUG: 'opensuse_16'
|
DISTRO_SLUG: 'opensuse_16'
|
||||||
GROUP: 10
|
GROUP: 11
|
||||||
- DISTRO: 'fedora 42'
|
- DISTRO: 'fedora 42'
|
||||||
DISTRO_SLUG: 'fedora_42'
|
DISTRO_SLUG: 'fedora_42'
|
||||||
GROUP: 11
|
GROUP: 12
|
||||||
- DISTRO: 'fedora 43'
|
- DISTRO: 'fedora 43'
|
||||||
DISTRO_SLUG: 'fedora_43'
|
DISTRO_SLUG: 'fedora_43'
|
||||||
GROUP: 12
|
GROUP: 13
|
||||||
- DISTRO: 'alpine 321'
|
- DISTRO: 'alpine 321'
|
||||||
DISTRO_SLUG: 'alpine_321'
|
DISTRO_SLUG: 'alpine_321'
|
||||||
GROUP: 13
|
GROUP: 14
|
||||||
- DISTRO: 'alpine 322'
|
- DISTRO: 'alpine 322'
|
||||||
DISTRO_SLUG: 'alpine_322'
|
DISTRO_SLUG: 'alpine_322'
|
||||||
GROUP: 14
|
GROUP: 15
|
||||||
- DISTRO: 'alpine 323'
|
- DISTRO: 'alpine 323'
|
||||||
DISTRO_SLUG: 'alpine_323'
|
DISTRO_SLUG: 'alpine_323'
|
||||||
GROUP: 15
|
GROUP: 16
|
||||||
|
|
||||||
default:
|
default:
|
||||||
retry: 2
|
retry: 2
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,11 @@ ENV KASMVNC_BUILD_OS_CODENAME 16
|
||||||
ENV XORG_VER 21.1.15
|
ENV XORG_VER 21.1.15
|
||||||
|
|
||||||
# Install depends
|
# Install depends
|
||||||
RUN zypper install -ny \
|
RUN sed -i 's|cdn.opensuse.org|downloadcontent.opensuse.org|g' \
|
||||||
|
/etc/zypp/repos.d/*.repo \
|
||||||
|
/usr/share/zypp/local/service/openSUSE/repo/*.xml && \
|
||||||
|
zypper refresh && \
|
||||||
|
zypper install -ny \
|
||||||
bdftopcf \
|
bdftopcf \
|
||||||
ninja \
|
ninja \
|
||||||
nasm \
|
nasm \
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,11 @@ FROM opensuse/leap:16.0
|
||||||
ENV KASMVNC_BUILD_OS opensuse
|
ENV KASMVNC_BUILD_OS opensuse
|
||||||
ENV KASMVNC_BUILD_OS_CODENAME 16
|
ENV KASMVNC_BUILD_OS_CODENAME 16
|
||||||
|
|
||||||
RUN zypper -n install -y \
|
RUN sed -i 's|cdn.opensuse.org|downloadcontent.opensuse.org|g' \
|
||||||
|
/etc/zypp/repos.d/*.repo \
|
||||||
|
/usr/share/zypp/local/service/openSUSE/repo/*.xml && \
|
||||||
|
zypper refresh && \
|
||||||
|
zypper -n install -y \
|
||||||
gpg* \
|
gpg* \
|
||||||
less \
|
less \
|
||||||
lsb-release \
|
lsb-release \
|
||||||
|
|
|
||||||
1
builder/dockerfile.ubuntu_resolute.barebones.deb.test
Symbolic link
1
builder/dockerfile.ubuntu_resolute.barebones.deb.test
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
dockerfile.debian.barebones.deb.test
|
||||||
45
builder/dockerfile.ubuntu_resolute.build
Normal file
45
builder/dockerfile.ubuntu_resolute.build
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
FROM ubuntu:resolute
|
||||||
|
|
||||||
|
ENV KASMVNC_BUILD_OS ubuntu
|
||||||
|
ENV KASMVNC_BUILD_OS_CODENAME resolute
|
||||||
|
ENV XORG_VER 21.1.22
|
||||||
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
|
RUN sed -i 's$Types: deb$Types: deb deb-src$' /etc/apt/sources.list.d/ubuntu.sources
|
||||||
|
|
||||||
|
RUN apt-get update && \
|
||||||
|
apt-get -y install sudo
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends tzdata
|
||||||
|
RUN apt-get update && apt-get -y build-dep xorg-server libxfont-dev
|
||||||
|
RUN apt-get update && apt-get -y install ninja-build cmake nasm sccache git libgnutls28-dev vim wget curl
|
||||||
|
RUN apt-get update && apt-get -y install libpng-dev libtiff-dev libgif-dev libavcodec-dev libssl-dev libxrandr-dev \
|
||||||
|
libxcursor-dev libavformat-dev libswscale-dev libva-dev libcrypt-dev
|
||||||
|
|
||||||
|
# x86_64 specific operations
|
||||||
|
RUN if [ "$(arch)" = "x86_64" ]; then \
|
||||||
|
apt-get update && apt-get install -y intel-media-va-driver-non-free; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
RUN ARCH=$(arch) && \
|
||||||
|
CMAKE_URL="https://cmake.org/files/v3.22/cmake-3.22.0" && \
|
||||||
|
if [ "$ARCH" = "x86_64" ]; then \
|
||||||
|
CMAKE_URL="${CMAKE_URL}-linux-x86_64.sh"; \
|
||||||
|
elif [ "$ARCH" = "aarch64" ]; then \
|
||||||
|
CMAKE_URL="${CMAKE_URL}-linux-aarch64.sh"; \
|
||||||
|
else \
|
||||||
|
echo "Unsupported architecture: $ARCH" && exit 1; \
|
||||||
|
fi && \
|
||||||
|
curl -fsSL $CMAKE_URL -o cmake.sh && \
|
||||||
|
(echo y; echo n) | bash cmake.sh --prefix=/usr/local --skip-license && \
|
||||||
|
rm cmake.sh
|
||||||
|
|
||||||
|
ENV SCRIPTS_DIR=/tmp/scripts
|
||||||
|
COPY builder/scripts $SCRIPTS_DIR
|
||||||
|
|
||||||
|
ARG OUTPUT_OWNER_UID
|
||||||
|
RUN $SCRIPTS_DIR/add-docker-user "$OUTPUT_OWNER_UID"
|
||||||
|
|
||||||
|
COPY --chown=$OUTPUT_OWNER_UID . /src/
|
||||||
|
|
||||||
|
ENTRYPOINT ["/src/builder/build.sh"]
|
||||||
16
builder/dockerfile.ubuntu_resolute.deb.build
Normal file
16
builder/dockerfile.ubuntu_resolute.deb.build
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
FROM ubuntu:resolute
|
||||||
|
|
||||||
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
|
RUN apt-get update && \
|
||||||
|
apt-get -y install vim build-essential devscripts equivs
|
||||||
|
|
||||||
|
# Install build-deps for the package.
|
||||||
|
COPY ./debian/control /tmp
|
||||||
|
RUN apt-get update && echo YYY | mk-build-deps --install --remove /tmp/control
|
||||||
|
|
||||||
|
ENV SCRIPTS_DIR=/tmp/scripts
|
||||||
|
COPY builder/scripts $SCRIPTS_DIR
|
||||||
|
|
||||||
|
ARG OUTPUT_OWNER_UID
|
||||||
|
RUN $SCRIPTS_DIR/add-docker-user "$OUTPUT_OWNER_UID"
|
||||||
57
builder/dockerfile.ubuntu_resolute.deb.test
Normal file
57
builder/dockerfile.ubuntu_resolute.deb.test
Normal file
|
|
@ -0,0 +1,57 @@
|
||||||
|
FROM ubuntu:resolute
|
||||||
|
|
||||||
|
ENV DISPLAY=:1 \
|
||||||
|
VNC_PORT=8443 \
|
||||||
|
VNC_RESOLUTION=1280x720 \
|
||||||
|
MAX_FRAME_RATE=24 \
|
||||||
|
VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7" \
|
||||||
|
HOME=/home/user \
|
||||||
|
TERM=xterm \
|
||||||
|
STARTUPDIR=/dockerstartup \
|
||||||
|
INST_SCRIPTS=/dockerstartup/install \
|
||||||
|
KASM_RX_HOME=/dockerstartup/kasmrx \
|
||||||
|
DEBIAN_FRONTEND=noninteractive \
|
||||||
|
VNC_COL_DEPTH=24 \
|
||||||
|
VNC_RESOLUTION=1280x1024 \
|
||||||
|
VNC_PW=vncpassword \
|
||||||
|
VNC_USER=user \
|
||||||
|
VNC_VIEW_ONLY_PW=vncviewonlypassword \
|
||||||
|
LD_LIBRARY_PATH=/usr/local/lib/ \
|
||||||
|
OMP_WAIT_POLICY=PASSIVE \
|
||||||
|
SHELL=/bin/bash \
|
||||||
|
SINGLE_APPLICATION=0 \
|
||||||
|
KASMVNC_BUILD_OS=ubuntu \
|
||||||
|
KASMVNC_BUILD_OS_CODENAME=resolute
|
||||||
|
|
||||||
|
EXPOSE $VNC_PORT
|
||||||
|
|
||||||
|
WORKDIR $HOME
|
||||||
|
|
||||||
|
### REQUIRED STUFF ###
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y supervisor xfce4 xfce4-terminal xterm libnss-wrapper gettext wget dbus-x11
|
||||||
|
RUN apt-get purge -y pm-utils xscreensaver*
|
||||||
|
RUN apt-get update && apt-get install -y vim less
|
||||||
|
RUN apt-get update && apt-get -y install lsb-release
|
||||||
|
|
||||||
|
RUN echo 'source $STARTUPDIR/generate_container_user' >> $HOME/.bashrc
|
||||||
|
|
||||||
|
RUN mkdir -p $STARTUPDIR
|
||||||
|
COPY builder/startup/ $STARTUPDIR
|
||||||
|
|
||||||
|
### START CUSTOM STUFF ####
|
||||||
|
|
||||||
|
ARG KASMVNC_PACKAGE_DIR
|
||||||
|
COPY $KASMVNC_PACKAGE_DIR/kasmvncserver_*.deb /tmp/
|
||||||
|
RUN rm -f /tmp/kasmvncserver_*+*.deb; dpkg -i /tmp/*.deb; apt-get -yf install
|
||||||
|
|
||||||
|
RUN mkdir ~/.vnc && echo '/usr/bin/xfce4-session &' >> ~/.vnc/xstartup && \
|
||||||
|
chmod +x ~/.vnc/xstartup
|
||||||
|
|
||||||
|
### END CUSTOM STUFF ###
|
||||||
|
|
||||||
|
RUN chown -R 1000:0 $HOME
|
||||||
|
USER 1000:ssl-cert
|
||||||
|
WORKDIR $HOME
|
||||||
|
|
||||||
|
ENTRYPOINT [ "/dockerstartup/vnc_startup.sh" ]
|
||||||
51
builder/dockerfile.ubuntu_resolute.test
Normal file
51
builder/dockerfile.ubuntu_resolute.test
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
FROM ubuntu:resolute
|
||||||
|
|
||||||
|
ENV DISPLAY=:1 \
|
||||||
|
VNC_PORT=8443 \
|
||||||
|
VNC_RESOLUTION=1280x720 \
|
||||||
|
MAX_FRAME_RATE=24 \
|
||||||
|
VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7" \
|
||||||
|
HOME=/home/user \
|
||||||
|
TERM=xterm \
|
||||||
|
STARTUPDIR=/dockerstartup \
|
||||||
|
INST_SCRIPTS=/dockerstartup/install \
|
||||||
|
KASM_RX_HOME=/dockerstartup/kasmrx \
|
||||||
|
DEBIAN_FRONTEND=noninteractive \
|
||||||
|
VNC_COL_DEPTH=24 \
|
||||||
|
VNC_RESOLUTION=1280x1024 \
|
||||||
|
VNC_PW=vncpassword \
|
||||||
|
VNC_USER=user \
|
||||||
|
VNC_VIEW_ONLY_PW=vncviewonlypassword \
|
||||||
|
LD_LIBRARY_PATH=/usr/local/lib/ \
|
||||||
|
OMP_WAIT_POLICY=PASSIVE \
|
||||||
|
SHELL=/bin/bash \
|
||||||
|
SINGLE_APPLICATION=0 \
|
||||||
|
KASMVNC_BUILD_OS=ubuntu \
|
||||||
|
KASMVNC_BUILD_OS_CODENAME=resolute
|
||||||
|
|
||||||
|
EXPOSE $VNC_PORT
|
||||||
|
|
||||||
|
WORKDIR $HOME
|
||||||
|
|
||||||
|
### REQUIRED STUFF ###
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y supervisor xfce4 xfce4-terminal xterm libnss-wrapper gettext wget
|
||||||
|
RUN apt-get purge -y pm-utils xscreensaver*
|
||||||
|
|
||||||
|
RUN echo 'source $STARTUPDIR/generate_container_user' >> $HOME/.bashrc
|
||||||
|
|
||||||
|
RUN mkdir -p $STARTUPDIR
|
||||||
|
COPY startup/ $STARTUPDIR
|
||||||
|
|
||||||
|
### START CUSTOM STUFF ####
|
||||||
|
|
||||||
|
COPY build/kasmvnc.${KASMVNC_BUILD_OS}_${KASMVNC_BUILD_OS_CODENAME}.tar.gz /tmp/
|
||||||
|
RUN tar -xzvf /tmp/kasmvnc.${KASMVNC_BUILD_OS}_${KASMVNC_BUILD_OS_CODENAME}.tar.gz --strip 1 -C /
|
||||||
|
|
||||||
|
### END CUSTOM STUFF ###
|
||||||
|
|
||||||
|
RUN chown -R 1000:0 $HOME
|
||||||
|
USER 1000
|
||||||
|
WORKDIR $HOME
|
||||||
|
|
||||||
|
ENTRYPOINT [ "/dockerstartup/vnc_startup.sh" ]
|
||||||
Loading…
Add table
Add a link
Reference in a new issue