mirror of
https://github.com/kasmtech/workspaces-core-images.git
synced 2024-11-07 08:04:06 +01:00
Merge branch 'feature/KASM-2437-opensuse-15-images' into 'develop'
Resolve KASM-2437 "Feature/ opensuse 15 images" Closes KASM-2437 See merge request kasm-technologies/internal/workspaces-core-images!49
This commit is contained in:
commit
cb9983a1f5
148
.gitlab-ci.yml
148
.gitlab-ci.yml
@ -168,6 +168,61 @@ build_centos:
|
||||
except:
|
||||
- schedules
|
||||
|
||||
build_oracle_7:
|
||||
stage: build
|
||||
script:
|
||||
- docker build -t ${ORG_NAME}/core-oracle-7-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-oracle-7-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-oracle-7:$SANITIZED_BRANCH -t ${ORG_NAME}/core-oracle-7:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="oraclelinux:7" --build-arg START_PULSEAUDIO="1" --build-arg START_XFCE4="1" --build-arg DISTRO="oracle7" --build-arg LANG="" --build-arg LANGUAGE="" --build-arg LC_ALL="" -f dockerfile-kasm-core-oracle .
|
||||
- docker push ${ORG_NAME}/core-oracle-7-private:$SANITIZED_BRANCH
|
||||
- docker push ${ORG_NAME}/core-oracle-7-private:$SANITIZED_ROLLING_BRANCH
|
||||
- docker push ${ORG_NAME}/core-oracle-7:$SANITIZED_BRANCH
|
||||
- docker push ${ORG_NAME}/core-oracle-7:$SANITIZED_ROLLING_BRANCH
|
||||
only:
|
||||
- develop
|
||||
- /^release\/.*$/
|
||||
except:
|
||||
- schedules
|
||||
tags:
|
||||
- aws-autoscale
|
||||
|
||||
build_oracle_8:
|
||||
stage: build
|
||||
image: ${ORG_NAME}/docker-buildx-private:develop
|
||||
variables:
|
||||
BUILD_PLATFORMS: "linux/amd64,linux/arm64"
|
||||
script:
|
||||
# get qemu ready
|
||||
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
# prep the buildx env
|
||||
- docker buildx create --use
|
||||
# build for multiple architectures
|
||||
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-oracle-8-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-oracle-8-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-oracle-8:$SANITIZED_BRANCH -t ${ORG_NAME}/core-oracle-8:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg START_XFCE4=1 --build-arg BASE_IMAGE="oraclelinux:8" --build-arg DISTRO="oracle8" -f dockerfile-kasm-core-oracle .
|
||||
only:
|
||||
- develop
|
||||
- /^release\/.*$/
|
||||
except:
|
||||
- schedules
|
||||
tags:
|
||||
- aws-autoscale
|
||||
|
||||
build_opensuse_15:
|
||||
stage: build
|
||||
image: ${ORG_NAME}/docker-buildx-private:develop
|
||||
variables:
|
||||
BUILD_PLATFORMS: "linux/amd64,linux/arm64"
|
||||
script:
|
||||
# get qemu ready
|
||||
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
# prep the buildx env
|
||||
- docker buildx create --use
|
||||
# build for multiple architectures
|
||||
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-opensuse-15-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-opensuse-15-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-opensuse-15:$SANITIZED_BRANCH -t ${ORG_NAME}/core-opensuse-15:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg START_XFCE4=1 --build-arg BASE_IMAGE="opensuse/leap:15" --build-arg DISTRO="opensuse" -f dockerfile-kasm-core-suse .
|
||||
only:
|
||||
- develop
|
||||
- /^release\/.*$/
|
||||
except:
|
||||
- schedules
|
||||
tags:
|
||||
- aws-autoscale
|
||||
|
||||
# These jobs should run on the feature/bugfix branches - anything that is not the develop or release branches. It should only push images to the private repos
|
||||
build_ubuntu_bionic_dev:
|
||||
@ -289,6 +344,53 @@ build_centos_dev:
|
||||
- develop
|
||||
- /^release\/.*$/
|
||||
|
||||
build_oracle_7_dev:
|
||||
stage: build
|
||||
script:
|
||||
- docker build -t ${ORG_NAME}/core-oracle-7-private:$SANITIZED_BRANCH --build-arg BASE_IMAGE="oraclelinux:7" --build-arg START_PULSEAUDIO="1" --build-arg START_XFCE4="1" --build-arg DISTRO="oracle7" --build-arg LANG="" --build-arg LANGUAGE="" --build-arg LC_ALL="" -f dockerfile-kasm-core-oracle .
|
||||
- docker push ${ORG_NAME}/core-oracle-7-private:$SANITIZED_BRANCH
|
||||
except:
|
||||
- develop
|
||||
- /^release\/.*$/
|
||||
tags:
|
||||
- aws-autoscale
|
||||
|
||||
build_oracle_8_dev:
|
||||
image: ${ORG_NAME}/docker-buildx-private:develop
|
||||
stage: build
|
||||
variables:
|
||||
BUILD_PLATFORMS: "linux/amd64,linux/arm64"
|
||||
script:
|
||||
# get qemu ready
|
||||
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
# prep the buildx env
|
||||
- docker buildx create --use
|
||||
# build for multiple architectures
|
||||
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-oracle-8-private:$SANITIZED_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg START_XFCE4=1 --build-arg BASE_IMAGE="oraclelinux:8" --build-arg DISTRO="oracle8" -f dockerfile-kasm-core-oracle .
|
||||
except:
|
||||
- develop
|
||||
- /^release\/.*$/
|
||||
tags:
|
||||
- aws-autoscale
|
||||
|
||||
build_opensuse_15_dev:
|
||||
image: ${ORG_NAME}/docker-buildx-private:develop
|
||||
stage: build
|
||||
variables:
|
||||
BUILD_PLATFORMS: "linux/amd64,linux/arm64"
|
||||
script:
|
||||
# get qemu ready
|
||||
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
# prep the buildx env
|
||||
- docker buildx create --use
|
||||
# build for multiple architectures
|
||||
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-opensuse-15-private:$SANITIZED_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg START_XFCE4=1 --build-arg BASE_IMAGE="opensuse/leap:15" --build-arg DISTRO="opensuse" -f dockerfile-kasm-core-suse .
|
||||
except:
|
||||
- develop
|
||||
- /^release\/.*$/
|
||||
tags:
|
||||
- aws-autoscale
|
||||
|
||||
# These jobs are for the "rolling" release of the images. They should only run for scheduled jobs and should only push the rolling tags
|
||||
build_ubuntu_bionic_scheduled:
|
||||
stage: build
|
||||
@ -405,6 +507,50 @@ build_centos_schedules:
|
||||
only:
|
||||
- schedules
|
||||
|
||||
build_oracle_7_schedules:
|
||||
stage: build
|
||||
script:
|
||||
- docker build -t ${ORG_NAME}/core-oracle-7-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-oracle-7:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="oraclelinux:7" --build-arg START_PULSEAUDIO="1" --build-arg START_XFCE4="1" --build-arg DISTRO="oracle7" --build-arg LANG="" --build-arg LANGUAGE="" --build-arg LC_ALL="" -f dockerfile-kasm-core-oracle .
|
||||
- docker push ${ORG_NAME}/core-oracle-7-private:$SANITIZED_ROLLING_BRANCH
|
||||
- docker push ${ORG_NAME}/core-oracle-7:$SANITIZED_ROLLING_BRANCH
|
||||
only:
|
||||
- schedules
|
||||
tags:
|
||||
- aws-autoscale
|
||||
|
||||
build_oracle_8_scheduled:
|
||||
stage: build
|
||||
image: ${ORG_NAME}/docker-buildx-private:develop
|
||||
variables:
|
||||
BUILD_PLATFORMS: "linux/amd64,linux/arm64"
|
||||
script:
|
||||
# get qemu ready
|
||||
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
# prep the buildx env
|
||||
- docker buildx create --use
|
||||
# build for multiple architectures
|
||||
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-oracle-8-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-oracle-8:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg START_XFCE4=1 --build-arg BASE_IMAGE="oraclelinux:8" --build-arg DISTRO="oracle8" -f dockerfile-kasm-core-oracle .
|
||||
only:
|
||||
- schedules
|
||||
tags:
|
||||
- aws-autoscale
|
||||
|
||||
build_opensuse_15_scheduled:
|
||||
stage: build
|
||||
image: ${ORG_NAME}/docker-buildx-private:develop
|
||||
variables:
|
||||
BUILD_PLATFORMS: "linux/amd64,linux/arm64"
|
||||
script:
|
||||
# get qemu ready
|
||||
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
# prep the buildx env
|
||||
- docker buildx create --use
|
||||
# build for multiple architectures
|
||||
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-opensuse-15-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-opensuse-15:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg START_XFCE4=1 --build-arg BASE_IMAGE="opensuse/leap:15" --build-arg DISTRO="opensuse" -f dockerfile-kasm-core-suse .
|
||||
only:
|
||||
- schedules
|
||||
tags:
|
||||
- aws-autoscale
|
||||
|
||||
update_readmes:
|
||||
stage: readme
|
||||
@ -422,4 +568,4 @@ update_readmes:
|
||||
- $README_PASSWORD
|
||||
parallel:
|
||||
matrix:
|
||||
- KASM_IMAGE: [core-centos-7, core-kali-rolling, core-remnux-bionic, core-remnux-focal, core-cuda-bionic, core-cuda-focal, core-ubuntu-bionic, core-ubuntu-focal, core-nvidia-focal]
|
||||
- KASM_IMAGE: [core-centos-7, core-oracle-7, core-oracle-8, core-opensuse-15, core-kali-rolling, core-remnux-bionic, core-remnux-focal, core-cuda-bionic, core-cuda-focal, core-ubuntu-bionic, core-ubuntu-focal, core-nvidia-focal]
|
||||
|
@ -11,8 +11,8 @@ ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
|
||||
|
||||
FROM install_tools AS squid_builder
|
||||
|
||||
RUN wget --progress=dot:giga 'https://kasmweb-build-artifacts.s3.amazonaws.com/kasm-squid-builder/a590f319f328a8a576cb966c2db5ec4a5b3b7b9b/output/kasm-squid-builder_centos.tar.gz'
|
||||
RUN tar -xzf kasm-squid-builder_centos.tar.gz -C /
|
||||
RUN wget --progress=dot:giga 'https://kasmweb-build-artifacts.s3.amazonaws.com/kasm-squid-builder/96a014eae9161b234fc4eafb07d3b6dd555b8417/output/kasm-squid-builder_centos_amd64.tar.gz'
|
||||
RUN tar -xzf kasm-squid-builder_centos_amd64.tar.gz -C /
|
||||
|
||||
FROM install_tools
|
||||
|
||||
|
180
dockerfile-kasm-core-oracle
Normal file
180
dockerfile-kasm-core-oracle
Normal file
@ -0,0 +1,180 @@
|
||||
ARG BASE_IMAGE="oraclelinux:8"
|
||||
|
||||
FROM $BASE_IMAGE AS install_tools
|
||||
ARG DISTRO=oracle8
|
||||
|
||||
|
||||
### Install common tools
|
||||
|
||||
COPY ./src/ubuntu/install/tools $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'
|
||||
|
||||
FROM install_tools AS squid_builder
|
||||
|
||||
ARG DISTRO=oracle8
|
||||
|
||||
RUN if [ "${DISTRO}" == "oracle8" ]; then \
|
||||
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/96a014eae9161b234fc4eafb07d3b6dd555b8417/output/kasm-squid-builder_oracle_${ARCH}.tar.gz"; \
|
||||
else \
|
||||
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/96a014eae9161b234fc4eafb07d3b6dd555b8417/output/kasm-squid-builder_centos_${ARCH}.tar.gz"; \
|
||||
fi
|
||||
RUN tar -xzf kasm-squid-builder_*.tar.gz -C /
|
||||
|
||||
FROM install_tools
|
||||
|
||||
MAINTAINER Kasm Tech "info@kasmweb.com"
|
||||
LABEL "com.kasmweb.image"="true"
|
||||
|
||||
### Environment config
|
||||
ARG START_XFCE4=0
|
||||
ARG START_PULSEAUDIO=0
|
||||
ARG BG_IMG=bg_oracle.png
|
||||
ARG EXTRA_SH=noop.sh
|
||||
ARG DISTRO=oracle8
|
||||
ARG LANG='en_US.UTF-8'
|
||||
ARG LANGUAGE='en_US:en'
|
||||
ARG LC_ALL='en_US.UTF-8'
|
||||
ENV DISPLAY=:1 \
|
||||
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 \
|
||||
STARTUPDIR=/dockerstartup \
|
||||
INST_SCRIPTS=/dockerstartup/install \
|
||||
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 \
|
||||
SHELL=/bin/bash \
|
||||
START_XFCE4=$START_XFCE4 \
|
||||
START_PULSEAUDIO=$START_PULSEAUDIO \
|
||||
LANG=$LANG \
|
||||
LANGUAGE=$LANGUAGE \
|
||||
LC_ALL=$LC_ALL \
|
||||
SINGLE_APPLICATION=0 \
|
||||
KASMVNC_AUTO_RECOVER=true
|
||||
|
||||
EXPOSE $VNC_PORT \
|
||||
$NO_VNC_PORT \
|
||||
$UPLOAD_PORT \
|
||||
$AUDIO_PORT
|
||||
|
||||
WORKDIR $HOME
|
||||
RUN mkdir -p $HOME/Desktop
|
||||
|
||||
### Ensure all needed packages are installed.
|
||||
### Consider "yum install -y gettext nss_wraper". There's a typo in nss_wraper
|
||||
### (should be nss_wrapper), and yum would just ignore it. Thus, a necessary
|
||||
### package would be missing. With skip_missing_names_on_install, yum will exit
|
||||
### with 1 exit code and that will stop image building.
|
||||
RUN if [ "${DISTRO}" == "oracle8" ]; then \
|
||||
dnf config-manager --setopt=skip_missing_names_on_install=False --save; \
|
||||
else \
|
||||
yum-config-manager --setopt=skip_missing_names_on_install=False --save; \
|
||||
fi
|
||||
|
||||
### Install custom fonts
|
||||
COPY ./src/ubuntu/install/fonts $INST_SCRIPTS/fonts/
|
||||
RUN bash $INST_SCRIPTS/fonts/install_custom_fonts.sh && rm -rf $INST_SCRIPTS/fonts/
|
||||
|
||||
### Install xfce UI
|
||||
COPY ./src/ubuntu/install/xfce $INST_SCRIPTS/xfce/
|
||||
RUN bash $INST_SCRIPTS/xfce/install_xfce_ui.sh && rm -rf $INST_SCRIPTS/xfce/
|
||||
COPY ./src/$DISTRO/xfce/.config/ $HOME/.config/
|
||||
COPY /src/common/resources/images/bg_kasm.png /usr/share/backgrounds/bg_kasm.png
|
||||
COPY /src/common/resources/images/$BG_IMG /usr/share/backgrounds/bg_default.png
|
||||
|
||||
### Install kasm_vnc dependencies and binaries
|
||||
COPY ./src/ubuntu/install/kasm_vnc $INST_SCRIPTS/kasm_vnc/
|
||||
RUN bash $INST_SCRIPTS/kasm_vnc/install_kasm_vnc.sh && rm -rf $INST_SCRIPTS/kasm_vnc/
|
||||
|
||||
### Install 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/
|
||||
|
||||
### Install custom cursors
|
||||
COPY ./src/ubuntu/install/cursors $INST_SCRIPTS/cursors/
|
||||
RUN bash $INST_SCRIPTS/cursors/install_cursors.sh && rm -rf $INST_SCRIPTS/cursors/
|
||||
|
||||
### Install Audio
|
||||
COPY ./src/ubuntu/install/audio $INST_SCRIPTS/audio/
|
||||
RUN bash $INST_SCRIPTS/audio/install_audio.sh && rm -rf $INST_SCRIPTS/audio/
|
||||
|
||||
### Install Audio Input
|
||||
COPY ./src/ubuntu/install/audio_input $INST_SCRIPTS/audio_input/
|
||||
RUN bash $INST_SCRIPTS/audio_input/install_audio_input.sh && rm -rf $INST_SCRIPTS/audio_input/
|
||||
|
||||
### Copy built Squid
|
||||
COPY --from=squid_builder /usr/local/squid /usr/local/squid
|
||||
|
||||
### Install Squid
|
||||
COPY ./src/ubuntu/install/squid/install/ $INST_SCRIPTS/squid_install/
|
||||
RUN bash $INST_SCRIPTS/squid_install/install_squid.sh && rm -rf $INST_SCRIPTS/squid_install/
|
||||
COPY ./src/ubuntu/install/squid/resources/*.conf /etc/squid/
|
||||
COPY ./src/ubuntu/install/squid/resources/start_squid.sh /etc/squid/start_squid.sh
|
||||
COPY ./src/ubuntu/install/squid/resources/SN.png /usr/local/squid/share/icons/SN.png
|
||||
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
|
||||
RUN chown proxy:proxy /usr/local/squid/share/errors/en/ERR_ACCESS_DENIED
|
||||
RUN rm -rf "$INST_SCRIPTS/resources/"
|
||||
|
||||
RUN chmod +x /etc/squid/kasm_squid_adapter
|
||||
RUN chmod +x /etc/squid/start_squid.sh && chmod 4755 /etc/squid/start_squid.sh
|
||||
|
||||
### Setup Container User - Libnss Wrapper
|
||||
COPY ./src/ubuntu/install/libnss $INST_SCRIPTS/libnss/
|
||||
RUN bash $INST_SCRIPTS/libnss/libnss_wrapper.sh && rm -rf $INST_SCRIPTS/libnss/
|
||||
|
||||
### configure startup
|
||||
COPY ./src/common/scripts/kasm_hook_scripts $STARTUPDIR
|
||||
COPY ./src/common/startup_scripts $STARTUPDIR
|
||||
RUN bash $STARTUPDIR/set_user_permission.sh $STARTUPDIR $HOME
|
||||
|
||||
|
||||
### extra configurations needed per distro variant
|
||||
COPY ./src/ubuntu/install/extra $INST_SCRIPTS/extra/
|
||||
RUN bash $INST_SCRIPTS/extra/$EXTRA_SH && rm -rf $INST_SCRIPTS/extra/
|
||||
|
||||
ENV HOME /home/kasm-user
|
||||
WORKDIR $HOME
|
||||
RUN mkdir -p $HOME && chown -R 1000:0 $HOME
|
||||
|
||||
### FIX PERMISSIONS ## Objective is to change the owner of non-home paths to root, remove write permissions, and set execute where required
|
||||
# these files are created on container first exec, by the default user, so we have to create them since default will not have write perm
|
||||
RUN touch $STARTUPDIR/wm.log \
|
||||
&& touch $STARTUPDIR/window_manager_startup.log \
|
||||
&& touch $STARTUPDIR/vnc_startup.log \
|
||||
&& touch $STARTUPDIR/no_vnc_startup.log \
|
||||
&& chown -R root:root $STARTUPDIR \
|
||||
&& find $STARTUPDIR -type d -exec chmod 755 {} \; \
|
||||
&& find $STARTUPDIR -type f -exec chmod 644 {} \; \
|
||||
&& find $STARTUPDIR -type f -iname "*.sh" -exec chmod 755 {} \; \
|
||||
&& find $STARTUPDIR -type f -iname "*.py" -exec chmod 755 {} \; \
|
||||
&& find $STARTUPDIR -type f -iname "*.rb" -exec chmod 755 {} \; \
|
||||
&& find $STARTUPDIR -type f -iname "*.pl" -exec chmod 755 {} \; \
|
||||
&& find $STARTUPDIR -type f -iname "*.log" -exec chmod 666 {} \; \
|
||||
&& chmod 755 $STARTUPDIR/upload_server/kasm_upload_server \
|
||||
&& chmod 755 $STARTUPDIR/audio_input/kasm_audio_input_server \
|
||||
&& chmod 755 $STARTUPDIR/generate_container_user \
|
||||
&& chmod +x $STARTUPDIR/jsmpeg/kasm_audio_out-linux \
|
||||
&& rm -rf $STARTUPDIR/install \
|
||||
&& mkdir -p $STARTUPDIR/kasmrx/Downloads \
|
||||
&& chown 1000:1000 $STARTUPDIR/kasmrx/Downloads \
|
||||
&& chown -R root:root /usr/local/bin
|
||||
|
||||
USER 1000
|
||||
|
||||
ENTRYPOINT ["/dockerstartup/kasm_default_profile.sh", "/dockerstartup/vnc_startup.sh", "/dockerstartup/kasm_startup.sh"]
|
||||
CMD ["--wait"]
|
164
dockerfile-kasm-core-suse
Normal file
164
dockerfile-kasm-core-suse
Normal file
@ -0,0 +1,164 @@
|
||||
ARG BASE_IMAGE="opensuse/leap:15"
|
||||
|
||||
FROM $BASE_IMAGE AS install_tools
|
||||
ARG DISTRO=opensuse
|
||||
|
||||
|
||||
### Install common tools
|
||||
|
||||
COPY ./src/ubuntu/install/tools $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'
|
||||
|
||||
FROM install_tools AS squid_builder
|
||||
|
||||
ARG DISTRO=opensuse
|
||||
|
||||
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/919fdaaa1cb5184deb5f849e28ad6324615129cd/output/kasm-squid-builder_opensuse_${ARCH}.tar.gz"
|
||||
RUN tar -xzf kasm-squid-builder_*.tar.gz -C /
|
||||
|
||||
FROM install_tools
|
||||
|
||||
MAINTAINER Kasm Tech "info@kasmweb.com"
|
||||
LABEL "com.kasmweb.image"="true"
|
||||
|
||||
### Environment config
|
||||
ARG START_XFCE4=0
|
||||
ARG START_PULSEAUDIO=0
|
||||
ARG BG_IMG=bg_opensuse.png
|
||||
ARG EXTRA_SH=noop.sh
|
||||
ARG DISTRO=opensuse
|
||||
ARG LANG='en_US.UTF-8'
|
||||
ARG LANGUAGE='en_US:en'
|
||||
ARG LC_ALL='en_US.UTF-8'
|
||||
ENV DISPLAY=:1 \
|
||||
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 \
|
||||
STARTUPDIR=/dockerstartup \
|
||||
INST_SCRIPTS=/dockerstartup/install \
|
||||
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 \
|
||||
SHELL=/bin/bash \
|
||||
START_XFCE4=$START_XFCE4 \
|
||||
START_PULSEAUDIO=$START_PULSEAUDIO \
|
||||
LANG=$LANG \
|
||||
LANGUAGE=$LANGUAGE \
|
||||
LC_ALL=$LC_ALL \
|
||||
SINGLE_APPLICATION=0 \
|
||||
KASMVNC_AUTO_RECOVER=true
|
||||
|
||||
EXPOSE $VNC_PORT \
|
||||
$NO_VNC_PORT \
|
||||
$UPLOAD_PORT \
|
||||
$AUDIO_PORT
|
||||
|
||||
WORKDIR $HOME
|
||||
RUN mkdir -p $HOME/Desktop
|
||||
|
||||
### Install custom fonts
|
||||
COPY ./src/ubuntu/install/fonts $INST_SCRIPTS/fonts/
|
||||
RUN bash $INST_SCRIPTS/fonts/install_custom_fonts.sh && rm -rf $INST_SCRIPTS/fonts/
|
||||
|
||||
### Install xfce UI
|
||||
COPY ./src/ubuntu/install/xfce $INST_SCRIPTS/xfce/
|
||||
RUN bash $INST_SCRIPTS/xfce/install_xfce_ui.sh && rm -rf $INST_SCRIPTS/xfce/
|
||||
COPY ./src/$DISTRO/xfce/.config/ $HOME/.config/
|
||||
COPY /src/common/resources/images/bg_kasm.png /usr/share/backgrounds/bg_kasm.png
|
||||
COPY /src/common/resources/images/$BG_IMG /usr/share/backgrounds/bg_default.png
|
||||
|
||||
### Install kasm_vnc dependencies and binaries
|
||||
COPY ./src/ubuntu/install/kasm_vnc $INST_SCRIPTS/kasm_vnc/
|
||||
RUN bash $INST_SCRIPTS/kasm_vnc/install_kasm_vnc.sh && rm -rf $INST_SCRIPTS/kasm_vnc/
|
||||
|
||||
### Install 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/
|
||||
|
||||
### Install custom cursors
|
||||
COPY ./src/ubuntu/install/cursors $INST_SCRIPTS/cursors/
|
||||
RUN bash $INST_SCRIPTS/cursors/install_cursors.sh && rm -rf $INST_SCRIPTS/cursors/
|
||||
|
||||
### Install Audio
|
||||
COPY ./src/ubuntu/install/audio $INST_SCRIPTS/audio/
|
||||
RUN bash $INST_SCRIPTS/audio/install_audio.sh && rm -rf $INST_SCRIPTS/audio/
|
||||
|
||||
### Install Audio Input
|
||||
COPY ./src/ubuntu/install/audio_input $INST_SCRIPTS/audio_input/
|
||||
RUN bash $INST_SCRIPTS/audio_input/install_audio_input.sh && rm -rf $INST_SCRIPTS/audio_input/
|
||||
|
||||
### Copy built Squid
|
||||
COPY --from=squid_builder /usr/local/squid /usr/local/squid
|
||||
|
||||
### Install Squid
|
||||
COPY ./src/ubuntu/install/squid/install/ $INST_SCRIPTS/squid_install/
|
||||
RUN bash $INST_SCRIPTS/squid_install/install_squid.sh && rm -rf $INST_SCRIPTS/squid_install/
|
||||
COPY ./src/ubuntu/install/squid/resources/*.conf /etc/squid/
|
||||
COPY ./src/ubuntu/install/squid/resources/start_squid.sh /etc/squid/start_squid.sh
|
||||
COPY ./src/ubuntu/install/squid/resources/SN.png /usr/local/squid/share/icons/SN.png
|
||||
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
|
||||
RUN chown proxy:proxy /usr/local/squid/share/errors/en/ERR_ACCESS_DENIED
|
||||
RUN rm -rf "$INST_SCRIPTS/resources/"
|
||||
|
||||
RUN chmod +x /etc/squid/kasm_squid_adapter
|
||||
RUN chmod +x /etc/squid/start_squid.sh && chmod 4755 /etc/squid/start_squid.sh
|
||||
|
||||
### Setup Container User - Libnss Wrapper
|
||||
COPY ./src/ubuntu/install/libnss $INST_SCRIPTS/libnss/
|
||||
RUN bash $INST_SCRIPTS/libnss/libnss_wrapper.sh && rm -rf $INST_SCRIPTS/libnss/
|
||||
|
||||
### configure startup
|
||||
COPY ./src/common/scripts/kasm_hook_scripts $STARTUPDIR
|
||||
COPY ./src/common/startup_scripts $STARTUPDIR
|
||||
RUN bash $STARTUPDIR/set_user_permission.sh $STARTUPDIR $HOME
|
||||
|
||||
|
||||
### extra configurations needed per distro variant
|
||||
COPY ./src/ubuntu/install/extra $INST_SCRIPTS/extra/
|
||||
RUN bash $INST_SCRIPTS/extra/$EXTRA_SH && rm -rf $INST_SCRIPTS/extra/
|
||||
|
||||
ENV HOME /home/kasm-user
|
||||
WORKDIR $HOME
|
||||
RUN mkdir -p $HOME && chown -R 1000:0 $HOME
|
||||
|
||||
### FIX PERMISSIONS ## Objective is to change the owner of non-home paths to root, remove write permissions, and set execute where required
|
||||
# these files are created on container first exec, by the default user, so we have to create them since default will not have write perm
|
||||
RUN touch $STARTUPDIR/wm.log \
|
||||
&& touch $STARTUPDIR/window_manager_startup.log \
|
||||
&& touch $STARTUPDIR/vnc_startup.log \
|
||||
&& touch $STARTUPDIR/no_vnc_startup.log \
|
||||
&& chown -R root:root $STARTUPDIR \
|
||||
&& find $STARTUPDIR -type d -exec chmod 755 {} \; \
|
||||
&& find $STARTUPDIR -type f -exec chmod 644 {} \; \
|
||||
&& find $STARTUPDIR -type f -iname "*.sh" -exec chmod 755 {} \; \
|
||||
&& find $STARTUPDIR -type f -iname "*.py" -exec chmod 755 {} \; \
|
||||
&& find $STARTUPDIR -type f -iname "*.rb" -exec chmod 755 {} \; \
|
||||
&& find $STARTUPDIR -type f -iname "*.pl" -exec chmod 755 {} \; \
|
||||
&& find $STARTUPDIR -type f -iname "*.log" -exec chmod 666 {} \; \
|
||||
&& chmod 755 $STARTUPDIR/upload_server/kasm_upload_server \
|
||||
&& chmod 755 $STARTUPDIR/audio_input/kasm_audio_input_server \
|
||||
&& chmod 755 $STARTUPDIR/generate_container_user \
|
||||
&& chmod +x $STARTUPDIR/jsmpeg/kasm_audio_out-linux \
|
||||
&& rm -rf $STARTUPDIR/install \
|
||||
&& mkdir -p $STARTUPDIR/kasmrx/Downloads \
|
||||
&& chown 1000:1000 $STARTUPDIR/kasmrx/Downloads \
|
||||
&& chown -R root:root /usr/local/bin
|
||||
|
||||
USER 1000
|
||||
|
||||
ENTRYPOINT ["/dockerstartup/kasm_default_profile.sh", "/dockerstartup/vnc_startup.sh", "/dockerstartup/kasm_startup.sh"]
|
||||
CMD ["--wait"]
|
7
docs/core-opensuse-15/README.md
Normal file
7
docs/core-opensuse-15/README.md
Normal file
@ -0,0 +1,7 @@
|
||||
# About This Image
|
||||
|
||||
This Image contains a browser-accessible openSUSE Leap 15 with XFCE desktop environment.
|
||||
|
||||
![Screenshot][Image_Screenshot]
|
||||
|
||||
[Image_Screenshot]: https://5856039.fs1.hubspotusercontent-na1.net/hubfs/5856039/dockerhub/core-opensuse-15.png "Image Screenshot"
|
1
docs/core-opensuse-15/description.txt
Normal file
1
docs/core-opensuse-15/description.txt
Normal file
@ -0,0 +1 @@
|
||||
openSUSE Leap 15 base image for Kasm Workspaces
|
7
docs/core-oracle-7/README.md
Normal file
7
docs/core-oracle-7/README.md
Normal file
@ -0,0 +1,7 @@
|
||||
# About This Image
|
||||
|
||||
This Image contains a browser-accessible Oracle Linux 7 with XFCE desktop environment.
|
||||
|
||||
![Screenshot][Image_Screenshot]
|
||||
|
||||
[Image_Screenshot]: https://5856039.fs1.hubspotusercontent-na1.net/hubfs/5856039/dockerhub/image-screenshots/core-oracle-7.png "Image Screenshot"
|
1
docs/core-oracle-7/description.txt
Normal file
1
docs/core-oracle-7/description.txt
Normal file
@ -0,0 +1 @@
|
||||
Oracle Linux 7 base image for Kasm Workspaces
|
7
docs/core-oracle-8/README.md
Normal file
7
docs/core-oracle-8/README.md
Normal file
@ -0,0 +1,7 @@
|
||||
# About This Image
|
||||
|
||||
This Image contains a browser-accessible Oracle Linux 8 with XFCE desktop environment.
|
||||
|
||||
![Screenshot][Image_Screenshot]
|
||||
|
||||
[Image_Screenshot]: https://5856039.fs1.hubspotusercontent-na1.net/hubfs/5856039/dockerhub/image-screenshots/core-oracle-8.png "Image Screenshot"
|
1
docs/core-oracle-8/description.txt
Normal file
1
docs/core-oracle-8/description.txt
Normal file
@ -0,0 +1 @@
|
||||
Oracle Linux 8 base image for Kasm Workspaces
|
BIN
src/common/resources/images/bg_opensuse.png
Normal file
BIN
src/common/resources/images/bg_opensuse.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 804 KiB |
BIN
src/common/resources/images/bg_oracle.png
Normal file
BIN
src/common/resources/images/bg_oracle.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.5 MiB |
0
src/opensuse/xfce/.config/.blank
Normal file
0
src/opensuse/xfce/.config/.blank
Normal file
@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-desktop" version="1.0">
|
||||
<property name="desktop-menu" type="empty">
|
||||
<property name="show" type="empty"/>
|
||||
</property>
|
||||
<property name="windowlist-menu" type="empty">
|
||||
<property name="show" type="empty"/>
|
||||
</property>
|
||||
<property name="backdrop" type="empty">
|
||||
<property name="screen0" type="empty">
|
||||
<property name="monitorVNC-0" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/bg_default.png"/>
|
||||
</property>
|
||||
<property name="workspace1" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/bg_default.png"/>
|
||||
</property>
|
||||
<property name="workspace2" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/bg_default.png"/>
|
||||
</property>
|
||||
<property name="workspace3" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/bg_default.png"/>
|
||||
</property>
|
||||
</property>
|
||||
</property>
|
||||
</property>
|
||||
<property name="last" type="empty">
|
||||
<property name="window-width" type="int" value="643"/>
|
||||
<property name="window-height" type="int" value="556"/>
|
||||
</property>
|
||||
<property name="desktop-icons" type="empty">
|
||||
<property name="file-icons" type="empty">
|
||||
<property name="show-home" type="bool" value="false"/>
|
||||
<property name="show-filesystem" type="bool" value="false"/>
|
||||
<property name="show-trash" type="bool" value="false"/>
|
||||
<property name="show-removable" type="bool" value="false"/>
|
||||
</property>
|
||||
</property>
|
||||
</channel>
|
@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-panel" version="1.0">
|
||||
<property name="configver" type="empty"/>
|
||||
<property name="panels" type="empty">
|
||||
<property name="panel-1" type="empty">
|
||||
<property name="position" type="empty"/>
|
||||
<property name="length" type="empty"/>
|
||||
<property name="position-locked" type="empty"/>
|
||||
<property name="size" type="uint" value="35"/>
|
||||
<property name="length-adjust" type="empty"/>
|
||||
<property name="plugin-ids" type="array">
|
||||
<value type="int" value="1"/>
|
||||
<value type="int" value="2"/>
|
||||
<value type="int" value="3"/>
|
||||
<value type="int" value="4"/>
|
||||
<value type="int" value="5"/>
|
||||
<value type="int" value="8"/>
|
||||
<value type="int" value="7"/>
|
||||
<value type="int" value="9"/>
|
||||
<value type="int" value="10"/>
|
||||
<value type="int" value="11"/>
|
||||
<value type="int" value="14"/>
|
||||
</property>
|
||||
</property>
|
||||
</property>
|
||||
<property name="plugins" type="empty">
|
||||
<property name="plugin-1" type="empty"/>
|
||||
<property name="plugin-2" type="empty">
|
||||
<property name="style" type="empty"/>
|
||||
</property>
|
||||
<property name="plugin-3" type="empty"/>
|
||||
<property name="plugin-4" type="empty">
|
||||
<property name="flat-buttons" type="empty"/>
|
||||
<property name="show-handle" type="empty"/>
|
||||
<property name="grouping" type="empty"/>
|
||||
</property>
|
||||
<property name="plugin-5" type="empty">
|
||||
<property name="expand" type="empty"/>
|
||||
<property name="style" type="empty"/>
|
||||
</property>
|
||||
<property name="plugin-6" type="empty"/>
|
||||
<property name="plugin-14" type="empty"/>
|
||||
<property name="plugin-13" type="empty"/>
|
||||
<property name="plugin-7" type="empty">
|
||||
<property name="show-frame" type="empty"/>
|
||||
<property name="square-icons" type="empty"/>
|
||||
<property name="icon-size" type="empty"/>
|
||||
<property name="symbolic-icons" type="empty"/>
|
||||
</property>
|
||||
<property name="plugin-15" type="empty">
|
||||
<property name="menu-is-primary" type="empty"/>
|
||||
<property name="square-icons" type="empty"/>
|
||||
<property name="icon-size" type="empty"/>
|
||||
<property name="symbolic-icons" type="empty"/>
|
||||
</property>
|
||||
<property name="plugin-8" type="empty"/>
|
||||
<property name="plugin-9" type="empty">
|
||||
<property name="style" type="empty"/>
|
||||
</property>
|
||||
<property name="plugin-10" type="empty">
|
||||
<property name="show-frame" type="empty"/>
|
||||
<property name="digital-format" type="empty"/>
|
||||
</property>
|
||||
<property name="plugin-11" type="empty">
|
||||
<property name="style" type="empty"/>
|
||||
</property>
|
||||
</property>
|
||||
</channel>
|
0
src/oracle7/xfce/.config/.blank
Normal file
0
src/oracle7/xfce/.config/.blank
Normal file
@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-desktop" version="1.0">
|
||||
<property name="backdrop" type="empty">
|
||||
<property name="screen0" type="empty">
|
||||
<property name="monitor0" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="3"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/bg_default.png"/>
|
||||
</property>
|
||||
<property name="workspace1" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/images/default.png"/>
|
||||
</property>
|
||||
<property name="workspace2" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/images/default.png"/>
|
||||
</property>
|
||||
<property name="workspace3" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/images/default.png"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="monitorVNC-0" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="2"/>
|
||||
<property name="image-style" type="int" value="3"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/bg_default.png"/>
|
||||
</property>
|
||||
</property>
|
||||
</property>
|
||||
</property>
|
||||
<property name="last" type="empty">
|
||||
<property name="window-width" type="int" value="1280"/>
|
||||
<property name="window-height" type="int" value="915"/>
|
||||
</property>
|
||||
<property name="desktop-icons" type="empty">
|
||||
<property name="file-icons" type="empty">
|
||||
<property name="show-filesystem" type="bool" value="false"/>
|
||||
<property name="show-home" type="bool" value="false"/>
|
||||
<property name="show-trash" type="bool" value="false"/>
|
||||
</property>
|
||||
</property>
|
||||
</channel>
|
@ -0,0 +1,59 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channel name="xfce4-panel" version="1.0">
|
||||
<property name="configver" type="int" value="2"/>
|
||||
<property name="panels" type="array">
|
||||
<value type="int" value="1"/>
|
||||
<property name="panel-1" type="empty">
|
||||
<property name="position" type="string" value="p=6;x=0;y=0"/>
|
||||
<property name="length" type="uint" value="100"/>
|
||||
<property name="position-locked" type="bool" value="true"/>
|
||||
<property name="size" type="uint" value="30"/>
|
||||
<property name="plugin-ids" type="array">
|
||||
<value type="int" value="1"/>
|
||||
<value type="int" value="3"/>
|
||||
<value type="int" value="15"/>
|
||||
<value type="int" value="2"/>
|
||||
<value type="int" value="4"/>
|
||||
</property>
|
||||
</property>
|
||||
</property>
|
||||
<property name="plugins" type="empty">
|
||||
<property name="plugin-1" type="string" value="applicationsmenu">
|
||||
<property name="button-icon" type="string" value="/usr/share/icons/hicolor/256x256/apps/fedora-logo-icon.png"/>
|
||||
</property>
|
||||
<property name="plugin-3" type="string" value="tasklist"/>
|
||||
<property name="plugin-15" type="string" value="separator">
|
||||
<property name="expand" type="bool" value="true"/>
|
||||
<property name="style" type="uint" value="0"/>
|
||||
</property>
|
||||
<property name="plugin-4" type="string" value="pager"/>
|
||||
<property name="plugin-6" type="string" value="systray"/>
|
||||
<property name="plugin-7" type="string" value="showdesktop"/>
|
||||
<property name="plugin-8" type="string" value="separator"/>
|
||||
<property name="plugin-9" type="string" value="launcher">
|
||||
<property name="items" type="array">
|
||||
<value type="string" value="14413071971.desktop"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="plugin-10" type="string" value="launcher">
|
||||
<property name="items" type="array">
|
||||
<value type="string" value="14413071972.desktop"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="plugin-11" type="string" value="launcher">
|
||||
<property name="items" type="array">
|
||||
<value type="string" value="14413071973.desktop"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="plugin-12" type="string" value="launcher">
|
||||
<property name="items" type="array">
|
||||
<value type="string" value="14413071974.desktop"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="plugin-13" type="string" value="separator"/>
|
||||
<property name="plugin-14" type="string" value="directorymenu">
|
||||
<property name="base-directory" type="string" value="/root"/>
|
||||
</property>
|
||||
<property name="plugin-2" type="string" value="systray"/>
|
||||
</property>
|
||||
</channel>
|
@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xsettings" version="1.0">
|
||||
<property name="Net" type="empty">
|
||||
<property name="ThemeName" type="empty"/>
|
||||
<property name="IconThemeName" type="empty"/>
|
||||
<property name="DoubleClickTime" type="empty"/>
|
||||
<property name="DoubleClickDistance" type="empty"/>
|
||||
<property name="DndDragThreshold" type="empty"/>
|
||||
<property name="CursorBlink" type="empty"/>
|
||||
<property name="CursorBlinkTime" type="empty"/>
|
||||
<property name="SoundThemeName" type="empty"/>
|
||||
<property name="EnableEventSounds" type="empty"/>
|
||||
<property name="EnableInputFeedbackSounds" type="empty"/>
|
||||
</property>
|
||||
<property name="Xft" type="empty">
|
||||
<property name="DPI" type="empty"/>
|
||||
<property name="Antialias" type="empty"/>
|
||||
<property name="Hinting" type="empty"/>
|
||||
<property name="HintStyle" type="empty"/>
|
||||
<property name="RGBA" type="empty"/>
|
||||
</property>
|
||||
<property name="Gtk" type="empty">
|
||||
<property name="CanChangeAccels" type="empty"/>
|
||||
<property name="ColorPalette" type="empty"/>
|
||||
<property name="FontName" type="empty"/>
|
||||
<property name="IconSizes" type="empty"/>
|
||||
<property name="KeyThemeName" type="empty"/>
|
||||
<property name="ToolbarStyle" type="empty"/>
|
||||
<property name="ToolbarIconSize" type="empty"/>
|
||||
<property name="MenuImages" type="empty"/>
|
||||
<property name="ButtonImages" type="empty"/>
|
||||
<property name="MenuBarAccel" type="empty"/>
|
||||
<property name="CursorThemeName" type="string" value="bridge"/>
|
||||
<property name="CursorThemeSize" type="empty"/>
|
||||
<property name="DecorationLayout" type="empty"/>
|
||||
</property>
|
||||
</channel>
|
0
src/oracle8/xfce/.config/.blank
Normal file
0
src/oracle8/xfce/.config/.blank
Normal file
BIN
src/oracle8/xfce/.config/xfce4/fedora-logo-icon.png
Normal file
BIN
src/oracle8/xfce/.config/xfce4/fedora-logo-icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 60 KiB |
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channel name="xfce4-desktop" version="1.0">
|
||||
<property name="backdrop" type="empty">
|
||||
<property name="screen0" type="empty">
|
||||
<property name="monitor0" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="0"/>
|
||||
<property name="image-style" type="int" value="5"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/bg_default.png"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="monitorVNC-0" type="empty">
|
||||
<property name="workspace0" type="empty">
|
||||
<property name="color-style" type="int" value="2"/>
|
||||
<property name="image-style" type="int" value="3"/>
|
||||
<property name="last-image" type="string" value="/usr/share/backgrounds/bg_default.png"/>
|
||||
</property>
|
||||
</property>
|
||||
</property>
|
||||
</property>
|
||||
<property name="last" type="empty">
|
||||
<property name="window-width" type="int" value="1280"/>
|
||||
<property name="window-height" type="int" value="1024"/>
|
||||
</property>
|
||||
<property name="desktop-icons" type="empty">
|
||||
<property name="file-icons" type="empty">
|
||||
<property name="show-filesystem" type="bool" value="false"/>
|
||||
<property name="show-home" type="bool" value="false"/>
|
||||
<property name="show-trash" type="bool" value="false"/>
|
||||
</property>
|
||||
</property>
|
||||
</channel>
|
@ -0,0 +1,59 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channel name="xfce4-panel" version="1.0">
|
||||
<property name="configver" type="int" value="2"/>
|
||||
<property name="panels" type="array">
|
||||
<value type="int" value="1"/>
|
||||
<property name="panel-1" type="empty">
|
||||
<property name="position" type="string" value="p=6;x=0;y=0"/>
|
||||
<property name="length" type="uint" value="100"/>
|
||||
<property name="position-locked" type="bool" value="true"/>
|
||||
<property name="size" type="uint" value="30"/>
|
||||
<property name="plugin-ids" type="array">
|
||||
<value type="int" value="1"/>
|
||||
<value type="int" value="3"/>
|
||||
<value type="int" value="15"/>
|
||||
<value type="int" value="2"/>
|
||||
<value type="int" value="4"/>
|
||||
</property>
|
||||
</property>
|
||||
</property>
|
||||
<property name="plugins" type="empty">
|
||||
<property name="plugin-1" type="string" value="applicationsmenu">
|
||||
<property name="button-icon" type="string" value="/home/kasm-user/.config/xfce4/fedora-logo-icon.png"/>
|
||||
</property>
|
||||
<property name="plugin-3" type="string" value="tasklist"/>
|
||||
<property name="plugin-15" type="string" value="separator">
|
||||
<property name="expand" type="bool" value="true"/>
|
||||
<property name="style" type="uint" value="0"/>
|
||||
</property>
|
||||
<property name="plugin-4" type="string" value="pager"/>
|
||||
<property name="plugin-6" type="string" value="systray"/>
|
||||
<property name="plugin-7" type="string" value="showdesktop"/>
|
||||
<property name="plugin-8" type="string" value="separator"/>
|
||||
<property name="plugin-9" type="string" value="launcher">
|
||||
<property name="items" type="array">
|
||||
<value type="string" value="14413071971.desktop"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="plugin-10" type="string" value="launcher">
|
||||
<property name="items" type="array">
|
||||
<value type="string" value="14413071972.desktop"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="plugin-11" type="string" value="launcher">
|
||||
<property name="items" type="array">
|
||||
<value type="string" value="14413071973.desktop"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="plugin-12" type="string" value="launcher">
|
||||
<property name="items" type="array">
|
||||
<value type="string" value="14413071974.desktop"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="plugin-13" type="string" value="separator"/>
|
||||
<property name="plugin-14" type="string" value="directorymenu">
|
||||
<property name="base-directory" type="string" value="/root"/>
|
||||
</property>
|
||||
<property name="plugin-2" type="string" value="systray"/>
|
||||
</property>
|
||||
</channel>
|
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfce4-screensaver" version="1.0">
|
||||
<property name="saver" type="empty">
|
||||
<property name="mode" type="int" value="0"/>
|
||||
<property name="enabled" type="bool" value="false"/>
|
||||
</property>
|
||||
</channel>
|
@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xsettings" version="1.0">
|
||||
<property name="Net" type="empty">
|
||||
<property name="ThemeName" type="empty"/>
|
||||
<property name="IconThemeName" type="empty"/>
|
||||
<property name="DoubleClickTime" type="empty"/>
|
||||
<property name="DoubleClickDistance" type="empty"/>
|
||||
<property name="DndDragThreshold" type="empty"/>
|
||||
<property name="CursorBlink" type="empty"/>
|
||||
<property name="CursorBlinkTime" type="empty"/>
|
||||
<property name="SoundThemeName" type="empty"/>
|
||||
<property name="EnableEventSounds" type="empty"/>
|
||||
<property name="EnableInputFeedbackSounds" type="empty"/>
|
||||
</property>
|
||||
<property name="Xft" type="empty">
|
||||
<property name="DPI" type="empty"/>
|
||||
<property name="Antialias" type="empty"/>
|
||||
<property name="Hinting" type="empty"/>
|
||||
<property name="HintStyle" type="empty"/>
|
||||
<property name="RGBA" type="empty"/>
|
||||
</property>
|
||||
<property name="Gtk" type="empty">
|
||||
<property name="CanChangeAccels" type="empty"/>
|
||||
<property name="ColorPalette" type="empty"/>
|
||||
<property name="FontName" type="empty"/>
|
||||
<property name="IconSizes" type="empty"/>
|
||||
<property name="KeyThemeName" type="empty"/>
|
||||
<property name="ToolbarStyle" type="empty"/>
|
||||
<property name="ToolbarIconSize" type="empty"/>
|
||||
<property name="MenuImages" type="empty"/>
|
||||
<property name="ButtonImages" type="empty"/>
|
||||
<property name="MenuBarAccel" type="empty"/>
|
||||
<property name="CursorThemeName" type="string" value="bridge"/>
|
||||
<property name="CursorThemeSize" type="empty"/>
|
||||
<property name="DecorationLayout" type="empty"/>
|
||||
</property>
|
||||
</channel>
|
@ -4,12 +4,25 @@ set -ex
|
||||
|
||||
ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g')
|
||||
echo "Install Audio Requirements"
|
||||
if [ "${DISTRO}" == "centos" ] ; then
|
||||
if [[ "${DISTRO}" == @(centos|oracle7) ]] ; then
|
||||
yum install -y curl git
|
||||
yum install -y epel-release
|
||||
yum localinstall -y --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
|
||||
yum install -y ffmpeg pulseaudio-utils
|
||||
yum remove -y pulseaudio-module-bluetooth
|
||||
DISTRO=centos
|
||||
elif [ "${DISTRO}" == "oracle8" ]; then
|
||||
dnf install -y curl git
|
||||
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 install -y ffmpeg pulseaudio-utils
|
||||
dnf remove -y pulseaudio-module-bluetooth
|
||||
dnf clean all
|
||||
DISTRO=oracle
|
||||
elif [ "${DISTRO}" == "opensuse" ]; then
|
||||
zypper install -ny curl git
|
||||
zypper install -yn ffmpeg pulseaudio-utils
|
||||
zypper clean --all
|
||||
else
|
||||
apt-get update
|
||||
apt-get install -y curl git ffmpeg
|
||||
@ -17,5 +30,5 @@ fi
|
||||
|
||||
cd $STARTUPDIR
|
||||
mkdir jsmpeg
|
||||
wget -qO- https://kasmweb-build-artifacts.s3.amazonaws.com/kasm_websocket_relay/68ee0a0311d2ba8a9f2c206ec89e3abce6451f92/kasm_websocket_relay_${DISTRO/kali/ubuntu}_${ARCH}_develop.68ee0a.tar.gz | tar xz --strip 1 -C $STARTUPDIR/jsmpeg
|
||||
wget -qO- https://kasmweb-build-artifacts.s3.amazonaws.com/kasm_websocket_relay/f173f72a9faa6239e43f2efcb48aabe8a984d443/kasm_websocket_relay_${DISTRO/kali/ubuntu}_${ARCH}_develop.f173f7.tar.gz | tar xz --strip 1 -C $STARTUPDIR/jsmpeg
|
||||
chmod +x $STARTUPDIR/jsmpeg/kasm_audio_out-linux
|
||||
|
@ -1,6 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
### every exit != 0 fails the script
|
||||
set -e
|
||||
|
||||
if [ "${DISTRO}" == "oracle7" ]; then
|
||||
DISTRO=centos
|
||||
elif [ "${DISTRO}" == "oracle8" ]; then
|
||||
DISTRO=oracle
|
||||
fi
|
||||
|
||||
ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g')
|
||||
mkdir -p $STARTUPDIR/audio_input
|
||||
wget -qO- https://kasmweb-build-artifacts.s3.amazonaws.com/kasm_audio_input_server/3b599f999efdb349969cf607b6ed636c4501108d/kasm_audio_input_server_${DISTRO/kali/ubuntu}_${ARCH}_develop.3b599f.tar.gz | tar -xvz -C $STARTUPDIR/audio_input/
|
||||
wget -qO- https://kasmweb-build-artifacts.s3.amazonaws.com/kasm_audio_input_server/2c031a71a9ed0bace8ea2ad11238535820c45180/kasm_audio_input_server_${DISTRO/kali/ubuntu}_${ARCH}_develop.2c031a.tar.gz | tar -xvz -C $STARTUPDIR/audio_input/
|
||||
|
@ -3,8 +3,14 @@
|
||||
set -e
|
||||
|
||||
echo "Installing ttf-wqy-zenhei"
|
||||
if [ "$DISTRO" = centos ]; then
|
||||
if [[ "${DISTRO}" == @(centos|oracle7) ]]; then
|
||||
yum install -y wqy-zenhei-fonts
|
||||
elif [ "${DISTRO}" == "oracle8" ]; then
|
||||
dnf install -y google-noto-sans-fonts
|
||||
dnf clean all
|
||||
elif [ "${DISTRO}" == "opensuse" ]; then
|
||||
zypper install -ny wqy-zenhei-fonts
|
||||
zypper clean --all
|
||||
else
|
||||
apt-get install -y ttf-wqy-zenhei
|
||||
fi
|
||||
|
@ -1,8 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
if [ "${DISTRO}" == "oracle7" ]; then
|
||||
DISTRO=centos
|
||||
elif [ "${DISTRO}" == "oracle8" ]; then
|
||||
DISTRO=oracle
|
||||
fi
|
||||
|
||||
ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g')
|
||||
mkdir $STARTUPDIR/upload_server
|
||||
wget --quiet https://kasmweb-build-artifacts.s3.amazonaws.com/kasm_upload_service/839a3b9ce63569aaee4f7d62bd31ffb20184a393/kasm_upload_service_${DISTRO/kali/ubuntu}_${ARCH}_develop.839a3b.tar.gz -O /tmp/kasm_upload_server.tar.gz
|
||||
wget --quiet https://kasmweb-build-artifacts.s3.amazonaws.com/kasm_upload_service/594ff9c24baa89477ef4fc937933e11529924cce/kasm_upload_service_${DISTRO/kali/ubuntu}_${ARCH}_develop.594ff9.tar.gz -O /tmp/kasm_upload_server.tar.gz
|
||||
tar -xvf /tmp/kasm_upload_server.tar.gz -C $STARTUPDIR/upload_server
|
||||
rm /tmp/kasm_upload_server.tar.gz
|
||||
|
@ -3,7 +3,6 @@ set -e
|
||||
|
||||
install_libjpeg_turbo() {
|
||||
local libjpeg_deb=libjpeg-turbo.deb
|
||||
|
||||
wget "https://kasmweb-build-artifacts.s3.amazonaws.com/kasmvnc/${COMMIT_ID}/output/${UBUNTU_CODENAME}/libjpeg-turbo_2.1.4_amd64.deb" -O "$libjpeg_deb"
|
||||
apt-get install -y "./$libjpeg_deb"
|
||||
rm "$libjpeg_deb"
|
||||
@ -14,7 +13,7 @@ cd /tmp
|
||||
|
||||
BUILD_ARCH=$(uname -p)
|
||||
UBUNTU_CODENAME=""
|
||||
COMMIT_ID="ce78879132e679df898b05de491e3c14a52d8ad8"
|
||||
COMMIT_ID="6e84e103175fd6923eafb5e185ac271650720b40"
|
||||
BRANCH="master"
|
||||
COMMIT_ID_SHORT=$(echo "${COMMIT_ID}" | cut -c1-6)
|
||||
|
||||
@ -25,8 +24,20 @@ then
|
||||
else
|
||||
BUILD_URL="https://kasmweb-build-artifacts.s3.amazonaws.com/kasmvnc/${COMMIT_ID}/kasmvncserver_kali-rolling_0.9.3_${BRANCH}_${COMMIT_ID_SHORT}_arm64.deb"
|
||||
fi
|
||||
elif [ "${DISTRO}" == "centos" ] ; then
|
||||
elif [[ "${DISTRO}" == @(centos|oracle7) ]] ; then
|
||||
BUILD_URL="https://kasmweb-build-artifacts.s3.amazonaws.com/kasmvnc/${COMMIT_ID}/output/centos_core/kasmvncserver-0.9.3~beta-1.el7.x86_64.rpm"
|
||||
elif [[ "${DISTRO}" == "oracle8" ]] ; then
|
||||
if [[ "$(arch)" =~ ^x86_64$ ]] ; then
|
||||
BUILD_URL="https://kasmweb-build-artifacts.s3.amazonaws.com/kasmvnc/${COMMIT_ID}/output/oracle_8/kasmvncserver-0.9.3~beta-1.el8.x86_64.rpm"
|
||||
else
|
||||
BUILD_URL="https://kasmweb-build-artifacts.s3.amazonaws.com/kasmvnc/${COMMIT_ID}/output/oracle_8/kasmvncserver-0.9.3~beta-1.el8.aarch64.rpm"
|
||||
fi
|
||||
elif [[ "${DISTRO}" == "opensuse" ]] ; then
|
||||
if [[ "$(arch)" =~ ^x86_64$ ]] ; then
|
||||
BUILD_URL="https://kasmweb-build-artifacts.s3.amazonaws.com/kasmvnc/${COMMIT_ID}/output/opensuse_15/kasmvncserver-0.9.3~beta-leap15.x86_64.rpm"
|
||||
else
|
||||
BUILD_URL="https://kasmweb-build-artifacts.s3.amazonaws.com/kasmvnc/${COMMIT_ID}/output/opensuse_15/kasmvncserver-0.9.3~beta-leap15.aarch64.rpm"
|
||||
fi
|
||||
else
|
||||
UBUNTU_CODENAME=$(grep -Po -m 1 "(?<=_CODENAME=)\w+" /etc/os-release)
|
||||
if [[ "${BUILD_ARCH}" =~ ^aarch64$ ]] ; then
|
||||
@ -39,11 +50,38 @@ else
|
||||
fi
|
||||
|
||||
|
||||
if [ "${DISTRO}" == "centos" ] ; then
|
||||
if [[ "${DISTRO}" == @(centos|oracle7) ]] ; then
|
||||
wget "${BUILD_URL}" -O kasmvncserver.rpm
|
||||
|
||||
yum localinstall -y kasmvncserver.rpm
|
||||
rm kasmvncserver.rpm
|
||||
elif [[ "${DISTRO}" == "oracle8" ]] ; then
|
||||
wget "${BUILD_URL}" -O kasmvncserver.rpm
|
||||
dnf localinstall -y kasmvncserver.rpm
|
||||
rm kasmvncserver.rpm
|
||||
dnf clean all
|
||||
elif [[ "${DISTRO}" == "opensuse" ]] ; then
|
||||
zypper -n install -y \
|
||||
libglvnd \
|
||||
libgnutls30 \
|
||||
libgomp1 \
|
||||
libjpeg8 \
|
||||
libnettle6 \
|
||||
libpixman-1-0 \
|
||||
libXdmcp6 \
|
||||
libXfont2-2 \
|
||||
libxkbcommon-x11-0 \
|
||||
openssl \
|
||||
perl \
|
||||
x11-tools \
|
||||
xauth \
|
||||
xkbcomp \
|
||||
xkeyboard-config \
|
||||
xrdb
|
||||
mkdir -p /etc/pki/tls/private
|
||||
wget "${BUILD_URL}" -O kasmvncserver.rpm
|
||||
rpm -i kasmvncserver.rpm
|
||||
rm kasmvncserver.rpm
|
||||
zypper clean --all
|
||||
else
|
||||
if [[ "${UBUNTU_CODENAME}" = "bionic" ]] && [[ ! "$BUILD_ARCH" =~ ^aarch64$ ]] ; then
|
||||
# We need to install libjpeg-turbo because the version that comes with bionic is quite old and has performance issues.
|
||||
|
@ -2,10 +2,23 @@
|
||||
set -e
|
||||
|
||||
echo "Install nss-wrapper to be able to execute image as non-root user"
|
||||
if [ "${DISTRO}" == "centos" ] ; then
|
||||
yum install -y centos-release-scl-rh && yum install -y nss_wrapper
|
||||
yum install -y gettext
|
||||
yum clean all
|
||||
if [[ "${DISTRO}" == @(centos|oracle7|oracle8) ]] ; then
|
||||
if [ "${DISTRO}" == "centos" ]; then
|
||||
yum install -y centos-release-scl-rh && yum install -y nss_wrapper
|
||||
elif [ "${DISTRO}" == "oracle8" ]; then
|
||||
dnf install -y nss_wrapper gettext hostname
|
||||
dnf clean all
|
||||
else
|
||||
yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/centos-release-scl-rh-2-3.el7.centos.noarch.rpm && yum install -y nss_wrapper
|
||||
fi
|
||||
if [[ "${DISTRO}" == @(centos|oracle7) ]] ; then
|
||||
yum install -y gettext
|
||||
yum clean all
|
||||
fi
|
||||
elif [[ "${DISTRO}" == "opensuse" ]] ; then
|
||||
zypper install -ny nss_wrapper gettext-runtime
|
||||
zypper clean --all
|
||||
sed -i 's/mirrorcache-us.opensuse.org/download.opensuse.org/g' /etc/zypp/repos.d/*.repo
|
||||
else
|
||||
apt-get update
|
||||
apt-get install -y libnss-wrapper gettext
|
||||
|
@ -6,15 +6,31 @@ ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g')
|
||||
# intall squid
|
||||
SQUID_COMMIT='6392f7dfb1040c67c0a5d5518abf508282523cc0'
|
||||
SQUID_DISTRO=${DISTRO}
|
||||
# currently all distros use the ubuntu build of squid except centos
|
||||
if [ ! "${SQUID_DISTRO}" == "centos" ] ; then
|
||||
# currently all distros use the ubuntu build of squid except centos/oracle
|
||||
if [[ "${SQUID_DISTRO}" != @(centos|oracle7) ]] ; then
|
||||
SQUID_DISTRO="ubuntu"
|
||||
fi
|
||||
wget -qO- "https://kasmweb-build-artifacts.s3.amazonaws.com/kasm-squid-builder/${SQUID_COMMIT}/output/kasm-squid-builder_${SQUID_DISTRO}_${ARCH}.tar.gz" | tar -xzf - -C /
|
||||
if [ "${DISTRO}" == "oracle7" ]; then
|
||||
SQUID_DISTRO=centos
|
||||
DISTRO=centos
|
||||
elif [ "${DISTRO}" == "oracle8" ]; then
|
||||
SQUID_DISTRO=oracle8
|
||||
DISTRO=oracle
|
||||
elif [ "${DISTRO}" == "opensuse" ]; then
|
||||
SQUID_DISTRO=opensuse
|
||||
fi
|
||||
|
||||
if [[ "${SQUID_DISTRO}" != @(centos|oracle7|oracle8|opensuse) ]] ; then
|
||||
wget -qO- "https://kasmweb-build-artifacts.s3.amazonaws.com/kasm-squid-builder/${SQUID_COMMIT}/output/kasm-squid-builder_${SQUID_DISTRO}_${ARCH}.tar.gz" | tar -xzf - -C /
|
||||
fi
|
||||
|
||||
# update squid conf with user info
|
||||
if [ "$DISTRO" = centos ]; then
|
||||
if [[ "${DISTRO}" == @(centos|oracle) ]]; then
|
||||
useradd --system --shell /usr/sbin/nologin --home-dir /bin proxy
|
||||
elif [ "${DISTRO}" == "opensuse" ]; then
|
||||
useradd --system --shell /usr/sbin/nologin --home-dir /bin proxy
|
||||
groupadd proxy
|
||||
usermod -a -G proxy proxy
|
||||
fi
|
||||
|
||||
mkdir /usr/local/squid/etc/ssl_cert -p
|
||||
@ -36,8 +52,12 @@ EOL
|
||||
chown -R proxy:proxy /etc/squid/blocked.acl
|
||||
|
||||
|
||||
if [ "$DISTRO" = centos ]; then
|
||||
if [[ "${DISTRO}" == "centos" ]]; then
|
||||
yum install -y memcached cyrus-sasl iproute
|
||||
elif [ "${DISTRO}" == "oracle" ]; then
|
||||
dnf install -y memcached cyrus-sasl iproute
|
||||
elif [ "${DISTRO}" == "opensuse" ]; then
|
||||
zypper install -yn memcached cyrus-sasl iproute2 libatomic1
|
||||
else
|
||||
apt-get install -y memcached sasl2-bin iproute2
|
||||
fi
|
||||
@ -52,7 +72,7 @@ log_level: 5
|
||||
sasldb_path: /etc/sasl2/memcached-sasldb2
|
||||
EOL
|
||||
|
||||
KASM_SQUID_ADAPTER=https://kasmweb-build-artifacts.s3.amazonaws.com/kasm_squid_adapter/faec132e9797ebf09cfa58bd59b60c77b0b1a64b/kasm_squid_adapter_${DISTRO/kali/ubuntu}_${ARCH}_develop.faec13.tar.gz
|
||||
KASM_SQUID_ADAPTER=https://kasmweb-build-artifacts.s3.amazonaws.com/kasm_squid_adapter/d3ec909b9ca2f4c234bd561d015737f44343830c/kasm_squid_adapter_${DISTRO/kali/ubuntu}_${ARCH}_develop.d3ec90.tar.gz
|
||||
|
||||
wget -qO- ${KASM_SQUID_ADAPTER} | tar xz -C /etc/squid/
|
||||
ls -la /etc/squid
|
||||
@ -60,8 +80,12 @@ chmod +x /etc/squid/kasm_squid_adapter
|
||||
|
||||
# FIXME - This likely should be moved somewhere else to be more explicit
|
||||
# Install Cert utilities
|
||||
if [ "$DISTRO" = centos ]; then
|
||||
if [[ "${DISTRO}" == "centos" ]]; then
|
||||
yum install -y nss-tools
|
||||
elif [ "${DISTRO}" == "oracle" ]; then
|
||||
dnf install -y nss-tools
|
||||
elif [ "${DISTRO}" == "opensuse" ]; then
|
||||
zypper install -yn mozilla-nss-tools
|
||||
else
|
||||
apt-get install -y libnss3-tools
|
||||
fi
|
||||
|
@ -7,10 +7,16 @@ cd /tmp/working_certs
|
||||
|
||||
if [ -f /etc/centos-release ]; then
|
||||
DISTRO=centos
|
||||
elif [ -f /etc/oracle-release ]; then
|
||||
DISTRO=oracle7
|
||||
elif [ -f /usr/bin/zypper ]; then
|
||||
DISTRO=opensuse
|
||||
fi
|
||||
|
||||
if [ "$DISTRO" = centos ]; then
|
||||
if [[ "${DISTRO}" == @(centos|oracle7) ]]; then
|
||||
CERT_FILE=/etc/pki/ca-trust/source/anchors/squid.crt
|
||||
elif [ "${DISTRO}" == "opensuse" ]; then
|
||||
CERT_FILE=/usr/share/pki/trust/anchors/squid.crt
|
||||
else
|
||||
CERT_FILE=/usr/local/share/ca-certificates/squid.crt
|
||||
fi
|
||||
@ -20,7 +26,7 @@ openssl x509 -in myCA.pem -outform DER -out myCA.der
|
||||
openssl x509 -in myCA.pem -outform DER -out myCA.der
|
||||
cp myCA.pem ${CERT_FILE}
|
||||
cp myCA.pem /usr/local/squid/etc/ssl_cert/squid.pem
|
||||
if [ "$DISTRO" = centos ]; then
|
||||
if [[ "${DISTRO}" == @(centos|oracle7) ]]; then
|
||||
update-ca-trust
|
||||
else
|
||||
update-ca-certificates
|
||||
@ -38,7 +44,7 @@ done
|
||||
|
||||
export MEMCACHE_PASSWORD="$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 13 )"
|
||||
echo $MEMCACHE_PASSWORD | saslpasswd2 -a memcached -c -f /etc/sasl2/memcached-sasldb2 kasm
|
||||
if [ "$DISTRO" = centos ]; then
|
||||
if [[ "${DISTRO}" == @(centos|oracle7|opensuse) ]]; then
|
||||
MEMCACHE_USER=memcached
|
||||
else
|
||||
MEMCACHE_USER=memcache
|
||||
@ -46,8 +52,10 @@ fi
|
||||
chown $MEMCACHE_USER:$MEMCACHE_USER /etc/sasl2/memcached-sasldb2
|
||||
|
||||
|
||||
if [ "$DISTRO" = centos ]; then
|
||||
if [[ "${DISTRO}" == @(centos|oracle7) ]]; then
|
||||
/usr/bin/memcached -u $MEMCACHE_USER &
|
||||
elif [ "${DISTRO}" == "opensuse" ]; then
|
||||
/usr/sbin/memcached -u $MEMCACHE_USER &
|
||||
else
|
||||
/etc/init.d/memcached start
|
||||
fi
|
||||
|
@ -2,11 +2,15 @@
|
||||
set -e
|
||||
|
||||
echo "Install some common tools for further installation"
|
||||
if [ "${DISTRO}" == "centos" ] ; then
|
||||
if [[ "${DISTRO}" == @(centos|oracle7) ]] ; then
|
||||
yum install -y vim wget net-tools bzip2 python3
|
||||
wget http://mirror.ghettoforge.org/distributions/gf/el/7/gf/x86_64/wmctrl-1.07-17.gf.el7.x86_64.rpm
|
||||
yum localinstall -y wmctrl*.rpm
|
||||
rm wmctrl*.rpm
|
||||
elif [ "${DISTRO}" == "oracle8" ]; then
|
||||
dnf install -y wget net-tools bzip2 python3 tar vim
|
||||
dnf clean all
|
||||
elif [ "${DISTRO}" == "opensuse" ]; then
|
||||
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 clean --all
|
||||
else
|
||||
apt-get update
|
||||
# Update tzdata noninteractive (otherwise our script is hung on user input later).
|
||||
|
@ -3,17 +3,13 @@
|
||||
set -e
|
||||
|
||||
get_rid_of_policykit_error() {
|
||||
rm /etc/xdg/autostart/xfce-polkit.desktop
|
||||
rm -f /etc/xdg/autostart/xfce-polkit.desktop
|
||||
}
|
||||
|
||||
disable_epel_nss_wrapper_that_breaks_firefox() {
|
||||
yum-config-manager --setopt=epel.exclude=nss_wrapper --save
|
||||
}
|
||||
|
||||
get_rid_of_xfce_battery_widget() {
|
||||
yum remove -y xfce4-power-manager
|
||||
}
|
||||
|
||||
config_xinit_disable_screensaver() {
|
||||
mkdir -p /etc/X11/xinit/xinitrc.d/
|
||||
cat >/etc/X11/xinit/xinitrc.d/disable_screensaver.sh <<EOL
|
||||
@ -50,7 +46,7 @@ EOL
|
||||
}
|
||||
|
||||
echo "Install Xfce4 UI components"
|
||||
if [ "$DISTRO" != "centos" ]; then
|
||||
if [[ "${DISTRO}" != @(centos|oracle7|oracle8|opensuse) ]]; then
|
||||
apt-get update
|
||||
fi
|
||||
|
||||
@ -62,24 +58,44 @@ then
|
||||
sed -i "s@<value type=\"int\" value=\"${PLUGIN_ID}\"/>@@g" /etc/xdg/xfce4/panel/default.xml
|
||||
elif [ "$DISTRO" = "ubuntu" ]; then
|
||||
apt-get install -y supervisor xfce4 xfce4-terminal xterm
|
||||
elif [ "$DISTRO" = "centos" ]; then
|
||||
yum install -y epel-release
|
||||
elif [[ "${DISTRO}" == @(centos|oracle7) ]]; then
|
||||
if [ "${DISTRO}" == centos ]; then
|
||||
yum install -y epel-release
|
||||
else
|
||||
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
||||
fi
|
||||
disable_epel_nss_wrapper_that_breaks_firefox
|
||||
yum groupinstall xfce xterm -y
|
||||
yum groupinstall xfce -y
|
||||
yum install -y wmctrl
|
||||
get_rid_of_policykit_error
|
||||
yum remove -y xfce4-power-manager
|
||||
elif [ "$DISTRO" = "oracle8" ]; then
|
||||
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
|
||||
dnf group install xfce -y
|
||||
dnf install -y wmctrl
|
||||
get_rid_of_policykit_error
|
||||
dnf remove -y xfce4-power-manager xfce4-screensaver
|
||||
elif [ "$DISTRO" = "opensuse" ]; then
|
||||
zypper install -yn -t pattern xfce
|
||||
zypper install -yn xset xfce4-terminal
|
||||
zypper remove -yn xfce4-power-manager
|
||||
get_rid_of_policykit_error
|
||||
get_rid_of_xfce_battery_widget
|
||||
fi
|
||||
|
||||
|
||||
if [ "$DISTRO" = "centos" ]; then
|
||||
if [[ "${DISTRO}" == @(centos|oracle7) ]]; then
|
||||
yum clean all
|
||||
elif [ "${DISTRO}" == "oracle8" ]; then
|
||||
dnf clean all
|
||||
elif [ "${DISTRO}" == "opensuse" ]; then
|
||||
zypper clean --all
|
||||
else
|
||||
apt-get purge -y pm-utils xscreensaver*
|
||||
apt-get clean -y
|
||||
fi
|
||||
|
||||
|
||||
if [ "$DISTRO" = "centos" ]; then
|
||||
if [[ "${DISTRO}" == @(centos|oracle7|oracle8) ]]; then
|
||||
config_xinit_disable_screensaver
|
||||
else
|
||||
replace_default_xinit
|
||||
|
Loading…
Reference in New Issue
Block a user