mirror of
https://github.com/kasmtech/workspaces-core-images.git
synced 2024-11-21 23:13:08 +01:00
Resolve KASM-4323 "Feature/ layering locales"
This commit is contained in:
parent
0a5fda0a8a
commit
243245c2f9
@ -90,7 +90,7 @@ build_debian_bullseye:
|
|||||||
# prep the buildx env
|
# prep the buildx env
|
||||||
- docker buildx create --use
|
- docker buildx create --use
|
||||||
# build for multiple architectures
|
# build for multiple architectures
|
||||||
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-debian-bullseye-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-debian-bullseye-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-debian-bullseye:$SANITIZED_BRANCH -t ${ORG_NAME}/core-debian-bullseye:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg BASE_IMAGE="debian:bullseye" --build-arg DISTRO="debian" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_debian.svg -f dockerfile-kasm-core .
|
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-debian-bullseye-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-debian-bullseye-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-debian-bullseye:$SANITIZED_BRANCH -t ${ORG_NAME}/core-debian-bullseye:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg BASE_IMAGE="debian:bullseye-slim" --build-arg DISTRO="debian" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_debian.svg -f dockerfile-kasm-core .
|
||||||
only:
|
only:
|
||||||
- develop
|
- develop
|
||||||
- /^release\/.*$/
|
- /^release\/.*$/
|
||||||
@ -473,7 +473,7 @@ build_debian_bullseye_dev:
|
|||||||
docker build
|
docker build
|
||||||
-t ${ORG_NAME}/core-debian-bullseye-private:$(arch)-$SANITIZED_BRANCH
|
-t ${ORG_NAME}/core-debian-bullseye-private:$(arch)-$SANITIZED_BRANCH
|
||||||
--build-arg START_PULSEAUDIO=1
|
--build-arg START_PULSEAUDIO=1
|
||||||
--build-arg BASE_IMAGE="debian:bullseye"
|
--build-arg BASE_IMAGE="debian:bullseye-slim"
|
||||||
--build-arg DISTRO="debian"
|
--build-arg DISTRO="debian"
|
||||||
--build-arg START_XFCE4=1
|
--build-arg START_XFCE4=1
|
||||||
--build-arg BG_IMG=bg_debian.svg
|
--build-arg BG_IMG=bg_debian.svg
|
||||||
@ -1054,7 +1054,7 @@ build_debian_bullseye_scheduled:
|
|||||||
# prep the buildx env
|
# prep the buildx env
|
||||||
- docker buildx create --use
|
- docker buildx create --use
|
||||||
# build for multiple architectures
|
# build for multiple architectures
|
||||||
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-debian-bullseye-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-debian-bullseye:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg BASE_IMAGE="debian:bullseye" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_debian.svg --build-arg DISTRO="debian" -f dockerfile-kasm-core .
|
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-debian-bullseye-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-debian-bullseye:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg BASE_IMAGE="debian:bullseye-slim" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_debian.svg --build-arg DISTRO="debian" -f dockerfile-kasm-core .
|
||||||
only:
|
only:
|
||||||
- schedules
|
- schedules
|
||||||
tags:
|
tags:
|
||||||
|
@ -1,67 +1,37 @@
|
|||||||
|
#### Build Stage ####
|
||||||
ARG BASE_IMAGE="ubuntu:20.04"
|
ARG BASE_IMAGE="ubuntu:20.04"
|
||||||
FROM $BASE_IMAGE AS install_tools
|
FROM $BASE_IMAGE AS base_layer
|
||||||
ARG DISTRO=ubuntu
|
|
||||||
|
|
||||||
LABEL "org.opencontainers.image.authors"='Kasm Tech "info@kasmweb.com"'
|
|
||||||
LABEL "com.kasmweb.image"="true"
|
|
||||||
LABEL "com.kasmweb.gpu_acceleration_egl"="nvidia"
|
|
||||||
|
|
||||||
### Environment config
|
### Environment config
|
||||||
ARG START_XFCE4=0
|
|
||||||
ARG START_PULSEAUDIO=0
|
|
||||||
ARG BG_IMG=bg_kasm.png
|
ARG BG_IMG=bg_kasm.png
|
||||||
ARG EXTRA_SH=noop.sh
|
ARG EXTRA_SH=noop.sh
|
||||||
ARG DISTRO=ubuntu
|
ARG DISTRO=ubuntu
|
||||||
ARG LANG='en_US.UTF-8'
|
ARG LANG='en_US.UTF-8'
|
||||||
ARG LANGUAGE='en_US:en'
|
ARG LANGUAGE='en_US:en'
|
||||||
ARG LC_ALL='en_US.UTF-8'
|
ARG LC_ALL='en_US.UTF-8'
|
||||||
ENV DISPLAY=:1 \
|
ENV DEBIAN_FRONTEND=noninteractive \
|
||||||
VNC_PORT=5901 \
|
DISTRO=$DISTRO \
|
||||||
NO_VNC_PORT=6901 \
|
|
||||||
VNC_PORT=5901 \
|
|
||||||
AUDIO_PORT=4901 \
|
|
||||||
VNC_RESOLUTION=1280x720 \
|
|
||||||
MAX_FRAME_RATE=24 \
|
|
||||||
VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7 -DLP_ClipDelay=0" \
|
|
||||||
HOME=/home/kasm-default-profile \
|
HOME=/home/kasm-default-profile \
|
||||||
TERM=xterm \
|
|
||||||
STARTUPDIR=/dockerstartup \
|
|
||||||
INST_SCRIPTS=/dockerstartup/install \
|
INST_SCRIPTS=/dockerstartup/install \
|
||||||
KASM_VNC_PATH=/usr/share/kasmvnc \
|
KASM_VNC_PATH=/usr/share/kasmvnc \
|
||||||
DEBIAN_FRONTEND=noninteractive \
|
|
||||||
VNC_COL_DEPTH=24 \
|
|
||||||
VNC_RESOLUTION=1280x1024 \
|
|
||||||
VNC_PW=vncpassword \
|
|
||||||
VNC_VIEW_ONLY_PW=vncviewonlypassword \
|
|
||||||
LD_LIBRARY_PATH=/opt/libjpeg-turbo/lib64/:/usr/local/lib/ \
|
|
||||||
OMP_WAIT_POLICY=PASSIVE \
|
|
||||||
GOMP_SPINCOUNT=0 \
|
|
||||||
SHELL=/bin/bash \
|
|
||||||
START_XFCE4=$START_XFCE4 \
|
|
||||||
START_PULSEAUDIO=$START_PULSEAUDIO \
|
|
||||||
LANG=$LANG \
|
LANG=$LANG \
|
||||||
LANGUAGE=$LANGUAGE \
|
LANGUAGE=$LANGUAGE \
|
||||||
LC_ALL=$LC_ALL \
|
LC_ALL=$LC_ALL \
|
||||||
KASMVNC_AUTO_RECOVER=true \
|
STARTUPDIR=/dockerstartup
|
||||||
PULSE_RUNTIME_PATH=/var/run/pulse \
|
|
||||||
DISTRO=$DISTRO \
|
|
||||||
SDL_GAMECONTROLLERCONFIG="030000005e040000be02000014010000,XInput Controller,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b8,guide:b16,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:b12,dpdown:b13,dpleft:b14,dpright:b15,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7"
|
|
||||||
|
|
||||||
EXPOSE $VNC_PORT \
|
|
||||||
$NO_VNC_PORT \
|
|
||||||
$UPLOAD_PORT \
|
|
||||||
$AUDIO_PORT
|
|
||||||
|
|
||||||
|
### Home setup
|
||||||
WORKDIR $HOME
|
WORKDIR $HOME
|
||||||
RUN mkdir -p $HOME/Desktop
|
RUN mkdir -p $HOME/Desktop
|
||||||
|
|
||||||
# Support NVIDIA gpus for graphics acceleration
|
### Support NVIDIA gpus for graphics acceleration
|
||||||
RUN echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf && \
|
RUN echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf && \
|
||||||
echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.conf
|
echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.conf
|
||||||
ENV LD_LIBRARY_PATH /usr/lib/x86_64-linux-gnu:/usr/lib/i386-linux-gnu${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}:/usr/local/nvidia/lib:/usr/local/nvidia/lib64
|
|
||||||
ENV NVIDIA_DRIVER_CAPABILITIES=${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics,compat32,utility
|
|
||||||
COPY src/ubuntu/install/nvidia/10_nvidia.json /usr/share/glvnd/egl_vendor.d/10_nvidia.json
|
COPY src/ubuntu/install/nvidia/10_nvidia.json /usr/share/glvnd/egl_vendor.d/10_nvidia.json
|
||||||
|
|
||||||
|
### Setup package rules
|
||||||
|
COPY ./src/ubuntu/install/package_rules $INST_SCRIPTS/package_rules/
|
||||||
|
RUN bash $INST_SCRIPTS/package_rules/package_rules.sh && rm -rf $INST_SCRIPTS/package_rules/
|
||||||
|
|
||||||
### Install common tools
|
### Install common tools
|
||||||
COPY ./src/ubuntu/install/tools $INST_SCRIPTS/tools/
|
COPY ./src/ubuntu/install/tools $INST_SCRIPTS/tools/
|
||||||
RUN bash $INST_SCRIPTS/tools/install_tools.sh && rm -rf $INST_SCRIPTS/tools/
|
RUN bash $INST_SCRIPTS/tools/install_tools.sh && rm -rf $INST_SCRIPTS/tools/
|
||||||
@ -94,7 +64,6 @@ COPY ./src/common/install/kasm_vnc/kasmvnc.yaml /etc/kasmvnc/
|
|||||||
COPY ./src/ubuntu/install/kasm_upload_server $INST_SCRIPTS/kasm_upload_server/
|
COPY ./src/ubuntu/install/kasm_upload_server $INST_SCRIPTS/kasm_upload_server/
|
||||||
RUN bash $INST_SCRIPTS/kasm_upload_server/install_kasm_upload_server.sh && rm -rf $INST_SCRIPTS/kasm_upload_server/
|
RUN bash $INST_SCRIPTS/kasm_upload_server/install_kasm_upload_server.sh && rm -rf $INST_SCRIPTS/kasm_upload_server/
|
||||||
|
|
||||||
|
|
||||||
### Install Audio
|
### Install Audio
|
||||||
COPY ./src/ubuntu/install/audio $INST_SCRIPTS/audio/
|
COPY ./src/ubuntu/install/audio $INST_SCRIPTS/audio/
|
||||||
RUN bash $INST_SCRIPTS/audio/install_audio.sh && rm -rf $INST_SCRIPTS/audio/
|
RUN bash $INST_SCRIPTS/audio/install_audio.sh && rm -rf $INST_SCRIPTS/audio/
|
||||||
@ -121,7 +90,6 @@ RUN chown proxy:proxy /usr/local/squid/share/icons/SN.png
|
|||||||
COPY ./src/ubuntu/install/squid/resources/error_message/access_denied.html /usr/local/squid/share/errors/en/ERR_ACCESS_DENIED
|
COPY ./src/ubuntu/install/squid/resources/error_message/access_denied.html /usr/local/squid/share/errors/en/ERR_ACCESS_DENIED
|
||||||
RUN chown proxy:proxy /usr/local/squid/share/errors/en/ERR_ACCESS_DENIED
|
RUN chown proxy:proxy /usr/local/squid/share/errors/en/ERR_ACCESS_DENIED
|
||||||
RUN rm -rf $INST_SCRIPTS/resources/
|
RUN rm -rf $INST_SCRIPTS/resources/
|
||||||
|
|
||||||
RUN chmod +x /etc/squid/kasm_squid_adapter
|
RUN chmod +x /etc/squid/kasm_squid_adapter
|
||||||
RUN chmod +x /etc/squid/start_squid.sh && chmod 4755 /etc/squid/start_squid.sh
|
RUN chmod +x /etc/squid/start_squid.sh && chmod 4755 /etc/squid/start_squid.sh
|
||||||
|
|
||||||
@ -143,7 +111,7 @@ RUN bash $INST_SCRIPTS/virtualgl/install_virtualgl.sh && rm -rf $INST_SCRIPTS/vi
|
|||||||
RUN (groupadd -g 1000 kasm-user \
|
RUN (groupadd -g 1000 kasm-user \
|
||||||
&& useradd -M -u 1000 -g 1000 kasm-user \
|
&& useradd -M -u 1000 -g 1000 kasm-user \
|
||||||
&& usermod -a -G kasm-user kasm-user) ; exit 0
|
&& usermod -a -G kasm-user kasm-user) ; exit 0
|
||||||
ENV HOME /home/kasm-user
|
ENV HOME=/home/kasm-user
|
||||||
WORKDIR $HOME
|
WORKDIR $HOME
|
||||||
RUN mkdir -p $HOME && chown -R 1000:0 $HOME
|
RUN mkdir -p $HOME && chown -R 1000:0 $HOME
|
||||||
|
|
||||||
@ -173,6 +141,67 @@ RUN touch $STARTUPDIR/wm.log \
|
|||||||
&& chown 1000:root /var/run/pulse \
|
&& chown 1000:root /var/run/pulse \
|
||||||
&& rm -Rf /home/kasm-default-profile/.launchpadlib
|
&& rm -Rf /home/kasm-default-profile/.launchpadlib
|
||||||
|
|
||||||
|
### Cleanup job
|
||||||
|
COPY ./src/ubuntu/install/cleanup $INST_SCRIPTS/cleanup/
|
||||||
|
RUN bash $INST_SCRIPTS/cleanup/cleanup.sh && rm -rf $INST_SCRIPTS/cleanup/
|
||||||
|
|
||||||
|
#### Runtime Stage ####
|
||||||
|
FROM scratch
|
||||||
|
COPY --from=base_layer / /
|
||||||
|
|
||||||
|
### Labels
|
||||||
|
LABEL "org.opencontainers.image.authors"='Kasm Tech "info@kasmweb.com"'
|
||||||
|
LABEL "com.kasmweb.image"="true"
|
||||||
|
LABEL "com.kasmweb.gpu_acceleration_egl"="nvidia"
|
||||||
|
|
||||||
|
### Environment config
|
||||||
|
ARG DISTRO=ubuntu
|
||||||
|
ARG EXTRA_SH=noop.sh
|
||||||
|
ARG LANG='en_US.UTF-8'
|
||||||
|
ARG LANGUAGE='en_US:en'
|
||||||
|
ARG LC_ALL='en_US.UTF-8'
|
||||||
|
ARG START_PULSEAUDIO=1
|
||||||
|
ARG START_XFCE4=1
|
||||||
|
ENV AUDIO_PORT=4901 \
|
||||||
|
DEBIAN_FRONTEND=noninteractive \
|
||||||
|
DISPLAY=:1 \
|
||||||
|
DISTRO=$DISTRO \
|
||||||
|
GOMP_SPINCOUNT=0 \
|
||||||
|
HOME=/home/kasm-user \
|
||||||
|
INST_SCRIPTS=/dockerstartup/install \
|
||||||
|
KASMVNC_AUTO_RECOVER=true \
|
||||||
|
KASM_VNC_PATH=/usr/share/kasmvnc \
|
||||||
|
LANG=$LANG \
|
||||||
|
LANGUAGE=$LANGUAGE \
|
||||||
|
LC_ALL=$LC_ALL \
|
||||||
|
LD_LIBRARY_PATH=/opt/libjpeg-turbo/lib64/:/usr/local/lib/ \
|
||||||
|
LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/usr/lib/i386-linux-gnu${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}:/usr/local/nvidia/lib:/usr/local/nvidia/lib64 \
|
||||||
|
MAX_FRAME_RATE=24 \
|
||||||
|
NO_VNC_PORT=6901 \
|
||||||
|
NVIDIA_DRIVER_CAPABILITIES=${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics,compat32,utility \
|
||||||
|
OMP_WAIT_POLICY=PASSIVE \
|
||||||
|
PULSE_RUNTIME_PATH=/var/run/pulse \
|
||||||
|
SDL_GAMECONTROLLERCONFIG="030000005e040000be02000014010000,XInput Controller,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b8,guide:b16,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:b12,dpdown:b13,dpleft:b14,dpright:b15,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7" \
|
||||||
|
SHELL=/bin/bash \
|
||||||
|
START_PULSEAUDIO=$START_PULSEAUDIO \
|
||||||
|
STARTUPDIR=/dockerstartup \
|
||||||
|
START_XFCE4=$START_XFCE4 \
|
||||||
|
TERM=xterm \
|
||||||
|
VNC_COL_DEPTH=24 \
|
||||||
|
VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7 -DLP_ClipDelay=0" \
|
||||||
|
VNC_PORT=5901 \
|
||||||
|
VNC_PORT=5901 \
|
||||||
|
VNC_PW=vncpassword \
|
||||||
|
VNC_RESOLUTION=1280x1024 \
|
||||||
|
VNC_RESOLUTION=1280x720 \
|
||||||
|
VNC_VIEW_ONLY_PW=vncviewonlypassword
|
||||||
|
|
||||||
|
### Ports and user
|
||||||
|
EXPOSE $VNC_PORT \
|
||||||
|
$NO_VNC_PORT \
|
||||||
|
$UPLOAD_PORT \
|
||||||
|
$AUDIO_PORT
|
||||||
|
WORKDIR $HOME
|
||||||
USER 1000
|
USER 1000
|
||||||
|
|
||||||
ENTRYPOINT ["/dockerstartup/kasm_default_profile.sh", "/dockerstartup/vnc_startup.sh", "/dockerstartup/kasm_startup.sh"]
|
ENTRYPOINT ["/dockerstartup/kasm_default_profile.sh", "/dockerstartup/vnc_startup.sh", "/dockerstartup/kasm_startup.sh"]
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
|
#### Build Stage ####
|
||||||
ARG BASE_IMAGE="alpine:3.17"
|
ARG BASE_IMAGE="alpine:3.17"
|
||||||
|
|
||||||
FROM $BASE_IMAGE AS install_tools
|
FROM $BASE_IMAGE AS install_tools
|
||||||
ARG DISTRO=alpine
|
ARG DISTRO=alpine
|
||||||
|
|
||||||
|
|
||||||
### Install common tools
|
### Install common tools
|
||||||
RUN apk add --no-cache bash
|
RUN apk add --no-cache bash
|
||||||
COPY ./src/ubuntu/install/tools $INST_SCRIPTS/tools/
|
COPY ./src/ubuntu/install/tools $INST_SCRIPTS/tools/
|
||||||
@ -11,66 +10,31 @@ RUN bash "$INST_SCRIPTS/tools/install_tools.sh" && rm -rf "$INST_SCRIPTS/tools/"
|
|||||||
ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
|
ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
|
||||||
|
|
||||||
FROM install_tools AS squid_builder
|
FROM install_tools AS squid_builder
|
||||||
|
|
||||||
ARG DISTRO=alpine
|
ARG DISTRO=alpine
|
||||||
|
|
||||||
RUN ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g') && \
|
RUN ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g') && \
|
||||||
wget --progress=dot:giga "https://kasmweb-build-artifacts.s3.amazonaws.com/kasm-squid-builder/f2b6ac26e7f91240e57d6d6e1dad4cc2704445ee/output/kasm-squid-builder_alpine_${ARCH}.tar.gz"
|
wget --progress=dot:giga "https://kasmweb-build-artifacts.s3.amazonaws.com/kasm-squid-builder/f2b6ac26e7f91240e57d6d6e1dad4cc2704445ee/output/kasm-squid-builder_alpine_${ARCH}.tar.gz"
|
||||||
RUN tar -xzf kasm-squid-builder_*.tar.gz -C /
|
RUN tar -xzf kasm-squid-builder_*.tar.gz -C /
|
||||||
|
|
||||||
FROM install_tools
|
FROM install_tools as base_layer
|
||||||
|
|
||||||
MAINTAINER Kasm Tech "info@kasmweb.com"
|
|
||||||
LABEL "com.kasmweb.image"="true"
|
|
||||||
|
|
||||||
### Environment config
|
### Environment config
|
||||||
ARG START_XFCE4=1
|
|
||||||
ARG START_PULSEAUDIO=1
|
|
||||||
ARG BG_IMG=bg_alpine.png
|
ARG BG_IMG=bg_alpine.png
|
||||||
ARG EXTRA_SH=noop.sh
|
ARG EXTRA_SH=noop.sh
|
||||||
ARG DISTRO=alpine
|
ARG DISTRO=alpine
|
||||||
ARG LANG='en_US.UTF-8'
|
ARG LANG='en_US.UTF-8'
|
||||||
ARG LANGUAGE='en_US:en'
|
ARG LANGUAGE='en_US:en'
|
||||||
ARG LC_ALL='en_US.UTF-8'
|
ARG LC_ALL='en_US.UTF-8'
|
||||||
ENV DISPLAY=:1 \
|
ENV DISTRO=$DISTRO \
|
||||||
VNC_PORT=5901 \
|
|
||||||
NO_VNC_PORT=6901 \
|
|
||||||
VNC_PORT=5901 \
|
|
||||||
AUDIO_PORT=4901 \
|
|
||||||
VNC_RESOLUTION=1280x720 \
|
|
||||||
MAX_FRAME_RATE=24 \
|
|
||||||
VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7 -DLP_ClipDelay=0" \
|
|
||||||
HOME=/home/kasm-default-profile \
|
HOME=/home/kasm-default-profile \
|
||||||
TERM=xterm \
|
|
||||||
STARTUPDIR=/dockerstartup \
|
|
||||||
INST_SCRIPTS=/dockerstartup/install \
|
INST_SCRIPTS=/dockerstartup/install \
|
||||||
KASM_VNC_PATH=/usr/share/kasmvnc \
|
KASM_VNC_PATH=/usr/share/kasmvnc \
|
||||||
DEBIAN_FRONTEND=noninteractive \
|
|
||||||
VNC_COL_DEPTH=24 \
|
|
||||||
VNC_RESOLUTION=1280x1024 \
|
|
||||||
VNC_PW=vncpassword \
|
|
||||||
VNC_VIEW_ONLY_PW=vncviewonlypassword \
|
|
||||||
LD_LIBRARY_PATH=/usr/local/lib/ \
|
|
||||||
PERL5LIB=/usr/local/bin \
|
|
||||||
OMP_WAIT_POLICY=PASSIVE \
|
|
||||||
GOMP_SPINCOUNT=0 \
|
|
||||||
SHELL=/bin/bash \
|
|
||||||
START_XFCE4=$START_XFCE4 \
|
|
||||||
START_PULSEAUDIO=$START_PULSEAUDIO \
|
|
||||||
LANG=$LANG \
|
LANG=$LANG \
|
||||||
LANGUAGE=$LANGUAGE \
|
LANGUAGE=$LANGUAGE \
|
||||||
LC_ALL=$LC_ALL \
|
LC_ALL=$LC_ALL \
|
||||||
SINGLE_APPLICATION=0 \
|
STARTUPDIR=/dockerstartup
|
||||||
KASMVNC_AUTO_RECOVER=true \
|
|
||||||
PULSE_RUNTIME_PATH=/var/run/pulse \
|
|
||||||
DISTRO=$DISTRO \
|
|
||||||
SDL_GAMECONTROLLERCONFIG="030000005e040000be02000014010000,XInput Controller,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b8,guide:b16,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:b12,dpdown:b13,dpleft:b14,dpright:b15,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7"
|
|
||||||
|
|
||||||
EXPOSE $VNC_PORT \
|
|
||||||
$NO_VNC_PORT \
|
|
||||||
$UPLOAD_PORT \
|
|
||||||
$AUDIO_PORT
|
|
||||||
|
|
||||||
|
### Home setup
|
||||||
WORKDIR $HOME
|
WORKDIR $HOME
|
||||||
RUN mkdir -p $HOME/Desktop
|
RUN mkdir -p $HOME/Desktop
|
||||||
|
|
||||||
@ -170,6 +134,70 @@ RUN touch $STARTUPDIR/wm.log \
|
|||||||
&& chown -R root:root /usr/local/bin \
|
&& chown -R root:root /usr/local/bin \
|
||||||
&& chown 1000:root /var/run/pulse
|
&& chown 1000:root /var/run/pulse
|
||||||
|
|
||||||
|
### Language Packs
|
||||||
|
COPY ./src/ubuntu/install/langpacks $INST_SCRIPTS/langpacks/
|
||||||
|
RUN bash $INST_SCRIPTS/langpacks/install_langpacks.sh && rm -rf $INST_SCRIPTS/langpacks/
|
||||||
|
|
||||||
|
### Cleanup Job
|
||||||
|
COPY ./src/ubuntu/install/cleanup $INST_SCRIPTS/cleanup/
|
||||||
|
RUN bash $INST_SCRIPTS/cleanup/cleanup.sh && rm -rf $INST_SCRIPTS/cleanup/
|
||||||
|
|
||||||
|
#### Runtime Stage ####
|
||||||
|
FROM scratch
|
||||||
|
COPY --from=base_layer / /
|
||||||
|
|
||||||
|
### Labels
|
||||||
|
LABEL "org.opencontainers.image.authors"='Kasm Tech "info@kasmweb.com"'
|
||||||
|
LABEL "com.kasmweb.image"="true"
|
||||||
|
|
||||||
|
### Environment config
|
||||||
|
ARG DISTRO=alpine
|
||||||
|
ARG EXTRA_SH=noop.sh
|
||||||
|
ARG LANG='en_US.UTF-8'
|
||||||
|
ARG LANGUAGE='en_US:en'
|
||||||
|
ARG LC_ALL='en_US.UTF-8'
|
||||||
|
ARG START_PULSEAUDIO=1
|
||||||
|
ARG START_XFCE4=1
|
||||||
|
ENV AUDIO_PORT=4901 \
|
||||||
|
DEBIAN_FRONTEND=noninteractive \
|
||||||
|
DISPLAY=:1 \
|
||||||
|
DISTRO=$DISTRO \
|
||||||
|
GOMP_SPINCOUNT=0 \
|
||||||
|
HOME=/home/kasm-user \
|
||||||
|
INST_SCRIPTS=/dockerstartup/install \
|
||||||
|
KASMVNC_AUTO_RECOVER=true \
|
||||||
|
KASM_VNC_PATH=/usr/share/kasmvnc \
|
||||||
|
LANG=$LANG \
|
||||||
|
LANGUAGE=$LANGUAGE \
|
||||||
|
LC_ALL=$LC_ALL \
|
||||||
|
LD_LIBRARY_PATH=/usr/local/lib/ \
|
||||||
|
MAX_FRAME_RATE=24 \
|
||||||
|
NO_VNC_PORT=6901 \
|
||||||
|
NVIDIA_DRIVER_CAPABILITIES=${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics,compat32,utility \
|
||||||
|
OMP_WAIT_POLICY=PASSIVE \
|
||||||
|
PERL5LIB=/usr/local/bin \
|
||||||
|
PULSE_RUNTIME_PATH=/var/run/pulse \
|
||||||
|
SDL_GAMECONTROLLERCONFIG="030000005e040000be02000014010000,XInput Controller,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b8,guide:b16,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:b12,dpdown:b13,dpleft:b14,dpright:b15,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7" \
|
||||||
|
SHELL=/bin/bash \
|
||||||
|
START_PULSEAUDIO=$START_PULSEAUDIO \
|
||||||
|
STARTUPDIR=/dockerstartup \
|
||||||
|
START_XFCE4=$START_XFCE4 \
|
||||||
|
TERM=xterm \
|
||||||
|
VNC_COL_DEPTH=24 \
|
||||||
|
VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7 -DLP_ClipDelay=0" \
|
||||||
|
VNC_PORT=5901 \
|
||||||
|
VNC_PORT=5901 \
|
||||||
|
VNC_PW=vncpassword \
|
||||||
|
VNC_RESOLUTION=1280x1024 \
|
||||||
|
VNC_RESOLUTION=1280x720 \
|
||||||
|
VNC_VIEW_ONLY_PW=vncviewonlypassword
|
||||||
|
|
||||||
|
### Ports and user
|
||||||
|
EXPOSE $VNC_PORT \
|
||||||
|
$NO_VNC_PORT \
|
||||||
|
$UPLOAD_PORT \
|
||||||
|
$AUDIO_PORT
|
||||||
|
WORKDIR $HOME
|
||||||
USER 1000
|
USER 1000
|
||||||
|
|
||||||
ENTRYPOINT ["/dockerstartup/kasm_default_profile.sh", "/dockerstartup/vnc_startup.sh", "/dockerstartup/kasm_startup.sh"]
|
ENTRYPOINT ["/dockerstartup/kasm_default_profile.sh", "/dockerstartup/vnc_startup.sh", "/dockerstartup/kasm_startup.sh"]
|
||||||
|
@ -1,10 +1,14 @@
|
|||||||
|
#### Build Stage ####
|
||||||
ARG BASE_IMAGE="centos:centos7"
|
ARG BASE_IMAGE="centos:centos7"
|
||||||
|
|
||||||
FROM $BASE_IMAGE AS install_tools
|
FROM $BASE_IMAGE AS install_tools
|
||||||
ARG DISTRO=centos
|
ARG DISTRO=centos
|
||||||
|
|
||||||
### Install common tools
|
### Setup package rules
|
||||||
|
COPY ./src/ubuntu/install/package_rules $INST_SCRIPTS/package_rules/
|
||||||
|
RUN bash $INST_SCRIPTS/package_rules/package_rules.sh && rm -rf $INST_SCRIPTS/package_rules/
|
||||||
|
|
||||||
|
### Install common tools
|
||||||
COPY ./src/ubuntu/install/tools $INST_SCRIPTS/tools/
|
COPY ./src/ubuntu/install/tools $INST_SCRIPTS/tools/
|
||||||
RUN bash "$INST_SCRIPTS/tools/install_tools.sh" && rm -rf "$INST_SCRIPTS/tools/"
|
RUN bash "$INST_SCRIPTS/tools/install_tools.sh" && rm -rf "$INST_SCRIPTS/tools/"
|
||||||
ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
|
ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
|
||||||
@ -14,57 +18,26 @@ FROM install_tools AS squid_builder
|
|||||||
RUN wget --progress=dot:giga 'https://kasmweb-build-artifacts.s3.amazonaws.com/kasm-squid-builder/de1dffbc94d4132d6c696de8c6dfcd6f08900f61/output/kasm-squid-builder_centos_amd64.tar.gz'
|
RUN wget --progress=dot:giga 'https://kasmweb-build-artifacts.s3.amazonaws.com/kasm-squid-builder/de1dffbc94d4132d6c696de8c6dfcd6f08900f61/output/kasm-squid-builder_centos_amd64.tar.gz'
|
||||||
RUN tar -xzf kasm-squid-builder_centos_amd64.tar.gz -C /
|
RUN tar -xzf kasm-squid-builder_centos_amd64.tar.gz -C /
|
||||||
|
|
||||||
FROM install_tools
|
FROM install_tools as base_layer
|
||||||
|
|
||||||
MAINTAINER Kasm Tech "info@kasmweb.com"
|
|
||||||
LABEL "com.kasmweb.image"="true"
|
|
||||||
|
|
||||||
### Environment config
|
### Environment config
|
||||||
ARG START_XFCE4=0
|
|
||||||
ARG START_PULSEAUDIO=0
|
|
||||||
ARG BG_IMG=bg_centos.png
|
ARG BG_IMG=bg_centos.png
|
||||||
ARG EXTRA_SH=noop.sh
|
ARG EXTRA_SH=noop.sh
|
||||||
ARG DISTRO=centos
|
ARG DISTRO=centos
|
||||||
ARG LANG='en_US.UTF-8'
|
ARG LANG='en_US.UTF-8'
|
||||||
ARG LANGUAGE='en_US:en'
|
ARG LANGUAGE='en_US:en'
|
||||||
ARG LC_ALL='en_US.UTF-8'
|
ARG LC_ALL='en_US.UTF-8'
|
||||||
ENV DISPLAY=:1 \
|
ENV HOME=/home/kasm-default-profile \
|
||||||
VNC_PORT=5901 \
|
|
||||||
NO_VNC_PORT=6901 \
|
|
||||||
VNC_PORT=5901 \
|
|
||||||
AUDIO_PORT=4901 \
|
|
||||||
VNC_RESOLUTION=1280x720 \
|
|
||||||
MAX_FRAME_RATE=24 \
|
|
||||||
VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7 -DLP_ClipDelay=0" \
|
|
||||||
HOME=/home/kasm-default-profile \
|
|
||||||
TERM=xterm \
|
TERM=xterm \
|
||||||
STARTUPDIR=/dockerstartup \
|
STARTUPDIR=/dockerstartup \
|
||||||
INST_SCRIPTS=/dockerstartup/install \
|
INST_SCRIPTS=/dockerstartup/install \
|
||||||
KASM_VNC_PATH=/usr/share/kasmvnc \
|
KASM_VNC_PATH=/usr/share/kasmvnc \
|
||||||
DEBIAN_FRONTEND=noninteractive \
|
DEBIAN_FRONTEND=noninteractive \
|
||||||
VNC_COL_DEPTH=24 \
|
|
||||||
VNC_RESOLUTION=1280x1024 \
|
|
||||||
VNC_PW=vncpassword \
|
|
||||||
VNC_VIEW_ONLY_PW=vncviewonlypassword \
|
|
||||||
LD_LIBRARY_PATH=/usr/local/lib/ \
|
|
||||||
OMP_WAIT_POLICY=PASSIVE \
|
|
||||||
GOMP_SPINCOUNT=0 \
|
|
||||||
SHELL=/bin/bash \
|
SHELL=/bin/bash \
|
||||||
START_XFCE4=$START_XFCE4 \
|
|
||||||
START_PULSEAUDIO=$START_PULSEAUDIO \
|
|
||||||
LANG=$LANG \
|
LANG=$LANG \
|
||||||
LANGUAGE=$LANGUAGE \
|
LANGUAGE=$LANGUAGE \
|
||||||
LC_ALL=$LC_ALL \
|
LC_ALL=$LC_ALL \
|
||||||
SINGLE_APPLICATION=0 \
|
DISTRO=$DISTRO
|
||||||
KASMVNC_AUTO_RECOVER=true \
|
|
||||||
PULSE_RUNTIME_PATH=/var/run/pulse \
|
|
||||||
DISTRO=$DISTRO \
|
|
||||||
SDL_GAMECONTROLLERCONFIG="030000005e040000be02000014010000,XInput Controller,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b8,guide:b16,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:b12,dpdown:b13,dpleft:b14,dpright:b15,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7"
|
|
||||||
|
|
||||||
EXPOSE $VNC_PORT \
|
|
||||||
$NO_VNC_PORT \
|
|
||||||
$UPLOAD_PORT \
|
|
||||||
$AUDIO_PORT
|
|
||||||
|
|
||||||
WORKDIR $HOME
|
WORKDIR $HOME
|
||||||
RUN mkdir -p $HOME/Desktop
|
RUN mkdir -p $HOME/Desktop
|
||||||
@ -172,6 +145,65 @@ RUN touch $STARTUPDIR/wm.log \
|
|||||||
&& chown -R root:root /usr/local/bin \
|
&& chown -R root:root /usr/local/bin \
|
||||||
&& chown 1000:root /var/run/pulse
|
&& chown 1000:root /var/run/pulse
|
||||||
|
|
||||||
|
### Cleanup job
|
||||||
|
COPY ./src/ubuntu/install/cleanup $INST_SCRIPTS/cleanup/
|
||||||
|
RUN bash $INST_SCRIPTS/cleanup/cleanup.sh && rm -rf $INST_SCRIPTS/cleanup/
|
||||||
|
|
||||||
|
#### Runtime Stage ####
|
||||||
|
FROM scratch
|
||||||
|
COPY --from=base_layer / /
|
||||||
|
|
||||||
|
### Labels
|
||||||
|
LABEL "org.opencontainers.image.authors"='Kasm Tech "info@kasmweb.com"'
|
||||||
|
LABEL "com.kasmweb.image"="true"
|
||||||
|
|
||||||
|
### Environment config
|
||||||
|
ARG DISTRO=centos
|
||||||
|
ARG EXTRA_SH=noop.sh
|
||||||
|
ARG LANG='en_US.UTF-8'
|
||||||
|
ARG LANGUAGE='en_US:en'
|
||||||
|
ARG LC_ALL='en_US.UTF-8'
|
||||||
|
ARG START_PULSEAUDIO=1
|
||||||
|
ARG START_XFCE4=1
|
||||||
|
ENV AUDIO_PORT=4901 \
|
||||||
|
DEBIAN_FRONTEND=noninteractive \
|
||||||
|
DISPLAY=:1 \
|
||||||
|
DISTRO=$DISTRO \
|
||||||
|
GOMP_SPINCOUNT=0 \
|
||||||
|
HOME=/home/kasm-user \
|
||||||
|
INST_SCRIPTS=/dockerstartup/install \
|
||||||
|
KASMVNC_AUTO_RECOVER=true \
|
||||||
|
KASM_VNC_PATH=/usr/share/kasmvnc \
|
||||||
|
LANG=$LANG \
|
||||||
|
LANGUAGE=$LANGUAGE \
|
||||||
|
LC_ALL=$LC_ALL \
|
||||||
|
LD_LIBRARY_PATH=/usr/local/lib/ \
|
||||||
|
MAX_FRAME_RATE=24 \
|
||||||
|
NO_VNC_PORT=6901 \
|
||||||
|
NVIDIA_DRIVER_CAPABILITIES=${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics,compat32,utility \
|
||||||
|
OMP_WAIT_POLICY=PASSIVE \
|
||||||
|
PULSE_RUNTIME_PATH=/var/run/pulse \
|
||||||
|
SDL_GAMECONTROLLERCONFIG="030000005e040000be02000014010000,XInput Controller,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b8,guide:b16,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:b12,dpdown:b13,dpleft:b14,dpright:b15,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7" \
|
||||||
|
SHELL=/bin/bash \
|
||||||
|
START_PULSEAUDIO=$START_PULSEAUDIO \
|
||||||
|
STARTUPDIR=/dockerstartup \
|
||||||
|
START_XFCE4=$START_XFCE4 \
|
||||||
|
TERM=xterm \
|
||||||
|
VNC_COL_DEPTH=24 \
|
||||||
|
VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7 -DLP_ClipDelay=0" \
|
||||||
|
VNC_PORT=5901 \
|
||||||
|
VNC_PORT=5901 \
|
||||||
|
VNC_PW=vncpassword \
|
||||||
|
VNC_RESOLUTION=1280x1024 \
|
||||||
|
VNC_RESOLUTION=1280x720 \
|
||||||
|
VNC_VIEW_ONLY_PW=vncviewonlypassword
|
||||||
|
|
||||||
|
### Ports and user
|
||||||
|
EXPOSE $VNC_PORT \
|
||||||
|
$NO_VNC_PORT \
|
||||||
|
$UPLOAD_PORT \
|
||||||
|
$AUDIO_PORT
|
||||||
|
WORKDIR $HOME
|
||||||
USER 1000
|
USER 1000
|
||||||
|
|
||||||
ENTRYPOINT ["/dockerstartup/kasm_default_profile.sh", "/dockerstartup/vnc_startup.sh", "/dockerstartup/kasm_startup.sh"]
|
ENTRYPOINT ["/dockerstartup/kasm_default_profile.sh", "/dockerstartup/vnc_startup.sh", "/dockerstartup/kasm_startup.sh"]
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
|
#### Build Stage ####
|
||||||
ARG BASE_IMAGE="fedora:37"
|
ARG BASE_IMAGE="fedora:37"
|
||||||
|
|
||||||
FROM $BASE_IMAGE AS install_tools
|
FROM $BASE_IMAGE AS install_tools
|
||||||
ARG DISTRO=fedora37
|
ARG DISTRO=fedora37
|
||||||
|
|
||||||
|
### Setup package rules
|
||||||
|
COPY ./src/ubuntu/install/package_rules $INST_SCRIPTS/package_rules/
|
||||||
|
RUN bash $INST_SCRIPTS/package_rules/package_rules.sh && rm -rf $INST_SCRIPTS/package_rules/
|
||||||
|
|
||||||
### Install common tools
|
### Install common tools
|
||||||
|
|
||||||
COPY ./src/ubuntu/install/tools $INST_SCRIPTS/tools/
|
COPY ./src/ubuntu/install/tools $INST_SCRIPTS/tools/
|
||||||
RUN bash "$INST_SCRIPTS/tools/install_tools.sh" && rm -rf "$INST_SCRIPTS/tools/"
|
RUN bash "$INST_SCRIPTS/tools/install_tools.sh" && rm -rf "$INST_SCRIPTS/tools/"
|
||||||
ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
|
ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
|
||||||
@ -18,57 +20,28 @@ RUN ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g') && \
|
|||||||
wget --progress=dot:giga "https://kasmweb-build-artifacts.s3.amazonaws.com/kasm-squid-builder/1149fc830c7edcb383eec390cce2beba16befde5/output/kasm-squid-builder_${ARCH}.tar.gz"
|
wget --progress=dot:giga "https://kasmweb-build-artifacts.s3.amazonaws.com/kasm-squid-builder/1149fc830c7edcb383eec390cce2beba16befde5/output/kasm-squid-builder_${ARCH}.tar.gz"
|
||||||
RUN tar -xzf kasm-squid-builder_*.tar.gz -C /
|
RUN tar -xzf kasm-squid-builder_*.tar.gz -C /
|
||||||
|
|
||||||
FROM install_tools
|
FROM install_tools as base_layer
|
||||||
|
|
||||||
MAINTAINER Kasm Tech "info@kasmweb.com"
|
MAINTAINER Kasm Tech "info@kasmweb.com"
|
||||||
LABEL "com.kasmweb.image"="true"
|
LABEL "com.kasmweb.image"="true"
|
||||||
|
|
||||||
### Environment config
|
### Environment config
|
||||||
ARG START_XFCE4=1
|
|
||||||
ARG START_PULSEAUDIO=1
|
|
||||||
ARG BG_IMG=bg_fedora.png
|
ARG BG_IMG=bg_fedora.png
|
||||||
ARG EXTRA_SH=noop.sh
|
ARG EXTRA_SH=noop.sh
|
||||||
ARG DISTRO=fedora37
|
ARG DISTRO=fedora37
|
||||||
ARG LANG='en_US.UTF-8'
|
ARG LANG='en_US.UTF-8'
|
||||||
ARG LANGUAGE='en_US:en'
|
ARG LANGUAGE='en_US:en'
|
||||||
ARG LC_ALL='en_US.UTF-8'
|
ARG LC_ALL='en_US.UTF-8'
|
||||||
ENV DISPLAY=:1 \
|
ENV HOME=/home/kasm-default-profile \
|
||||||
VNC_PORT=5901 \
|
|
||||||
NO_VNC_PORT=6901 \
|
|
||||||
VNC_PORT=5901 \
|
|
||||||
AUDIO_PORT=4901 \
|
|
||||||
VNC_RESOLUTION=1280x720 \
|
|
||||||
MAX_FRAME_RATE=24 \
|
|
||||||
VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7 -DLP_ClipDelay=0" \
|
|
||||||
HOME=/home/kasm-default-profile \
|
|
||||||
TERM=xterm \
|
TERM=xterm \
|
||||||
STARTUPDIR=/dockerstartup \
|
STARTUPDIR=/dockerstartup \
|
||||||
INST_SCRIPTS=/dockerstartup/install \
|
INST_SCRIPTS=/dockerstartup/install \
|
||||||
KASM_VNC_PATH=/usr/share/kasmvnc \
|
KASM_VNC_PATH=/usr/share/kasmvnc \
|
||||||
DEBIAN_FRONTEND=noninteractive \
|
|
||||||
VNC_COL_DEPTH=24 \
|
|
||||||
VNC_RESOLUTION=1280x1024 \
|
|
||||||
VNC_PW=vncpassword \
|
|
||||||
VNC_VIEW_ONLY_PW=vncviewonlypassword \
|
|
||||||
LD_LIBRARY_PATH=/usr/local/lib/ \
|
|
||||||
OMP_WAIT_POLICY=PASSIVE \
|
|
||||||
GOMP_SPINCOUNT=0 \
|
|
||||||
SHELL=/bin/bash \
|
SHELL=/bin/bash \
|
||||||
START_XFCE4=$START_XFCE4 \
|
|
||||||
START_PULSEAUDIO=$START_PULSEAUDIO \
|
|
||||||
LANG=$LANG \
|
LANG=$LANG \
|
||||||
LANGUAGE=$LANGUAGE \
|
LANGUAGE=$LANGUAGE \
|
||||||
LC_ALL=$LC_ALL \
|
LC_ALL=$LC_ALL \
|
||||||
SINGLE_APPLICATION=0 \
|
DISTRO=$DISTRO
|
||||||
KASMVNC_AUTO_RECOVER=true \
|
|
||||||
PULSE_RUNTIME_PATH=/var/run/pulse \
|
|
||||||
DISTRO=$DISTRO \
|
|
||||||
SDL_GAMECONTROLLERCONFIG="030000005e040000be02000014010000,XInput Controller,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b8,guide:b16,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:b12,dpdown:b13,dpleft:b14,dpright:b15,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7"
|
|
||||||
|
|
||||||
EXPOSE $VNC_PORT \
|
|
||||||
$NO_VNC_PORT \
|
|
||||||
$UPLOAD_PORT \
|
|
||||||
$AUDIO_PORT
|
|
||||||
|
|
||||||
WORKDIR $HOME
|
WORKDIR $HOME
|
||||||
RUN mkdir -p $HOME/Desktop
|
RUN mkdir -p $HOME/Desktop
|
||||||
@ -176,6 +149,64 @@ RUN touch $STARTUPDIR/wm.log \
|
|||||||
&& chown -R root:root /usr/local/bin \
|
&& chown -R root:root /usr/local/bin \
|
||||||
&& chown 1000:root /var/run/pulse
|
&& chown 1000:root /var/run/pulse
|
||||||
|
|
||||||
|
### Cleanup job
|
||||||
|
COPY ./src/ubuntu/install/cleanup $INST_SCRIPTS/cleanup/
|
||||||
|
RUN bash $INST_SCRIPTS/cleanup/cleanup.sh && rm -rf $INST_SCRIPTS/cleanup/
|
||||||
|
|
||||||
|
#### Runtime Stage ####
|
||||||
|
FROM scratch
|
||||||
|
COPY --from=base_layer / /
|
||||||
|
|
||||||
|
### Labels
|
||||||
|
LABEL "org.opencontainers.image.authors"='Kasm Tech "info@kasmweb.com"'
|
||||||
|
LABEL "com.kasmweb.image"="true"
|
||||||
|
|
||||||
|
### Environment config
|
||||||
|
ARG DISTRO=fedora37
|
||||||
|
ARG EXTRA_SH=noop.sh
|
||||||
|
ARG LANG='en_US.UTF-8'
|
||||||
|
ARG LANGUAGE='en_US:en'
|
||||||
|
ARG LC_ALL='en_US.UTF-8'
|
||||||
|
ARG START_PULSEAUDIO=1
|
||||||
|
ARG START_XFCE4=1
|
||||||
|
ENV AUDIO_PORT=4901 \
|
||||||
|
DISPLAY=:1 \
|
||||||
|
DISTRO=$DISTRO \
|
||||||
|
GOMP_SPINCOUNT=0 \
|
||||||
|
HOME=/home/kasm-user \
|
||||||
|
INST_SCRIPTS=/dockerstartup/install \
|
||||||
|
KASMVNC_AUTO_RECOVER=true \
|
||||||
|
KASM_VNC_PATH=/usr/share/kasmvnc \
|
||||||
|
LANG=$LANG \
|
||||||
|
LANGUAGE=$LANGUAGE \
|
||||||
|
LC_ALL=$LC_ALL \
|
||||||
|
LD_LIBRARY_PATH=/usr/local/lib/ \
|
||||||
|
MAX_FRAME_RATE=24 \
|
||||||
|
NO_VNC_PORT=6901 \
|
||||||
|
NVIDIA_DRIVER_CAPABILITIES=${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics,compat32,utility \
|
||||||
|
OMP_WAIT_POLICY=PASSIVE \
|
||||||
|
PULSE_RUNTIME_PATH=/var/run/pulse \
|
||||||
|
SDL_GAMECONTROLLERCONFIG="030000005e040000be02000014010000,XInput Controller,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b8,guide:b16,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:b12,dpdown:b13,dpleft:b14,dpright:b15,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7" \
|
||||||
|
SHELL=/bin/bash \
|
||||||
|
START_PULSEAUDIO=$START_PULSEAUDIO \
|
||||||
|
STARTUPDIR=/dockerstartup \
|
||||||
|
START_XFCE4=$START_XFCE4 \
|
||||||
|
TERM=xterm \
|
||||||
|
VNC_COL_DEPTH=24 \
|
||||||
|
VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7 -DLP_ClipDelay=0" \
|
||||||
|
VNC_PORT=5901 \
|
||||||
|
VNC_PORT=5901 \
|
||||||
|
VNC_PW=vncpassword \
|
||||||
|
VNC_RESOLUTION=1280x1024 \
|
||||||
|
VNC_RESOLUTION=1280x720 \
|
||||||
|
VNC_VIEW_ONLY_PW=vncviewonlypassword
|
||||||
|
|
||||||
|
### Ports and user
|
||||||
|
EXPOSE $VNC_PORT \
|
||||||
|
$NO_VNC_PORT \
|
||||||
|
$UPLOAD_PORT \
|
||||||
|
$AUDIO_PORT
|
||||||
|
WORKDIR $HOME
|
||||||
USER 1000
|
USER 1000
|
||||||
|
|
||||||
ENTRYPOINT ["/dockerstartup/kasm_default_profile.sh", "/dockerstartup/vnc_startup.sh", "/dockerstartup/kasm_startup.sh"]
|
ENTRYPOINT ["/dockerstartup/kasm_default_profile.sh", "/dockerstartup/vnc_startup.sh", "/dockerstartup/kasm_startup.sh"]
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
|
#### Build Stage ####
|
||||||
ARG BASE_IMAGE="oraclelinux:8"
|
ARG BASE_IMAGE="oraclelinux:8"
|
||||||
|
|
||||||
FROM $BASE_IMAGE AS install_tools
|
FROM $BASE_IMAGE AS install_tools
|
||||||
ARG DISTRO=oracle8
|
ARG DISTRO=oracle8
|
||||||
|
|
||||||
|
### Setup package rules
|
||||||
|
COPY ./src/ubuntu/install/package_rules $INST_SCRIPTS/package_rules/
|
||||||
|
RUN bash $INST_SCRIPTS/package_rules/package_rules.sh && rm -rf $INST_SCRIPTS/package_rules/
|
||||||
|
|
||||||
### Install common tools
|
### Install common tools
|
||||||
|
|
||||||
COPY ./src/ubuntu/install/tools $INST_SCRIPTS/tools/
|
COPY ./src/ubuntu/install/tools $INST_SCRIPTS/tools/
|
||||||
RUN bash "$INST_SCRIPTS/tools/install_tools.sh" && rm -rf "$INST_SCRIPTS/tools/"
|
RUN bash "$INST_SCRIPTS/tools/install_tools.sh" && rm -rf "$INST_SCRIPTS/tools/"
|
||||||
ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
|
ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
|
||||||
@ -23,57 +25,29 @@ else \
|
|||||||
fi
|
fi
|
||||||
RUN tar -xzf kasm-squid-builder_*.tar.gz -C /
|
RUN tar -xzf kasm-squid-builder_*.tar.gz -C /
|
||||||
|
|
||||||
FROM install_tools
|
FROM install_tools as base_layer
|
||||||
|
|
||||||
MAINTAINER Kasm Tech "info@kasmweb.com"
|
MAINTAINER Kasm Tech "info@kasmweb.com"
|
||||||
LABEL "com.kasmweb.image"="true"
|
LABEL "com.kasmweb.image"="true"
|
||||||
|
|
||||||
### Environment config
|
### Environment config
|
||||||
ARG START_XFCE4=0
|
|
||||||
ARG START_PULSEAUDIO=0
|
|
||||||
ARG BG_IMG=bg_oracle.png
|
ARG BG_IMG=bg_oracle.png
|
||||||
ARG EXTRA_SH=noop.sh
|
ARG EXTRA_SH=noop.sh
|
||||||
ARG DISTRO=oracle8
|
ARG DISTRO=oracle8
|
||||||
ARG LANG='en_US.UTF-8'
|
ARG LANG='en_US.UTF-8'
|
||||||
ARG LANGUAGE='en_US:en'
|
ARG LANGUAGE='en_US:en'
|
||||||
ARG LC_ALL='en_US.UTF-8'
|
ARG LC_ALL='en_US.UTF-8'
|
||||||
ENV DISPLAY=:1 \
|
ENV HOME=/home/kasm-default-profile \
|
||||||
VNC_PORT=5901 \
|
|
||||||
NO_VNC_PORT=6901 \
|
|
||||||
VNC_PORT=5901 \
|
|
||||||
AUDIO_PORT=4901 \
|
|
||||||
VNC_RESOLUTION=1280x720 \
|
|
||||||
MAX_FRAME_RATE=24 \
|
|
||||||
VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7 -DLP_ClipDelay=0" \
|
|
||||||
HOME=/home/kasm-default-profile \
|
|
||||||
TERM=xterm \
|
TERM=xterm \
|
||||||
STARTUPDIR=/dockerstartup \
|
STARTUPDIR=/dockerstartup \
|
||||||
INST_SCRIPTS=/dockerstartup/install \
|
INST_SCRIPTS=/dockerstartup/install \
|
||||||
KASM_VNC_PATH=/usr/share/kasmvnc \
|
KASM_VNC_PATH=/usr/share/kasmvnc \
|
||||||
DEBIAN_FRONTEND=noninteractive \
|
|
||||||
VNC_COL_DEPTH=24 \
|
|
||||||
VNC_RESOLUTION=1280x1024 \
|
|
||||||
VNC_PW=vncpassword \
|
|
||||||
VNC_VIEW_ONLY_PW=vncviewonlypassword \
|
|
||||||
LD_LIBRARY_PATH=/usr/local/lib/ \
|
|
||||||
OMP_WAIT_POLICY=PASSIVE \
|
|
||||||
GOMP_SPINCOUNT=0 \
|
|
||||||
SHELL=/bin/bash \
|
SHELL=/bin/bash \
|
||||||
START_XFCE4=$START_XFCE4 \
|
START_XFCE4=$START_XFCE4 \
|
||||||
START_PULSEAUDIO=$START_PULSEAUDIO \
|
|
||||||
LANG=$LANG \
|
LANG=$LANG \
|
||||||
LANGUAGE=$LANGUAGE \
|
LANGUAGE=$LANGUAGE \
|
||||||
LC_ALL=$LC_ALL \
|
LC_ALL=$LC_ALL \
|
||||||
SINGLE_APPLICATION=0 \
|
DISTRO=$DISTRO
|
||||||
KASMVNC_AUTO_RECOVER=true \
|
|
||||||
PULSE_RUNTIME_PATH=/var/run/pulse \
|
|
||||||
DISTRO=$DISTRO \
|
|
||||||
SDL_GAMECONTROLLERCONFIG="030000005e040000be02000014010000,XInput Controller,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b8,guide:b16,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:b12,dpdown:b13,dpleft:b14,dpright:b15,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7"
|
|
||||||
|
|
||||||
EXPOSE $VNC_PORT \
|
|
||||||
$NO_VNC_PORT \
|
|
||||||
$UPLOAD_PORT \
|
|
||||||
$AUDIO_PORT
|
|
||||||
|
|
||||||
WORKDIR $HOME
|
WORKDIR $HOME
|
||||||
RUN mkdir -p $HOME/Desktop
|
RUN mkdir -p $HOME/Desktop
|
||||||
@ -190,6 +164,64 @@ RUN touch $STARTUPDIR/wm.log \
|
|||||||
&& chown -R root:root /usr/local/bin \
|
&& chown -R root:root /usr/local/bin \
|
||||||
&& chown 1000:root /var/run/pulse
|
&& chown 1000:root /var/run/pulse
|
||||||
|
|
||||||
|
### Cleanup job
|
||||||
|
COPY ./src/ubuntu/install/cleanup $INST_SCRIPTS/cleanup/
|
||||||
|
RUN bash $INST_SCRIPTS/cleanup/cleanup.sh && rm -rf $INST_SCRIPTS/cleanup/
|
||||||
|
|
||||||
|
#### Runtime Stage ####
|
||||||
|
FROM scratch
|
||||||
|
COPY --from=base_layer / /
|
||||||
|
|
||||||
|
### Labels
|
||||||
|
LABEL "org.opencontainers.image.authors"='Kasm Tech "info@kasmweb.com"'
|
||||||
|
LABEL "com.kasmweb.image"="true"
|
||||||
|
|
||||||
|
### Environment config
|
||||||
|
ARG DISTRO=oracle8
|
||||||
|
ARG EXTRA_SH=noop.sh
|
||||||
|
ARG LANG='en_US.UTF-8'
|
||||||
|
ARG LANGUAGE='en_US:en'
|
||||||
|
ARG LC_ALL='en_US.UTF-8'
|
||||||
|
ARG START_PULSEAUDIO=1
|
||||||
|
ARG START_XFCE4=1
|
||||||
|
ENV AUDIO_PORT=4901 \
|
||||||
|
DISPLAY=:1 \
|
||||||
|
DISTRO=$DISTRO \
|
||||||
|
GOMP_SPINCOUNT=0 \
|
||||||
|
HOME=/home/kasm-user \
|
||||||
|
INST_SCRIPTS=/dockerstartup/install \
|
||||||
|
KASMVNC_AUTO_RECOVER=true \
|
||||||
|
KASM_VNC_PATH=/usr/share/kasmvnc \
|
||||||
|
LANG=$LANG \
|
||||||
|
LANGUAGE=$LANGUAGE \
|
||||||
|
LC_ALL=$LC_ALL \
|
||||||
|
LD_LIBRARY_PATH=/usr/local/lib/ \
|
||||||
|
MAX_FRAME_RATE=24 \
|
||||||
|
NO_VNC_PORT=6901 \
|
||||||
|
NVIDIA_DRIVER_CAPABILITIES=${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics,compat32,utility \
|
||||||
|
OMP_WAIT_POLICY=PASSIVE \
|
||||||
|
PULSE_RUNTIME_PATH=/var/run/pulse \
|
||||||
|
SDL_GAMECONTROLLERCONFIG="030000005e040000be02000014010000,XInput Controller,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b8,guide:b16,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:b12,dpdown:b13,dpleft:b14,dpright:b15,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7" \
|
||||||
|
SHELL=/bin/bash \
|
||||||
|
START_PULSEAUDIO=$START_PULSEAUDIO \
|
||||||
|
STARTUPDIR=/dockerstartup \
|
||||||
|
START_XFCE4=$START_XFCE4 \
|
||||||
|
TERM=xterm \
|
||||||
|
VNC_COL_DEPTH=24 \
|
||||||
|
VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7 -DLP_ClipDelay=0" \
|
||||||
|
VNC_PORT=5901 \
|
||||||
|
VNC_PORT=5901 \
|
||||||
|
VNC_PW=vncpassword \
|
||||||
|
VNC_RESOLUTION=1280x1024 \
|
||||||
|
VNC_RESOLUTION=1280x720 \
|
||||||
|
VNC_VIEW_ONLY_PW=vncviewonlypassword
|
||||||
|
|
||||||
|
### Ports and user
|
||||||
|
EXPOSE $VNC_PORT \
|
||||||
|
$NO_VNC_PORT \
|
||||||
|
$UPLOAD_PORT \
|
||||||
|
$AUDIO_PORT
|
||||||
|
WORKDIR $HOME
|
||||||
USER 1000
|
USER 1000
|
||||||
|
|
||||||
ENTRYPOINT ["/dockerstartup/kasm_default_profile.sh", "/dockerstartup/vnc_startup.sh", "/dockerstartup/kasm_startup.sh"]
|
ENTRYPOINT ["/dockerstartup/kasm_default_profile.sh", "/dockerstartup/vnc_startup.sh", "/dockerstartup/kasm_startup.sh"]
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
ARG BASE_IMAGE="opensuse/leap:15"
|
#### Build Stage ####
|
||||||
|
ARG BASE_IMAGE="opensuse/leap:15.3"
|
||||||
|
|
||||||
FROM $BASE_IMAGE AS install_tools
|
FROM $BASE_IMAGE AS install_tools
|
||||||
ARG DISTRO=opensuse
|
ARG DISTRO=opensuse
|
||||||
@ -18,57 +19,26 @@ RUN ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g') && \
|
|||||||
wget --progress=dot:giga "https://kasmweb-build-artifacts.s3.amazonaws.com/kasm-squid-builder/1149fc830c7edcb383eec390cce2beba16befde5/output/kasm-squid-builder_${ARCH}.tar.gz"
|
wget --progress=dot:giga "https://kasmweb-build-artifacts.s3.amazonaws.com/kasm-squid-builder/1149fc830c7edcb383eec390cce2beba16befde5/output/kasm-squid-builder_${ARCH}.tar.gz"
|
||||||
RUN tar -xzf kasm-squid-builder_*.tar.gz -C /
|
RUN tar -xzf kasm-squid-builder_*.tar.gz -C /
|
||||||
|
|
||||||
FROM install_tools
|
FROM install_tools as base_layer
|
||||||
|
|
||||||
MAINTAINER Kasm Tech "info@kasmweb.com"
|
|
||||||
LABEL "com.kasmweb.image"="true"
|
|
||||||
|
|
||||||
### Environment config
|
### Environment config
|
||||||
ARG START_XFCE4=0
|
|
||||||
ARG START_PULSEAUDIO=0
|
|
||||||
ARG BG_IMG=bg_opensuse.png
|
ARG BG_IMG=bg_opensuse.png
|
||||||
ARG EXTRA_SH=noop.sh
|
ARG EXTRA_SH=noop.sh
|
||||||
ARG DISTRO=opensuse
|
ARG DISTRO=opensuse
|
||||||
ARG LANG='en_US.UTF-8'
|
ARG LANG='en_US.UTF-8'
|
||||||
ARG LANGUAGE='en_US:en'
|
ARG LANGUAGE='en_US:en'
|
||||||
ARG LC_ALL='en_US.UTF-8'
|
ARG LC_ALL='en_US.UTF-8'
|
||||||
ENV DISPLAY=:1 \
|
ENV HOME=/home/kasm-default-profile \
|
||||||
VNC_PORT=5901 \
|
|
||||||
NO_VNC_PORT=6901 \
|
|
||||||
VNC_PORT=5901 \
|
|
||||||
AUDIO_PORT=4901 \
|
|
||||||
VNC_RESOLUTION=1280x720 \
|
|
||||||
MAX_FRAME_RATE=24 \
|
|
||||||
VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7 -DLP_ClipDelay=0" \
|
|
||||||
HOME=/home/kasm-default-profile \
|
|
||||||
TERM=xterm \
|
TERM=xterm \
|
||||||
STARTUPDIR=/dockerstartup \
|
STARTUPDIR=/dockerstartup \
|
||||||
INST_SCRIPTS=/dockerstartup/install \
|
INST_SCRIPTS=/dockerstartup/install \
|
||||||
KASM_VNC_PATH=/usr/share/kasmvnc \
|
KASM_VNC_PATH=/usr/share/kasmvnc \
|
||||||
DEBIAN_FRONTEND=noninteractive \
|
|
||||||
VNC_COL_DEPTH=24 \
|
|
||||||
VNC_RESOLUTION=1280x1024 \
|
|
||||||
VNC_PW=vncpassword \
|
|
||||||
VNC_VIEW_ONLY_PW=vncviewonlypassword \
|
|
||||||
LD_LIBRARY_PATH=/usr/local/lib/ \
|
|
||||||
OMP_WAIT_POLICY=PASSIVE \
|
|
||||||
GOMP_SPINCOUNT=0 \
|
|
||||||
SHELL=/bin/bash \
|
SHELL=/bin/bash \
|
||||||
START_XFCE4=$START_XFCE4 \
|
|
||||||
START_PULSEAUDIO=$START_PULSEAUDIO \
|
|
||||||
LANG=$LANG \
|
LANG=$LANG \
|
||||||
LANGUAGE=$LANGUAGE \
|
LANGUAGE=$LANGUAGE \
|
||||||
LC_ALL=$LC_ALL \
|
LC_ALL=$LC_ALL \
|
||||||
SINGLE_APPLICATION=0 \
|
|
||||||
KASMVNC_AUTO_RECOVER=true \
|
|
||||||
PULSE_RUNTIME_PATH=/var/run/pulse \
|
PULSE_RUNTIME_PATH=/var/run/pulse \
|
||||||
DISTRO=$DISTRO \
|
DISTRO=$DISTRO
|
||||||
SDL_GAMECONTROLLERCONFIG="030000005e040000be02000014010000,XInput Controller,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b8,guide:b16,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:b12,dpdown:b13,dpleft:b14,dpright:b15,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7"
|
|
||||||
|
|
||||||
EXPOSE $VNC_PORT \
|
|
||||||
$NO_VNC_PORT \
|
|
||||||
$UPLOAD_PORT \
|
|
||||||
$AUDIO_PORT
|
|
||||||
|
|
||||||
WORKDIR $HOME
|
WORKDIR $HOME
|
||||||
RUN mkdir -p $HOME/Desktop
|
RUN mkdir -p $HOME/Desktop
|
||||||
@ -169,6 +139,62 @@ RUN touch $STARTUPDIR/wm.log \
|
|||||||
&& chown -R root:root /usr/local/bin \
|
&& chown -R root:root /usr/local/bin \
|
||||||
&& chown 1000:root /var/run/pulse
|
&& chown 1000:root /var/run/pulse
|
||||||
|
|
||||||
|
### Language Packs
|
||||||
|
COPY ./src/ubuntu/install/langpacks $INST_SCRIPTS/langpacks/
|
||||||
|
RUN bash $INST_SCRIPTS/langpacks/install_langpacks.sh && rm -rf $INST_SCRIPTS/langpacks/
|
||||||
|
|
||||||
|
### Cleanup Job
|
||||||
|
COPY ./src/ubuntu/install/cleanup $INST_SCRIPTS/cleanup/
|
||||||
|
RUN bash $INST_SCRIPTS/cleanup/cleanup.sh && rm -rf $INST_SCRIPTS/cleanup/
|
||||||
|
|
||||||
|
#### Runtime Stage ####
|
||||||
|
FROM scratch
|
||||||
|
COPY --from=base_layer / /
|
||||||
|
|
||||||
|
### Labels
|
||||||
|
LABEL "org.opencontainers.image.authors"='Kasm Tech "info@kasmweb.com"'
|
||||||
|
LABEL "com.kasmweb.image"="true"
|
||||||
|
|
||||||
|
### Environment config
|
||||||
|
ARG DISTRO=opensuse
|
||||||
|
ARG EXTRA_SH=noop.sh
|
||||||
|
ARG LANG='en_US.UTF-8'
|
||||||
|
ARG LANGUAGE='en_US:en'
|
||||||
|
ARG LC_ALL='en_US.UTF-8'
|
||||||
|
ARG START_PULSEAUDIO=1
|
||||||
|
ARG START_XFCE4=1
|
||||||
|
ENV AUDIO_PORT=4901 \
|
||||||
|
DISPLAY=:1 \
|
||||||
|
DISTRO=$DISTRO \
|
||||||
|
GOMP_SPINCOUNT=0 \
|
||||||
|
HOME=/home/kasm-user \
|
||||||
|
INST_SCRIPTS=/dockerstartup/install \
|
||||||
|
KASMVNC_AUTO_RECOVER=true \
|
||||||
|
KASM_VNC_PATH=/usr/share/kasmvnc \
|
||||||
|
LANG=$LANG \
|
||||||
|
LANGUAGE=$LANGUAGE \
|
||||||
|
LC_ALL=$LC_ALL \
|
||||||
|
LD_LIBRARY_PATH=/usr/local/lib/ \
|
||||||
|
MAX_FRAME_RATE=24 \
|
||||||
|
NO_VNC_PORT=6901 \
|
||||||
|
NVIDIA_DRIVER_CAPABILITIES=${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics,compat32,utility \
|
||||||
|
OMP_WAIT_POLICY=PASSIVE \
|
||||||
|
PULSE_RUNTIME_PATH=/var/run/pulse \
|
||||||
|
SDL_GAMECONTROLLERCONFIG="030000005e040000be02000014010000,XInput Controller,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b8,guide:b16,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:b12,dpdown:b13,dpleft:b14,dpright:b15,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7" \
|
||||||
|
SHELL=/bin/bash \
|
||||||
|
START_PULSEAUDIO=$START_PULSEAUDIO \
|
||||||
|
STARTUPDIR=/dockerstartup \
|
||||||
|
START_XFCE4=$START_XFCE4 \
|
||||||
|
TERM=xterm \
|
||||||
|
VNC_COL_DEPTH=24 \
|
||||||
|
VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7 -DLP_ClipDelay=0" \
|
||||||
|
VNC_PORT=5901 \
|
||||||
|
VNC_PORT=5901 \
|
||||||
|
VNC_PW=vncpassword \
|
||||||
|
VNC_RESOLUTION=1280x1024 \
|
||||||
|
VNC_RESOLUTION=1280x720 \
|
||||||
|
VNC_VIEW_ONLY_PW=vncviewonlypassword
|
||||||
|
|
||||||
USER 1000
|
USER 1000
|
||||||
|
|
||||||
ENTRYPOINT ["/dockerstartup/kasm_default_profile.sh", "/dockerstartup/vnc_startup.sh", "/dockerstartup/kasm_startup.sh"]
|
ENTRYPOINT ["/dockerstartup/kasm_default_profile.sh", "/dockerstartup/vnc_startup.sh", "/dockerstartup/kasm_startup.sh"]
|
||||||
|
@ -4,6 +4,12 @@ set -e
|
|||||||
|
|
||||||
no_proxy="localhost,127.0.0.1"
|
no_proxy="localhost,127.0.0.1"
|
||||||
|
|
||||||
|
# Set lang values
|
||||||
|
if [ "${LC_ALL}" != "en_US.UTF-8" ]; then
|
||||||
|
export LANG=${LC_ALL}
|
||||||
|
export LANGUAGE=${LC_ALL}
|
||||||
|
fi
|
||||||
|
|
||||||
# dict to store processes
|
# dict to store processes
|
||||||
declare -A KASM_PROCS
|
declare -A KASM_PROCS
|
||||||
|
|
||||||
|
@ -9,36 +9,30 @@ if [[ "${DISTRO}" == @(centos|oracle7) ]] ; then
|
|||||||
yum install -y epel-release
|
yum install -y epel-release
|
||||||
yum localinstall -y --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
|
yum localinstall -y --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
|
||||||
yum install -y ffmpeg pulseaudio-utils
|
yum install -y ffmpeg pulseaudio-utils
|
||||||
yum remove -y pulseaudio-module-bluetooth
|
sed -i '/Bluetooth/,+7d' /etc/pulse/default.pa
|
||||||
elif [ "${DISTRO}" == "oracle8" ]; then
|
elif [ "${DISTRO}" == "oracle8" ]; then
|
||||||
dnf install -y curl git
|
dnf install -y curl git
|
||||||
dnf config-manager --set-enabled ol8_codeready_builder
|
dnf config-manager --set-enabled ol8_codeready_builder
|
||||||
dnf localinstall -y --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
|
dnf localinstall -y --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
|
||||||
dnf install -y ffmpeg pulseaudio-utils
|
dnf install -y ffmpeg pulseaudio-utils
|
||||||
dnf clean all
|
|
||||||
elif [ "${DISTRO}" == "oracle9" ]; then
|
elif [ "${DISTRO}" == "oracle9" ]; then
|
||||||
dnf install -y curl git
|
dnf install -y curl git
|
||||||
dnf config-manager --set-enabled ol9_codeready_builder
|
dnf config-manager --set-enabled ol9_codeready_builder
|
||||||
dnf localinstall -y --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm
|
dnf localinstall -y --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm
|
||||||
dnf install -y --allowerasing ffmpeg pulseaudio-utils pulseaudio
|
dnf install -y --allowerasing ffmpeg pulseaudio-utils pulseaudio
|
||||||
dnf clean all
|
|
||||||
elif [[ "${DISTRO}" == @(rockylinux9|almalinux9) ]]; then
|
elif [[ "${DISTRO}" == @(rockylinux9|almalinux9) ]]; then
|
||||||
dnf localinstall -y --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm
|
dnf localinstall -y --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm
|
||||||
dnf install -y --allowerasing ffmpeg pulseaudio-utils pulseaudio
|
dnf install -y --allowerasing ffmpeg pulseaudio-utils pulseaudio
|
||||||
dnf clean all
|
|
||||||
elif [[ "${DISTRO}" == @(rockylinux8|almalinux8) ]]; then
|
elif [[ "${DISTRO}" == @(rockylinux8|almalinux8) ]]; then
|
||||||
dnf localinstall -y --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
|
dnf localinstall -y --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
|
||||||
dnf install -y --allowerasing ffmpeg pulseaudio-utils pulseaudio
|
dnf install -y --allowerasing ffmpeg pulseaudio-utils pulseaudio
|
||||||
dnf clean all
|
|
||||||
elif [ "${DISTRO}" == "fedora37" ]; then
|
elif [ "${DISTRO}" == "fedora37" ]; then
|
||||||
dnf install -y curl git
|
dnf install -y curl git
|
||||||
dnf localinstall -y --nogpgcheck https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-37.noarch.rpm
|
dnf localinstall -y --nogpgcheck https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-37.noarch.rpm
|
||||||
dnf install -y --allowerasing ffmpeg pulseaudio pulseaudio-utils
|
dnf install -y --allowerasing ffmpeg pulseaudio pulseaudio-utils
|
||||||
dnf clean all
|
|
||||||
elif [ "${DISTRO}" == "opensuse" ]; then
|
elif [ "${DISTRO}" == "opensuse" ]; then
|
||||||
zypper install -ny curl git
|
zypper install -ny curl git
|
||||||
zypper install -yn ffmpeg pulseaudio-utils
|
zypper install -yn ffmpeg pulseaudio-utils
|
||||||
zypper clean --all
|
|
||||||
elif [ "${DISTRO}" == "alpine" ]; then
|
elif [ "${DISTRO}" == "alpine" ]; then
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
ffmpeg \
|
ffmpeg \
|
||||||
|
56
src/ubuntu/install/cleanup/cleanup.sh
Normal file
56
src/ubuntu/install/cleanup/cleanup.sh
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
# Distro package cleanup
|
||||||
|
if [[ "${DISTRO}" == @(centos|oracle7) ]] ; then
|
||||||
|
yum clean all
|
||||||
|
elif [[ "${DISTRO}" == @(almalinux8|almalinux9|fedora37|oracle8|oracle9|rockylinux8|rockylinux9) ]]; then
|
||||||
|
dnf clean all
|
||||||
|
elif [ "${DISTRO}" == "opensuse" ]; then
|
||||||
|
zypper clean --all
|
||||||
|
elif [[ "${DISTRO}" == @(debian|kali|parrotos5|ubuntu) ]]; then
|
||||||
|
apt-get autoremove -y
|
||||||
|
apt-get autoclean -y
|
||||||
|
fi
|
||||||
|
|
||||||
|
# File cleanups
|
||||||
|
rm -Rf \
|
||||||
|
/home/kasm-default-profile/.cache \
|
||||||
|
/home/kasm-user/.cache \
|
||||||
|
/tmp \
|
||||||
|
/var/lib/apt/lists/* \
|
||||||
|
/var/tmp/*
|
||||||
|
mkdir -m 1777 /tmp
|
||||||
|
|
||||||
|
# Services we don't want to start disable in xfce init
|
||||||
|
rm -f \
|
||||||
|
/etc/xdg/autostart/blueman.desktop \
|
||||||
|
/etc/xdg/autostart/geoclue-demo-agent.desktop \
|
||||||
|
/etc/xdg/autostart/gnome-keyring-pkcs11.desktop \
|
||||||
|
/etc/xdg/autostart/gnome-keyring-secrets.desktop \
|
||||||
|
/etc/xdg/autostart/gnome-keyring-ssh.desktop \
|
||||||
|
/etc/xdg/autostart/gnome-shell-overrides-migration.desktop \
|
||||||
|
/etc/xdg/autostart/light-locker.desktop \
|
||||||
|
/etc/xdg/autostart/org.gnome.Evolution-alarm-notify.desktop \
|
||||||
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.A11ySettings.desktop \
|
||||||
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.Color.desktop \
|
||||||
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.Datetime.desktop \
|
||||||
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.Housekeeping.desktop \
|
||||||
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.Keyboard.desktop \
|
||||||
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.MediaKeys.desktop \
|
||||||
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.Power.desktop \
|
||||||
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.PrintNotifications.desktop \
|
||||||
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.Rfkill.desktop \
|
||||||
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.ScreensaverProxy.desktop \
|
||||||
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.Sharing.desktop \
|
||||||
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.Smartcard.desktop \
|
||||||
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.Sound.desktop \
|
||||||
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.UsbProtection.desktop \
|
||||||
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.Wacom.desktop \
|
||||||
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.Wwan.desktop \
|
||||||
|
/etc/xdg/autostart/org.gnome.SettingsDaemon.XSettings.desktop \
|
||||||
|
/etc/xdg/autostart/pulseaudio.desktop \
|
||||||
|
/etc/xdg/autostart/xfce4-power-manager.desktop \
|
||||||
|
/etc/xdg/autostart/xfce4-screensaver.desktop \
|
||||||
|
/etc/xdg/autostart/xfce-polkit.desktop \
|
||||||
|
/etc/xdg/autostart/xscreensaver.desktop
|
@ -15,11 +15,3 @@ fi
|
|||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y salt-common
|
apt-get install -y salt-common
|
||||||
git clone https://github.com/REMnux/salt-states.git /srv/salt
|
git clone https://github.com/REMnux/salt-states.git /srv/salt
|
||||||
|
|
||||||
# Cleanup
|
|
||||||
apt-get autoclean
|
|
||||||
rm -rf \
|
|
||||||
/var/lib/apt/lists/* \
|
|
||||||
/var/tmp/* \
|
|
||||||
/tmp/*
|
|
||||||
|
|
||||||
|
@ -10,20 +10,20 @@ LOCALES="aa_DJ aa_ER aa_ET af_ZA am_ET an_ES ar_AE ar_BH ar_DZ ar_EG ar_IN ar_IQ
|
|||||||
|
|
||||||
echo "Installing fonts and languages"
|
echo "Installing fonts and languages"
|
||||||
if [[ "${DISTRO}" == "oracle7" ]]; then
|
if [[ "${DISTRO}" == "oracle7" ]]; then
|
||||||
|
yum-config-manager --enable ol7_optional_latest
|
||||||
yum install -y \
|
yum install -y \
|
||||||
google-noto-emoji-fonts \
|
google-noto-emoji-fonts \
|
||||||
|
google-noto-sans-cjk-fonts \
|
||||||
google-noto-sans-fonts
|
google-noto-sans-fonts
|
||||||
yum clean all
|
|
||||||
elif [[ "${DISTRO}" == "centos" ]]; then
|
elif [[ "${DISTRO}" == "centos" ]]; then
|
||||||
yum install -y \
|
yum install -y \
|
||||||
google-noto-emoji-fonts \
|
google-noto-emoji-fonts \
|
||||||
google-noto-sans-cjk-fonts \
|
google-noto-sans-cjk-fonts \
|
||||||
google-noto-sans-fonts
|
google-noto-sans-fonts
|
||||||
yum clean all
|
elif [[ "${DISTRO}" == "fedora37" ]]; then
|
||||||
elif [[ "${DISTRO}" == @(fedora37|oracle8|oracle9|rockylinux9|rockylinux8|almalinux9|almalinux8) ]]; then
|
|
||||||
dnf install -y \
|
dnf install -y \
|
||||||
glibc-locale-source \
|
glibc-locale-source \
|
||||||
google-noto-cjk-fonts-common \
|
google-noto-cjk-fonts \
|
||||||
google-noto-emoji-fonts \
|
google-noto-emoji-fonts \
|
||||||
google-noto-sans-fonts \
|
google-noto-sans-fonts \
|
||||||
${LOCALES_RHEL}
|
${LOCALES_RHEL}
|
||||||
@ -31,13 +31,33 @@ elif [[ "${DISTRO}" == @(fedora37|oracle8|oracle9|rockylinux9|rockylinux8|almali
|
|||||||
echo "Generating Locale for ${LOCALE}"
|
echo "Generating Locale for ${LOCALE}"
|
||||||
localedef -i ${LOCALE} -f UTF-8 ${LOCALE}.UTF-8
|
localedef -i ${LOCALE} -f UTF-8 ${LOCALE}.UTF-8
|
||||||
done
|
done
|
||||||
dnf clean all
|
elif [[ "${DISTRO}" == @(oracle8|oracle9|rockylinux9|rockylinux8|almalinux9|almalinux8) ]]; then
|
||||||
|
dnf install -y \
|
||||||
|
glibc-locale-source \
|
||||||
|
google-noto-emoji-fonts \
|
||||||
|
google-noto-sans-cjk-ttc-fonts \
|
||||||
|
google-noto-sans-fonts \
|
||||||
|
${LOCALES_RHEL}
|
||||||
|
for LOCALE in ${LOCALES}; do
|
||||||
|
echo "Generating Locale for ${LOCALE}"
|
||||||
|
localedef -i ${LOCALE} -f UTF-8 ${LOCALE}.UTF-8
|
||||||
|
done
|
||||||
elif [ "${DISTRO}" == "opensuse" ]; then
|
elif [ "${DISTRO}" == "opensuse" ]; then
|
||||||
zypper install -ny wqy-zenhei-fonts
|
zypper addrepo -G \
|
||||||
zypper clean --all
|
https://ftp.lysator.liu.se/pub/opensuse/repositories/M17N:/fonts/openSUSE_Leap_15.3/ fonts-x86_64
|
||||||
|
zypper install -ny \
|
||||||
|
glibc-i18ndata \
|
||||||
|
glibc-locale \
|
||||||
|
google-noto-coloremoji-fonts \
|
||||||
|
google-noto-sans-cjk-fonts \
|
||||||
|
noto-sans-fonts
|
||||||
|
for LOCALE in ${LOCALES}; do
|
||||||
|
echo "Generating Locale for ${LOCALE}"
|
||||||
|
localedef -i ${LOCALE} -f UTF-8 ${LOCALE}.UTF-8
|
||||||
|
done
|
||||||
elif [ "${DISTRO}" == "alpine" ]; then
|
elif [ "${DISTRO}" == "alpine" ]; then
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
font-noto \
|
font-noto-all \
|
||||||
font-noto-cjk \
|
font-noto-cjk \
|
||||||
font-noto-emoji
|
font-noto-emoji
|
||||||
elif [[ "${DISTRO}" == @(debian|parrotos5|kali) ]]; then
|
elif [[ "${DISTRO}" == @(debian|parrotos5|kali) ]]; then
|
||||||
@ -51,11 +71,6 @@ elif [[ "${DISTRO}" == @(debian|parrotos5|kali) ]]; then
|
|||||||
echo "Generating Locale for ${LOCALE}"
|
echo "Generating Locale for ${LOCALE}"
|
||||||
localedef -i ${LOCALE} -f UTF-8 ${LOCALE}.UTF-8
|
localedef -i ${LOCALE} -f UTF-8 ${LOCALE}.UTF-8
|
||||||
done
|
done
|
||||||
apt-get autoclean
|
|
||||||
rm -rf \
|
|
||||||
/var/lib/apt/lists/* \
|
|
||||||
/var/tmp/* \
|
|
||||||
/tmp/*
|
|
||||||
elif $(grep -q Bionic /etc/os-release); then
|
elif $(grep -q Bionic /etc/os-release); then
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
@ -64,11 +79,6 @@ elif $(grep -q Bionic /etc/os-release); then
|
|||||||
fonts-noto-hinted \
|
fonts-noto-hinted \
|
||||||
fonts-noto-unhinted \
|
fonts-noto-unhinted \
|
||||||
${LOCALES_UBUNTU}
|
${LOCALES_UBUNTU}
|
||||||
apt-get autoclean
|
|
||||||
rm -rf \
|
|
||||||
/var/lib/apt/lists/* \
|
|
||||||
/var/tmp/* \
|
|
||||||
/tmp/*
|
|
||||||
else
|
else
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
@ -76,9 +86,4 @@ else
|
|||||||
fonts-noto-cjk \
|
fonts-noto-cjk \
|
||||||
fonts-noto-color-emoji \
|
fonts-noto-color-emoji \
|
||||||
${LOCALES_UBUNTU}
|
${LOCALES_UBUNTU}
|
||||||
apt-get autoclean
|
|
||||||
rm -rf \
|
|
||||||
/var/lib/apt/lists/* \
|
|
||||||
/var/tmp/* \
|
|
||||||
/tmp/*
|
|
||||||
fi
|
fi
|
||||||
|
@ -95,7 +95,6 @@ elif [[ "${DISTRO}" == @(oracle8|oracle9|rockylinux9|rockylinux8|almalinux8|alma
|
|||||||
dnf localinstall -y kasmvncserver.rpm
|
dnf localinstall -y kasmvncserver.rpm
|
||||||
dnf install -y mesa-dri-drivers
|
dnf install -y mesa-dri-drivers
|
||||||
rm kasmvncserver.rpm
|
rm kasmvncserver.rpm
|
||||||
dnf clean all
|
|
||||||
elif [[ "${DISTRO}" == "fedora37" ]] ; then
|
elif [[ "${DISTRO}" == "fedora37" ]] ; then
|
||||||
dnf install -y xorg-x11-drv-amdgpu xorg-x11-drv-ati
|
dnf install -y xorg-x11-drv-amdgpu xorg-x11-drv-ati
|
||||||
if [ "${BUILD_ARCH}" == "x86_64" ]; then
|
if [ "${BUILD_ARCH}" == "x86_64" ]; then
|
||||||
@ -105,7 +104,6 @@ elif [[ "${DISTRO}" == "fedora37" ]] ; then
|
|||||||
dnf localinstall -y --allowerasing kasmvncserver.rpm
|
dnf localinstall -y --allowerasing kasmvncserver.rpm
|
||||||
dnf install -y mesa-dri-drivers
|
dnf install -y mesa-dri-drivers
|
||||||
rm kasmvncserver.rpm
|
rm kasmvncserver.rpm
|
||||||
dnf clean all
|
|
||||||
elif [[ "${DISTRO}" == "opensuse" ]] ; then
|
elif [[ "${DISTRO}" == "opensuse" ]] ; then
|
||||||
mkdir -p /etc/pki/tls/private
|
mkdir -p /etc/pki/tls/private
|
||||||
wget "${BUILD_URL}" -O kasmvncserver.rpm
|
wget "${BUILD_URL}" -O kasmvncserver.rpm
|
||||||
@ -117,7 +115,6 @@ elif [[ "${DISTRO}" == "opensuse" ]] ; then
|
|||||||
fi
|
fi
|
||||||
zypper install -y --allow-unsigned-rpm ./kasmvncserver.rpm
|
zypper install -y --allow-unsigned-rpm ./kasmvncserver.rpm
|
||||||
rm kasmvncserver.rpm
|
rm kasmvncserver.rpm
|
||||||
zypper clean --all
|
|
||||||
elif [[ "${DISTRO}" == "alpine" ]] ; then
|
elif [[ "${DISTRO}" == "alpine" ]] ; then
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
libgomp \
|
libgomp \
|
||||||
@ -158,11 +155,6 @@ else
|
|||||||
apt-get install -y gettext ssl-cert libxfont2
|
apt-get install -y gettext ssl-cert libxfont2
|
||||||
apt-get install -y /tmp/kasmvncserver.deb
|
apt-get install -y /tmp/kasmvncserver.deb
|
||||||
rm -f /tmp/kasmvncserver.deb
|
rm -f /tmp/kasmvncserver.deb
|
||||||
apt-get autoclean
|
|
||||||
rm -rf \
|
|
||||||
/var/lib/apt/lists/* \
|
|
||||||
/var/tmp/* \
|
|
||||||
/tmp/*
|
|
||||||
fi
|
fi
|
||||||
#mkdir $KASM_VNC_PATH/certs
|
#mkdir $KASM_VNC_PATH/certs
|
||||||
mkdir -p $KASM_VNC_PATH/www/Downloads
|
mkdir -p $KASM_VNC_PATH/www/Downloads
|
||||||
|
19
src/ubuntu/install/langpacks/install_langpacks.sh
Normal file
19
src/ubuntu/install/langpacks/install_langpacks.sh
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
if [ "${DISTRO}" == "opensuse" ]; then
|
||||||
|
zypper search -t package "*-lang" | awk '{print $2}' > /tmp/lang-packages
|
||||||
|
rpm -qa --queryformat "%{NAME}\n" > /tmp/installed-packages
|
||||||
|
to_install=""
|
||||||
|
while read p; do
|
||||||
|
if grep -qw "^${p}-lang$" /tmp/lang-packages; then
|
||||||
|
to_install="$to_install ${p}-lang"
|
||||||
|
fi
|
||||||
|
done </tmp/installed-packages
|
||||||
|
if [ -n "$to_install" ]; then
|
||||||
|
zypper -n install $to_install
|
||||||
|
fi
|
||||||
|
elif [ "${DISTRO}" == "alpine" ]; then
|
||||||
|
apk add --no-cache \
|
||||||
|
lang
|
||||||
|
fi
|
20
src/ubuntu/install/package_rules/package_rules.sh
Normal file
20
src/ubuntu/install/package_rules/package_rules.sh
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
if [[ "${DISTRO}" == "ubuntu" ]] ; then
|
||||||
|
sed -i \
|
||||||
|
'/locale/d' \
|
||||||
|
/etc/dpkg/dpkg.cfg.d/excludes
|
||||||
|
elif [[ "${DISTRO}" == "debian" ]] ; then
|
||||||
|
sed -i \
|
||||||
|
'/locale/d' \
|
||||||
|
/etc/dpkg/dpkg.cfg.d/docker
|
||||||
|
elif [[ "${DISTRO}" == @(almalinux8|almalinux9|fedora37|oracle8|oracle9|rockylinux8|rockylinux9) ]]; then
|
||||||
|
rm -f /etc/rpm/macros.image-language-conf
|
||||||
|
elif [[ "${DISTRO}" == @(centos|oracle7) ]]; then
|
||||||
|
sed -i \
|
||||||
|
'/override_install_langs/d' \
|
||||||
|
/etc/yum.conf
|
||||||
|
yum reinstall -y \
|
||||||
|
glibc-common
|
||||||
|
fi
|
@ -90,19 +90,12 @@ if [[ "${DISTRO}" == @(centos|oracle7) ]]; then
|
|||||||
yum install -y nss-tools
|
yum install -y nss-tools
|
||||||
elif [[ "${DISTRO}" == @(oracle8|fedora37|oracle9|rockylinux9|rockylinux8|almalinux9|almalinux8) ]]; then
|
elif [[ "${DISTRO}" == @(oracle8|fedora37|oracle9|rockylinux9|rockylinux8|almalinux9|almalinux8) ]]; then
|
||||||
dnf install -y nss-tools
|
dnf install -y nss-tools
|
||||||
dnf clean all
|
|
||||||
elif [ "${DISTRO}" == "opensuse" ]; then
|
elif [ "${DISTRO}" == "opensuse" ]; then
|
||||||
zypper install -yn mozilla-nss-tools
|
zypper install -yn mozilla-nss-tools
|
||||||
zypper clean --all
|
|
||||||
elif [ "${DISTRO}" == "alpine" ]; then
|
elif [ "${DISTRO}" == "alpine" ]; then
|
||||||
apk add --no-cache nss-tools
|
apk add --no-cache nss-tools
|
||||||
else
|
else
|
||||||
apt-get install -y libnss3-tools
|
apt-get install -y libnss3-tools
|
||||||
apt-get autoclean
|
|
||||||
rm -rf \
|
|
||||||
/var/lib/apt/lists/* \
|
|
||||||
/var/tmp/* \
|
|
||||||
/tmp/*
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Create an empty cert9.db. This will be used by applications like Chrome
|
# Create an empty cert9.db. This will be used by applications like Chrome
|
||||||
|
@ -6,11 +6,9 @@ if [[ "${DISTRO}" == @(centos|oracle7) ]] ; then
|
|||||||
yum install -y vim wget net-tools bzip2 python3 ca-certificates
|
yum install -y vim wget net-tools bzip2 python3 ca-certificates
|
||||||
elif [[ "${DISTRO}" == @(fedora37|oracle8|oracle9|rockylinux9|rockylinux8|almalinux8|almalinux9) ]]; then
|
elif [[ "${DISTRO}" == @(fedora37|oracle8|oracle9|rockylinux9|rockylinux8|almalinux8|almalinux9) ]]; then
|
||||||
dnf install -y wget net-tools bzip2 python3 tar vim hostname procps-ng
|
dnf install -y wget net-tools bzip2 python3 tar vim hostname procps-ng
|
||||||
dnf clean all
|
|
||||||
elif [ "${DISTRO}" == "opensuse" ]; then
|
elif [ "${DISTRO}" == "opensuse" ]; then
|
||||||
sed -i 's/download.opensuse.org/mirrorcache-us.opensuse.org/g' /etc/zypp/repos.d/*.repo
|
sed -i 's/download.opensuse.org/mirrorcache-us.opensuse.org/g' /etc/zypp/repos.d/*.repo
|
||||||
zypper install -yn wget net-tools bzip2 python3 tar vim gzip iputils
|
zypper install -yn wget net-tools bzip2 python3 tar vim gzip iputils
|
||||||
zypper clean --all
|
|
||||||
elif [ "${DISTRO}" == "alpine" ]; then
|
elif [ "${DISTRO}" == "alpine" ]; then
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
@ -31,13 +29,8 @@ else
|
|||||||
# Update tzdata noninteractive (otherwise our script is hung on user input later).
|
# Update tzdata noninteractive (otherwise our script is hung on user input later).
|
||||||
DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata
|
DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata
|
||||||
apt-get install -y vim wget net-tools locales bzip2 wmctrl software-properties-common mesa-utils
|
apt-get install -y vim wget net-tools locales bzip2 wmctrl software-properties-common mesa-utils
|
||||||
apt-get autoclean
|
|
||||||
rm -rf \
|
|
||||||
/var/lib/apt/lists/* \
|
|
||||||
/var/tmp/* \
|
|
||||||
/tmp/*
|
|
||||||
|
|
||||||
echo "generate locales für en_US.UTF-8"
|
echo "generate locales for en_US.UTF-8"
|
||||||
locale-gen en_US.UTF-8
|
locale-gen en_US.UTF-8
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -46,9 +39,4 @@ if [ "$DISTRO" = "ubuntu" ]; then
|
|||||||
add-apt-repository ppa:kisak/turtle
|
add-apt-repository ppa:kisak/turtle
|
||||||
apt-get update
|
apt-get update
|
||||||
apt full-upgrade -y
|
apt full-upgrade -y
|
||||||
apt-get autoclean
|
|
||||||
rm -rf \
|
|
||||||
/var/lib/apt/lists/* \
|
|
||||||
/var/tmp/* \
|
|
||||||
/tmp/*
|
|
||||||
fi
|
fi
|
||||||
|
@ -33,9 +33,4 @@ if [ "$DISTRO" = "ubuntu" ]; then
|
|||||||
|
|
||||||
apt install -f -y
|
apt install -f -y
|
||||||
rm -rf $INST_SCRIPTS/virtualgl/
|
rm -rf $INST_SCRIPTS/virtualgl/
|
||||||
apt-get autoclean
|
|
||||||
rm -rf \
|
|
||||||
/var/lib/apt/lists/* \
|
|
||||||
/var/tmp/* \
|
|
||||||
/tmp/*
|
|
||||||
fi
|
fi
|
||||||
|
@ -2,10 +2,6 @@
|
|||||||
### every exit != 0 fails the script
|
### every exit != 0 fails the script
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
get_rid_of_policykit_error() {
|
|
||||||
rm -f /etc/xdg/autostart/xfce-polkit.desktop
|
|
||||||
}
|
|
||||||
|
|
||||||
disable_epel_nss_wrapper_that_breaks_firefox() {
|
disable_epel_nss_wrapper_that_breaks_firefox() {
|
||||||
yum-config-manager --setopt=epel.exclude=nss_wrapper --save
|
yum-config-manager --setopt=epel.exclude=nss_wrapper --save
|
||||||
}
|
}
|
||||||
@ -69,9 +65,25 @@ if [ "${DISTRO}" == "kali" ]; then
|
|||||||
xfce4-taskmanager \
|
xfce4-taskmanager \
|
||||||
xfce4-whiskermenu-plugin
|
xfce4-whiskermenu-plugin
|
||||||
elif [[ "$DISTRO" = @(ubuntu|debian) ]]; then
|
elif [[ "$DISTRO" = @(ubuntu|debian) ]]; then
|
||||||
apt-get install -y dbus-x11 supervisor xfce4 xfce4-terminal xterm xclip
|
apt-get install -y \
|
||||||
|
dbus-x11 \
|
||||||
|
supervisor \
|
||||||
|
xfce4 \
|
||||||
|
xfce4-terminal \
|
||||||
|
xterm \
|
||||||
|
xclip
|
||||||
elif [[ "$DISTRO" = "parrotos5" ]]; then
|
elif [[ "$DISTRO" = "parrotos5" ]]; then
|
||||||
apt-get install -y maia-icon-theme parrot-themes parrot-wallpapers desktop-base xclip dbus-x11 supervisor xfce4 xfce4-terminal parrot-menu
|
apt-get install -y \
|
||||||
|
dbus-x11 \
|
||||||
|
desktop-base \
|
||||||
|
maia-icon-theme \
|
||||||
|
parrot-menu \
|
||||||
|
parrot-themes \
|
||||||
|
parrot-wallpapers \
|
||||||
|
supervisor \
|
||||||
|
xclip \
|
||||||
|
xfce4 \
|
||||||
|
xfce4-terminal
|
||||||
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
|
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
|
||||||
locale-gen
|
locale-gen
|
||||||
elif [[ "${DISTRO}" == @(centos|oracle7) ]]; then
|
elif [[ "${DISTRO}" == @(centos|oracle7) ]]; then
|
||||||
@ -82,47 +94,64 @@ elif [[ "${DISTRO}" == @(centos|oracle7) ]]; then
|
|||||||
fi
|
fi
|
||||||
disable_epel_nss_wrapper_that_breaks_firefox
|
disable_epel_nss_wrapper_that_breaks_firefox
|
||||||
yum groupinstall xfce -y
|
yum groupinstall xfce -y
|
||||||
yum install -y wmctrl xset xclip xfce4-notifyd
|
yum install -y \
|
||||||
get_rid_of_policykit_error
|
wmctrl \
|
||||||
yum remove -y xfce4-power-manager
|
xclip \
|
||||||
|
xfce4-notifyd \
|
||||||
|
xset
|
||||||
elif [ "$DISTRO" = "oracle8" ]; then
|
elif [ "$DISTRO" = "oracle8" ]; then
|
||||||
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
|
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
|
||||||
dnf group install xfce -y
|
dnf group install xfce -y
|
||||||
dnf install -y wmctrl xset xclip xfce4-notifyd
|
dnf install -y \
|
||||||
get_rid_of_policykit_error
|
wmctrl \
|
||||||
dnf remove -y xfce4-power-manager xfce4-screensaver
|
xclip \
|
||||||
|
xfce4-notifyd \
|
||||||
|
xset
|
||||||
elif [ "$DISTRO" = "oracle9" ]; then
|
elif [ "$DISTRO" = "oracle9" ]; then
|
||||||
dnf config-manager --set-enabled ol9_codeready_builder
|
dnf config-manager --set-enabled ol9_codeready_builder
|
||||||
dnf config-manager --set-enabled ol9_distro_builder
|
dnf config-manager --set-enabled ol9_distro_builder
|
||||||
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
|
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
|
||||||
dnf group install xfce -y -x oracle-backgrounds
|
dnf group install xfce -y -x oracle-backgrounds
|
||||||
dnf install -y wmctrl xset xclip xfce4-notifyd dbus-x11
|
dnf install -y \
|
||||||
get_rid_of_policykit_error
|
dbus-x11 \
|
||||||
dnf remove -y xfce4-power-manager xfce4-screensaver
|
wmctrl \
|
||||||
|
xclip \
|
||||||
|
xfce4-notifyd \
|
||||||
|
xset
|
||||||
elif [[ "$DISTRO" == @(rockylinux9|almalinux9) ]]; then
|
elif [[ "$DISTRO" == @(rockylinux9|almalinux9) ]]; then
|
||||||
dnf config-manager --set-enabled crb
|
dnf config-manager --set-enabled crb
|
||||||
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
|
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
|
||||||
dnf group install xfce -y
|
dnf group install xfce -y
|
||||||
dnf install -y wmctrl xset xclip xfce4-notifyd dbus-x11
|
dnf install -y \
|
||||||
dnf remove -y xfce4-power-manager xfce4-screensaver
|
dbus-x11 \
|
||||||
echo "exit 0" > /usr/libexec/xfce-polkit
|
wmctrl \
|
||||||
|
xclip \
|
||||||
|
xfce4-notifyd \
|
||||||
|
xset
|
||||||
elif [[ "$DISTRO" == @(rockylinux8|almalinux8) ]]; then
|
elif [[ "$DISTRO" == @(rockylinux8|almalinux8) ]]; then
|
||||||
dnf config-manager --set-enabled powertools
|
dnf config-manager --set-enabled powertools
|
||||||
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
|
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
|
||||||
dnf group install xfce -y
|
dnf group install xfce -y
|
||||||
dnf install -y wmctrl xset xclip xfce4-notifyd dbus-x11
|
dnf install -y \
|
||||||
dnf remove -y xfce4-power-manager xfce4-screensaver
|
dbus-x11 \
|
||||||
echo "exit 0" > /usr/libexec/xfce-polkit
|
wmctrl \
|
||||||
|
xclip \
|
||||||
|
xfce4-notifyd \
|
||||||
|
xset
|
||||||
elif [ "$DISTRO" = "opensuse" ]; then
|
elif [ "$DISTRO" = "opensuse" ]; then
|
||||||
zypper install -yn -t pattern xfce
|
zypper install -yn -t pattern xfce
|
||||||
zypper install -yn xset xfce4-terminal xclip xfce4-notifyd
|
zypper install -yn \
|
||||||
zypper remove -yn xfce4-power-manager
|
xclip \
|
||||||
get_rid_of_policykit_error
|
xfce4-notifyd \
|
||||||
|
xfce4-terminal \
|
||||||
|
xset
|
||||||
elif [ "$DISTRO" = "fedora37" ]; then
|
elif [ "$DISTRO" = "fedora37" ]; then
|
||||||
dnf group install xfce -y
|
dnf group install xfce -y
|
||||||
dnf install -y wmctrl xset xclip xfce4-notifyd
|
dnf install -y \
|
||||||
get_rid_of_policykit_error
|
wmctrl \
|
||||||
dnf remove -y xfce4-power-manager xfce4-screensaver
|
xclip \
|
||||||
|
xfce4-notifyd \
|
||||||
|
xset
|
||||||
elif [ "$DISTRO" = "alpine" ]; then
|
elif [ "$DISTRO" = "alpine" ]; then
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
dbus-x11 \
|
dbus-x11 \
|
||||||
@ -139,30 +168,7 @@ elif [ "$DISTRO" = "alpine" ]; then
|
|||||||
rm -f /usr/share/xfce4/panel/plugins/power-manager-plugin.desktop
|
rm -f /usr/share/xfce4/panel/plugins/power-manager-plugin.desktop
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if grep -q Jammy /etc/os-release; then
|
if [[ "${DISTRO}" != @(centos|oracle7|oracle8|fedora37|oracle9|rockylinux9|rockylinux8|almalinux8|almalinux9|alpine) ]]; then
|
||||||
apt-get purge -y xfce4-screensaver
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "${DISTRO}" == @(centos|oracle7) ]]; then
|
|
||||||
yum clean all
|
|
||||||
elif [[ "${DISTRO}" == @(fedora37|oracle8|oracle9|rockylinux9|rockylinux8|almalinux9|almalinux8) ]]; then
|
|
||||||
dnf clean all
|
|
||||||
elif [ "${DISTRO}" == "opensuse" ]; then
|
|
||||||
zypper clean --all
|
|
||||||
elif [ "${DISTRO}" == "alpine" ]; then
|
|
||||||
rm -Rf /tmp/*
|
|
||||||
else
|
|
||||||
apt-get purge -y pm-utils xscreensaver*
|
|
||||||
apt-get autoclean
|
|
||||||
rm -rf \
|
|
||||||
/var/lib/apt/lists/* \
|
|
||||||
/var/tmp/* \
|
|
||||||
/tmp/*
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "${DISTRO}" == @(centos|oracle7|oracle8|fedora37|oracle9|rockylinux9|rockylinux8|almalinux8|almalinux9|alpine) ]]; then
|
|
||||||
echo ""
|
|
||||||
else
|
|
||||||
replace_default_xinit
|
replace_default_xinit
|
||||||
if [ "${START_XFCE4}" == "1" ] ; then
|
if [ "${START_XFCE4}" == "1" ] ; then
|
||||||
replace_default_99x11_common_start
|
replace_default_99x11_common_start
|
||||||
|
Loading…
Reference in New Issue
Block a user