Merge pull request #20 from kasmtech/create_ubuntu20_package
Debian, Ubuntu, Kali, CentOS supportpull/22/head^2
						commit
						c401a21c7c
					
				@ -0,0 +1 @@
 | 
			
		||||
builder/build
 | 
			
		||||
@ -0,0 +1,16 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
cd "$(dirname "$0")/.."
 | 
			
		||||
. builder/os_ver_cli.sh
 | 
			
		||||
 | 
			
		||||
docker build -t kasmvnc_rpmbuilder_${os}:${os_codename} -f \
 | 
			
		||||
  builder/dockerfile.${os}_${os_codename}.rpm.build .
 | 
			
		||||
 | 
			
		||||
source_dir=$(echo $PWD)
 | 
			
		||||
L_UID=$(id -u) #Ubuntu already has UID env var, but this should work on all Linix systems
 | 
			
		||||
L_GID=$(id -g)
 | 
			
		||||
docker run --rm -v "$source_dir":/src --user $L_UID:$L_GID \
 | 
			
		||||
  kasmvnc_rpmbuilder_${os}:${os_codename} /bin/bash -c \
 | 
			
		||||
  '/src/builder/build-rpm-inside-docker'
 | 
			
		||||
@ -0,0 +1,30 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
prepare_build_env() {
 | 
			
		||||
  rpmdev-setuptree
 | 
			
		||||
  copy_spec_and_tar_with_binaries
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
copy_spec_and_tar_with_binaries() {
 | 
			
		||||
  cp /src/centos/kasmvncserver.spec ~/rpmbuild/SPECS/
 | 
			
		||||
  cp /src/builder/build/kasmvnc.${os}_${os_codename}.tar.gz \
 | 
			
		||||
    ~/rpmbuild/SOURCES/
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
copy_rpm_to_build_dir() {
 | 
			
		||||
  cd /src/builder && \
 | 
			
		||||
    mkdir -p "$os_dir" && cp ~/rpmbuild/RPMS/*/*.rpm ${os_dir}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
cd "$(dirname "$0")/.."
 | 
			
		||||
 | 
			
		||||
os=$(lsb_release -is | tr '[:upper:]' '[:lower:]')
 | 
			
		||||
os_codename=$(lsb_release -cs | tr '[:upper:]' '[:lower:]')
 | 
			
		||||
os_dir="build/${os}_${os_codename}"
 | 
			
		||||
 | 
			
		||||
prepare_build_env
 | 
			
		||||
rpmbuild -ba ~/rpmbuild/SPECS/kasmvncserver.spec
 | 
			
		||||
copy_rpm_to_build_dir
 | 
			
		||||
rpmlint "$os_dir"/*.rpm || true
 | 
			
		||||
@ -1,20 +0,0 @@
 | 
			
		||||
FROM centos:centos7
 | 
			
		||||
 | 
			
		||||
RUN yum install -y build-dep xorg-server libxfont-dev sudo
 | 
			
		||||
RUN yum install -y cmake git libjpeg-dev libgnutls28-dev vim wget tightvncserver
 | 
			
		||||
RUN yum install -y libjpeg-dev libpng-dev libtiff-dev libgif-dev libavcodec-dev libssl-dev
 | 
			
		||||
 | 
			
		||||
# Additions for webp
 | 
			
		||||
RUN cd /tmp && wget https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.0.2.tar.gz
 | 
			
		||||
RUN cd /tmp && tar -xzvf /tmp/libwebp-*
 | 
			
		||||
RUN cd /tmp/libwebp-1.0.2 && \
 | 
			
		||||
    ./configure --enable-static --disable-shared && \
 | 
			
		||||
    make && make install
 | 
			
		||||
 | 
			
		||||
RUN useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo
 | 
			
		||||
 | 
			
		||||
COPY . /src
 | 
			
		||||
RUN chown -R docker:docker /src
 | 
			
		||||
 | 
			
		||||
USER docker
 | 
			
		||||
ENTRYPOINT ["/src/builder/build.sh"]
 | 
			
		||||
@ -0,0 +1,20 @@
 | 
			
		||||
FROM centos:centos7
 | 
			
		||||
 | 
			
		||||
RUN yum install -y epel-release && yum install -y openbox xterm
 | 
			
		||||
RUN yum erase -y pm-utils xscreensaver*
 | 
			
		||||
RUN yum install -y vim less
 | 
			
		||||
 | 
			
		||||
ARG KASMVNC_PACKAGE_DIR
 | 
			
		||||
COPY $KASMVNC_PACKAGE_DIR/*.rpm /tmp
 | 
			
		||||
RUN yum localinstall -y /tmp/*.rpm
 | 
			
		||||
 | 
			
		||||
RUN useradd -m foo
 | 
			
		||||
 | 
			
		||||
USER foo:kasmvnc
 | 
			
		||||
 | 
			
		||||
RUN mkdir -p ~/.config/openbox && echo xterm > ~/.config/openbox/autostart && chmod +x ~/.config/openbox/autostart
 | 
			
		||||
RUN mkdir ~/.vnc && echo '/usr/bin/openbox-session &' >> ~/.vnc/xstartup && \
 | 
			
		||||
  chmod +x ~/.vnc/xstartup
 | 
			
		||||
RUN echo bar | kasmvncpasswd -f > $HOME/.kasmpasswd && chmod 0600 $HOME/.kasmpasswd
 | 
			
		||||
 | 
			
		||||
ENTRYPOINT bash -c "vncserver :1 -interface 0.0.0.0 && vncserver -kill :1 && vncserver :1 -depth 24 -geometry 1280x1050 -websocketPort 8443 -cert /etc/pki/tls/private/kasmvnc.pem -sslOnly -FrameRate=24 -interface 0.0.0.0 -httpd /usr/share/kasmvnc/www && tail -f $HOME/.vnc/*.log "
 | 
			
		||||
@ -0,0 +1,29 @@
 | 
			
		||||
FROM centos:centos7
 | 
			
		||||
 | 
			
		||||
ENV KASMVNC_BUILD_OS centos
 | 
			
		||||
ENV KASMVNC_BUILD_OS_CODENAME core
 | 
			
		||||
 | 
			
		||||
RUN yum install -y build-dep xorg-server libxfont-dev sudo
 | 
			
		||||
RUN yum install -y gcc cmake git libjpeg-dev libgnutls28-dev vim wget tightvncserver
 | 
			
		||||
RUN yum install -y libjpeg-dev libpng-dev libtiff-dev libgif-dev libavcodec-dev openssl-devel
 | 
			
		||||
RUN yum install -y make
 | 
			
		||||
RUN yum group install -y "Development Tools"
 | 
			
		||||
RUN yum install -y xorg-x11-server-devel zlib-devel libjpeg-turbo-devel
 | 
			
		||||
RUN yum install -y libxkbfile-devel libXfont2-devel xorg-x11-font-utils \
 | 
			
		||||
  xorg-x11-xtrans-devel xorg-x11-xkb-utils-devel
 | 
			
		||||
RUN yum install -y mesa-dri-drivers
 | 
			
		||||
 | 
			
		||||
# Additions for webp
 | 
			
		||||
RUN cd /tmp && wget https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.0.2.tar.gz
 | 
			
		||||
RUN cd /tmp && tar -xzvf /tmp/libwebp-*
 | 
			
		||||
RUN cd /tmp/libwebp-1.0.2 && \
 | 
			
		||||
    ./configure --enable-static --disable-shared && \
 | 
			
		||||
    make && make install
 | 
			
		||||
 | 
			
		||||
RUN useradd -m docker && echo "docker:docker" | chpasswd
 | 
			
		||||
 | 
			
		||||
COPY . /src
 | 
			
		||||
RUN chown -R docker:docker /src
 | 
			
		||||
 | 
			
		||||
USER docker
 | 
			
		||||
ENTRYPOINT ["/src/builder/build.sh"]
 | 
			
		||||
@ -0,0 +1,12 @@
 | 
			
		||||
FROM centos:centos7
 | 
			
		||||
 | 
			
		||||
RUN yum install -y rpm* gpg* rng-tools rpmlint
 | 
			
		||||
RUN yum install -y tree vim less
 | 
			
		||||
RUN yum install -y redhat-lsb-core
 | 
			
		||||
 | 
			
		||||
COPY centos/*.spec /tmp
 | 
			
		||||
RUN yum-builddep -y /tmp/*.spec
 | 
			
		||||
 | 
			
		||||
RUN useradd -m docker && echo "docker:docker" | chpasswd
 | 
			
		||||
 | 
			
		||||
USER docker
 | 
			
		||||
@ -0,0 +1,61 @@
 | 
			
		||||
FROM centos:centos7
 | 
			
		||||
 | 
			
		||||
ENV DISPLAY=:1 \
 | 
			
		||||
    VNC_PORT=8443 \
 | 
			
		||||
    VNC_RESOLUTION=1280x720 \
 | 
			
		||||
    MAX_FRAME_RATE=24 \
 | 
			
		||||
    VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7" \
 | 
			
		||||
    HOME=/home/user \
 | 
			
		||||
    TERM=xterm \
 | 
			
		||||
    STARTUPDIR=/dockerstartup \
 | 
			
		||||
    INST_SCRIPTS=/dockerstartup/install \
 | 
			
		||||
    KASM_RX_HOME=/dockerstartup/kasmrx \
 | 
			
		||||
    DEBIAN_FRONTEND=noninteractive \
 | 
			
		||||
    VNC_COL_DEPTH=24 \
 | 
			
		||||
    VNC_RESOLUTION=1280x1024 \
 | 
			
		||||
    VNC_PW=vncpassword \
 | 
			
		||||
    VNC_USER=user \
 | 
			
		||||
    VNC_VIEW_ONLY_PW=vncviewonlypassword \
 | 
			
		||||
    LD_LIBRARY_PATH=/usr/local/lib/ \
 | 
			
		||||
    OMP_WAIT_POLICY=PASSIVE \
 | 
			
		||||
    SHELL=/bin/bash \
 | 
			
		||||
    SINGLE_APPLICATION=0 \
 | 
			
		||||
    KASMVNC_BUILD_OS=centos \
 | 
			
		||||
    KASMVNC_BUILD_OS_CODENAME=core
 | 
			
		||||
 | 
			
		||||
EXPOSE $VNC_PORT
 | 
			
		||||
 | 
			
		||||
WORKDIR $HOME
 | 
			
		||||
 | 
			
		||||
### REQUIRED STUFF ###
 | 
			
		||||
 | 
			
		||||
RUN yum install -y openssl xterm gettext wget
 | 
			
		||||
RUN yum install -y centos-release-scl-rh && yum install -y nss_wrapper
 | 
			
		||||
RUN yum install -y xorg-x11-server xorg-x11-xauth xorg-x11-xkb-utils \
 | 
			
		||||
  xkeyboard-config xorg-x11-server-utils
 | 
			
		||||
RUN yum install -y epel-release && yum groupinstall xfce -y
 | 
			
		||||
RUN yum erase -y pm-utils xscreensaver*
 | 
			
		||||
RUN yum install -y redhat-lsb-core
 | 
			
		||||
RUN yum install -y vim less
 | 
			
		||||
 | 
			
		||||
RUN echo 'source $STARTUPDIR/generate_container_user' >> $HOME/.bashrc
 | 
			
		||||
 | 
			
		||||
RUN mkdir -p $STARTUPDIR
 | 
			
		||||
COPY startup/ $STARTUPDIR
 | 
			
		||||
 | 
			
		||||
### START CUSTOM STUFF ####
 | 
			
		||||
 | 
			
		||||
ARG KASMVNC_PACKAGE_DIR
 | 
			
		||||
COPY $KASMVNC_PACKAGE_DIR/*.rpm /tmp
 | 
			
		||||
RUN yum localinstall -y /tmp/*.rpm
 | 
			
		||||
 | 
			
		||||
### END CUSTOM STUFF ###
 | 
			
		||||
 | 
			
		||||
RUN chown -R 1000:0 $HOME
 | 
			
		||||
USER 1000:kasmvnc
 | 
			
		||||
WORKDIR $HOME
 | 
			
		||||
 | 
			
		||||
RUN mkdir ~/.vnc && echo '/usr/bin/xfce4-session &' >> ~/.vnc/xstartup && \
 | 
			
		||||
  chmod +x ~/.vnc/xstartup
 | 
			
		||||
 | 
			
		||||
ENTRYPOINT [ "/dockerstartup/vnc_startup.sh" ]
 | 
			
		||||
@ -0,0 +1,31 @@
 | 
			
		||||
FROM debian:bullseye-slim
 | 
			
		||||
 | 
			
		||||
ENV KASMVNC_BUILD_OS debian
 | 
			
		||||
ENV KASMVNC_BUILD_OS_CODENAME bullseye
 | 
			
		||||
ENV XORG_VER 1.20.10
 | 
			
		||||
ENV DEBIAN_FRONTEND noninteractive
 | 
			
		||||
 | 
			
		||||
RUN grep '^deb'  /etc/apt/sources.list | sed 's#^deb#deb-src#' >> /etc/apt/sources.list
 | 
			
		||||
 | 
			
		||||
RUN apt-get update && \
 | 
			
		||||
      apt-get -y install sudo
 | 
			
		||||
 | 
			
		||||
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata
 | 
			
		||||
RUN apt-get update && apt-get -y build-dep xorg-server libxfont-dev
 | 
			
		||||
RUN apt-get update && apt-get -y install cmake git libjpeg-dev libgnutls28-dev vim wget tightvncserver
 | 
			
		||||
RUN apt-get update && apt-get -y install libjpeg-dev libpng-dev libtiff-dev libgif-dev libavcodec-dev libssl-dev
 | 
			
		||||
 | 
			
		||||
# Additions for webp
 | 
			
		||||
RUN cd /tmp && wget https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.0.2.tar.gz
 | 
			
		||||
RUN cd /tmp && tar -xzvf /tmp/libwebp-*
 | 
			
		||||
RUN cd /tmp/libwebp-1.0.2 && \
 | 
			
		||||
    ./configure --enable-static --disable-shared && \
 | 
			
		||||
    make && make install
 | 
			
		||||
 | 
			
		||||
RUN useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo
 | 
			
		||||
 | 
			
		||||
COPY . /src
 | 
			
		||||
RUN chown -R docker:docker /src
 | 
			
		||||
 | 
			
		||||
USER docker
 | 
			
		||||
ENTRYPOINT ["/src/builder/build.sh"]
 | 
			
		||||
@ -0,0 +1,12 @@
 | 
			
		||||
FROM debian:bullseye
 | 
			
		||||
 | 
			
		||||
ENV DEBIAN_FRONTEND noninteractive
 | 
			
		||||
 | 
			
		||||
RUN apt-get update && \
 | 
			
		||||
      apt-get -y install vim build-essential devscripts equivs
 | 
			
		||||
 | 
			
		||||
# Install build-deps for the package.
 | 
			
		||||
COPY ./debian/control /tmp
 | 
			
		||||
RUN echo YYY | mk-build-deps --install --remove /tmp/control
 | 
			
		||||
 | 
			
		||||
USER 1000
 | 
			
		||||
@ -0,0 +1,53 @@
 | 
			
		||||
FROM debian:bullseye-slim
 | 
			
		||||
 | 
			
		||||
ENV DISPLAY=:1 \
 | 
			
		||||
    VNC_PORT=8443 \
 | 
			
		||||
    VNC_RESOLUTION=1280x720 \
 | 
			
		||||
    MAX_FRAME_RATE=24 \
 | 
			
		||||
    VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7" \
 | 
			
		||||
    HOME=/home/user \
 | 
			
		||||
    TERM=xterm \
 | 
			
		||||
    STARTUPDIR=/dockerstartup \
 | 
			
		||||
    INST_SCRIPTS=/dockerstartup/install \
 | 
			
		||||
    KASM_RX_HOME=/dockerstartup/kasmrx \
 | 
			
		||||
    DEBIAN_FRONTEND=noninteractive \
 | 
			
		||||
    VNC_COL_DEPTH=24 \
 | 
			
		||||
    VNC_RESOLUTION=1280x1024 \
 | 
			
		||||
    VNC_PW=vncpassword \
 | 
			
		||||
    VNC_USER=user \
 | 
			
		||||
    VNC_VIEW_ONLY_PW=vncviewonlypassword \
 | 
			
		||||
    LD_LIBRARY_PATH=/usr/local/lib/ \
 | 
			
		||||
    OMP_WAIT_POLICY=PASSIVE \
 | 
			
		||||
    SHELL=/bin/bash \
 | 
			
		||||
    SINGLE_APPLICATION=0 \
 | 
			
		||||
    KASMVNC_BUILD_OS=debian \
 | 
			
		||||
    KASMVNC_BUILD_OS_CODENAME=buster
 | 
			
		||||
 | 
			
		||||
EXPOSE $VNC_PORT
 | 
			
		||||
 | 
			
		||||
WORKDIR $HOME
 | 
			
		||||
 | 
			
		||||
### REQUIRED STUFF ###
 | 
			
		||||
 | 
			
		||||
RUN apt-get update && apt-get install -y supervisor xfce4 xfce4-terminal xterm libnss-wrapper gettext wget
 | 
			
		||||
RUN apt-get purge -y pm-utils xscreensaver*
 | 
			
		||||
RUN apt-get update && apt-get install -y vim less
 | 
			
		||||
 | 
			
		||||
RUN echo 'source $STARTUPDIR/generate_container_user' >> $HOME/.bashrc
 | 
			
		||||
 | 
			
		||||
RUN mkdir -p $STARTUPDIR
 | 
			
		||||
COPY startup/ $STARTUPDIR
 | 
			
		||||
 | 
			
		||||
### START CUSTOM STUFF ####
 | 
			
		||||
 | 
			
		||||
ARG KASMVNC_PACKAGE_DIR
 | 
			
		||||
COPY $KASMVNC_PACKAGE_DIR/kasmvncserver_*.deb /tmp
 | 
			
		||||
RUN dpkg -i /tmp/*.deb; apt-get -yf install
 | 
			
		||||
 | 
			
		||||
### END CUSTOM STUFF ###
 | 
			
		||||
 | 
			
		||||
RUN chown -R 1000:0 $HOME
 | 
			
		||||
USER 1000:ssl-cert
 | 
			
		||||
WORKDIR $HOME
 | 
			
		||||
 | 
			
		||||
ENTRYPOINT [ "/dockerstartup/vnc_startup.sh" ]
 | 
			
		||||
@ -0,0 +1,12 @@
 | 
			
		||||
FROM debian:buster-slim
 | 
			
		||||
 | 
			
		||||
ARG KASMVNC_PACKAGE_DIR
 | 
			
		||||
COPY $KASMVNC_PACKAGE_DIR/kasmvncserver_*.deb /tmp
 | 
			
		||||
RUN apt-get update && dpkg -i /tmp/*.deb; apt-get -yf install
 | 
			
		||||
RUN apt-get update && apt-get -y install x11-xserver-utils xterm twm
 | 
			
		||||
 | 
			
		||||
RUN useradd -m docker && addgroup docker ssl-cert
 | 
			
		||||
 | 
			
		||||
USER docker
 | 
			
		||||
 | 
			
		||||
ENTRYPOINT bash -c "vncserver :1 -interface 0.0.0.0 && vncserver -kill :1 && vncserver :1 -depth 24 -geometry 1280x1050 -websocketPort 8443 -cert /etc/ssl/certs/ssl-cert-snakeoil.pem -key /etc/ssl/private/ssl-cert-snakeoil.key -sslOnly -FrameRate=24 -interface 0.0.0.0 -httpd /usr/share/kasmvnc/www && tail -f $HOME/.vnc/*.log "
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
FROM debian:buster
 | 
			
		||||
 | 
			
		||||
ENV KASMVNC_BUILD_OS debian
 | 
			
		||||
ENV KASMVNC_BUILD_OS_VER 10
 | 
			
		||||
ENV KASMVNC_BUILD_OS_CODENAME buster
 | 
			
		||||
ENV XORG_VER 1.20.10
 | 
			
		||||
ENV DEBIAN_FRONTEND noninteractive
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,12 @@
 | 
			
		||||
FROM debian:buster
 | 
			
		||||
 | 
			
		||||
ENV DEBIAN_FRONTEND noninteractive
 | 
			
		||||
 | 
			
		||||
RUN apt-get update && \
 | 
			
		||||
      apt-get -y install vim build-essential devscripts equivs
 | 
			
		||||
 | 
			
		||||
# Install build-deps for the package.
 | 
			
		||||
COPY ./debian/control /tmp
 | 
			
		||||
RUN echo YYY | mk-build-deps --install --remove /tmp/control
 | 
			
		||||
 | 
			
		||||
USER 1000
 | 
			
		||||
@ -0,0 +1,53 @@
 | 
			
		||||
FROM debian:buster-slim
 | 
			
		||||
 | 
			
		||||
ENV DISPLAY=:1 \
 | 
			
		||||
    VNC_PORT=8443 \
 | 
			
		||||
    VNC_RESOLUTION=1280x720 \
 | 
			
		||||
    MAX_FRAME_RATE=24 \
 | 
			
		||||
    VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7" \
 | 
			
		||||
    HOME=/home/user \
 | 
			
		||||
    TERM=xterm \
 | 
			
		||||
    STARTUPDIR=/dockerstartup \
 | 
			
		||||
    INST_SCRIPTS=/dockerstartup/install \
 | 
			
		||||
    KASM_RX_HOME=/dockerstartup/kasmrx \
 | 
			
		||||
    DEBIAN_FRONTEND=noninteractive \
 | 
			
		||||
    VNC_COL_DEPTH=24 \
 | 
			
		||||
    VNC_RESOLUTION=1280x1024 \
 | 
			
		||||
    VNC_PW=vncpassword \
 | 
			
		||||
    VNC_USER=user \
 | 
			
		||||
    VNC_VIEW_ONLY_PW=vncviewonlypassword \
 | 
			
		||||
    LD_LIBRARY_PATH=/usr/local/lib/ \
 | 
			
		||||
    OMP_WAIT_POLICY=PASSIVE \
 | 
			
		||||
    SHELL=/bin/bash \
 | 
			
		||||
    SINGLE_APPLICATION=0 \
 | 
			
		||||
    KASMVNC_BUILD_OS=debian \
 | 
			
		||||
    KASMVNC_BUILD_OS_CODENAME=buster
 | 
			
		||||
 | 
			
		||||
EXPOSE $VNC_PORT
 | 
			
		||||
 | 
			
		||||
WORKDIR $HOME
 | 
			
		||||
 | 
			
		||||
### REQUIRED STUFF ###
 | 
			
		||||
 | 
			
		||||
RUN apt-get update && apt-get install -y supervisor xfce4 xfce4-terminal xterm libnss-wrapper gettext wget
 | 
			
		||||
RUN apt-get purge -y pm-utils xscreensaver*
 | 
			
		||||
RUN apt-get update && apt-get install -y vim less
 | 
			
		||||
 | 
			
		||||
RUN echo 'source $STARTUPDIR/generate_container_user' >> $HOME/.bashrc
 | 
			
		||||
 | 
			
		||||
RUN mkdir -p $STARTUPDIR
 | 
			
		||||
COPY startup/ $STARTUPDIR
 | 
			
		||||
 | 
			
		||||
### START CUSTOM STUFF ####
 | 
			
		||||
 | 
			
		||||
ARG KASMVNC_PACKAGE_DIR
 | 
			
		||||
COPY $KASMVNC_PACKAGE_DIR/kasmvncserver_*.deb /tmp
 | 
			
		||||
RUN dpkg -i /tmp/*.deb; apt-get -yf install
 | 
			
		||||
 | 
			
		||||
### END CUSTOM STUFF ###
 | 
			
		||||
 | 
			
		||||
RUN chown -R 1000:0 $HOME
 | 
			
		||||
USER 1000:ssl-cert
 | 
			
		||||
WORKDIR $HOME
 | 
			
		||||
 | 
			
		||||
ENTRYPOINT [ "/dockerstartup/vnc_startup.sh" ]
 | 
			
		||||
@ -0,0 +1,31 @@
 | 
			
		||||
FROM kalilinux/kali-rolling:latest
 | 
			
		||||
 | 
			
		||||
ENV KASMVNC_BUILD_OS kali
 | 
			
		||||
ENV KASMVNC_BUILD_OS_CODENAME kali-rolling
 | 
			
		||||
ENV XORG_VER 1.20.10
 | 
			
		||||
ENV DEBIAN_FRONTEND noninteractive
 | 
			
		||||
 | 
			
		||||
RUN grep '^deb'  /etc/apt/sources.list | sed 's#^deb#deb-src#' >> /etc/apt/sources.list
 | 
			
		||||
 | 
			
		||||
RUN apt-get update && \
 | 
			
		||||
      apt-get -y install sudo
 | 
			
		||||
 | 
			
		||||
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata
 | 
			
		||||
RUN apt-get update && apt-get -y build-dep xorg-server libxfont-dev
 | 
			
		||||
RUN apt-get update && apt-get -y install cmake git libjpeg-dev libgnutls28-dev vim wget tightvncserver
 | 
			
		||||
RUN apt-get update && apt-get -y install libjpeg-dev libpng-dev libtiff-dev libgif-dev libavcodec-dev libssl-dev
 | 
			
		||||
 | 
			
		||||
# Additions for webp
 | 
			
		||||
RUN cd /tmp && wget https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.0.2.tar.gz
 | 
			
		||||
RUN cd /tmp && tar -xzvf /tmp/libwebp-*
 | 
			
		||||
RUN cd /tmp/libwebp-1.0.2 && \
 | 
			
		||||
    ./configure --enable-static --disable-shared && \
 | 
			
		||||
    make && make install
 | 
			
		||||
 | 
			
		||||
RUN useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo
 | 
			
		||||
 | 
			
		||||
COPY . /src
 | 
			
		||||
RUN chown -R docker:docker /src
 | 
			
		||||
 | 
			
		||||
USER docker
 | 
			
		||||
ENTRYPOINT ["/src/builder/build.sh"]
 | 
			
		||||
@ -0,0 +1,12 @@
 | 
			
		||||
FROM kalilinux/kali-rolling:latest
 | 
			
		||||
 | 
			
		||||
ENV DEBIAN_FRONTEND noninteractive
 | 
			
		||||
 | 
			
		||||
RUN apt-get update && \
 | 
			
		||||
      apt-get -y install vim build-essential devscripts equivs
 | 
			
		||||
 | 
			
		||||
# Install build-deps for the package.
 | 
			
		||||
COPY ./debian/control /tmp
 | 
			
		||||
RUN echo YYY | mk-build-deps --install --remove /tmp/control
 | 
			
		||||
 | 
			
		||||
USER 1000
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
FROM ubuntu:18.04
 | 
			
		||||
 | 
			
		||||
ENV KASMVNC_BUILD_OS ubuntu
 | 
			
		||||
ENV KASMVNC_BUILD_OS_VER 18.04
 | 
			
		||||
ENV KASMVNC_BUILD_OS_CODENAME bionic
 | 
			
		||||
 | 
			
		||||
RUN sed -i 's$# deb-src$deb-src$' /etc/apt/sources.list
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
FROM ubuntu:18.04
 | 
			
		||||
FROM ubuntu:bionic
 | 
			
		||||
 | 
			
		||||
RUN apt-get update && \
 | 
			
		||||
      apt-get -y install vim build-essential devscripts equivs
 | 
			
		||||
@ -0,0 +1,53 @@
 | 
			
		||||
FROM ubuntu:bionic
 | 
			
		||||
 | 
			
		||||
ENV DISPLAY=:1 \
 | 
			
		||||
    VNC_PORT=8443 \
 | 
			
		||||
    VNC_RESOLUTION=1280x720 \
 | 
			
		||||
    MAX_FRAME_RATE=24 \
 | 
			
		||||
    VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7" \
 | 
			
		||||
    HOME=/home/user \
 | 
			
		||||
    TERM=xterm \
 | 
			
		||||
    STARTUPDIR=/dockerstartup \
 | 
			
		||||
    INST_SCRIPTS=/dockerstartup/install \
 | 
			
		||||
    KASM_RX_HOME=/dockerstartup/kasmrx \
 | 
			
		||||
    DEBIAN_FRONTEND=noninteractive \
 | 
			
		||||
    VNC_COL_DEPTH=24 \
 | 
			
		||||
    VNC_RESOLUTION=1280x1024 \
 | 
			
		||||
    VNC_PW=vncpassword \
 | 
			
		||||
    VNC_USER=user \
 | 
			
		||||
    VNC_VIEW_ONLY_PW=vncviewonlypassword \
 | 
			
		||||
    LD_LIBRARY_PATH=/usr/local/lib/ \
 | 
			
		||||
    OMP_WAIT_POLICY=PASSIVE \
 | 
			
		||||
    SHELL=/bin/bash \
 | 
			
		||||
    SINGLE_APPLICATION=0 \
 | 
			
		||||
    KASMVNC_BUILD_OS=ubuntu \
 | 
			
		||||
    KASMVNC_BUILD_OS_CODENAME=bionic
 | 
			
		||||
 | 
			
		||||
EXPOSE $VNC_PORT
 | 
			
		||||
 | 
			
		||||
WORKDIR $HOME
 | 
			
		||||
 | 
			
		||||
### REQUIRED STUFF ###
 | 
			
		||||
 | 
			
		||||
RUN apt-get update && apt-get install -y supervisor xfce4 xfce4-terminal xterm libnss-wrapper gettext wget
 | 
			
		||||
RUN apt-get purge -y pm-utils xscreensaver*
 | 
			
		||||
RUN apt-get update && apt-get install -y vim less
 | 
			
		||||
 | 
			
		||||
RUN echo 'source $STARTUPDIR/generate_container_user' >> $HOME/.bashrc
 | 
			
		||||
 | 
			
		||||
RUN mkdir -p $STARTUPDIR
 | 
			
		||||
COPY startup/ $STARTUPDIR
 | 
			
		||||
 | 
			
		||||
### START CUSTOM STUFF ####
 | 
			
		||||
 | 
			
		||||
ARG KASMVNC_PACKAGE_DIR
 | 
			
		||||
COPY $KASMVNC_PACKAGE_DIR/kasmvncserver_*.deb /tmp
 | 
			
		||||
RUN dpkg -i /tmp/*.deb; apt-get -yf install
 | 
			
		||||
 | 
			
		||||
### END CUSTOM STUFF ###
 | 
			
		||||
 | 
			
		||||
RUN chown -R 1000:0 $HOME
 | 
			
		||||
USER 1000:ssl-cert
 | 
			
		||||
WORKDIR $HOME
 | 
			
		||||
 | 
			
		||||
ENTRYPOINT [ "/dockerstartup/vnc_startup.sh" ]
 | 
			
		||||
@ -0,0 +1,12 @@
 | 
			
		||||
FROM ubuntu:focal
 | 
			
		||||
 | 
			
		||||
ENV DEBIAN_FRONTEND noninteractive
 | 
			
		||||
 | 
			
		||||
RUN apt-get update && \
 | 
			
		||||
      apt-get -y install vim build-essential devscripts equivs
 | 
			
		||||
 | 
			
		||||
# Install build-deps for the package.
 | 
			
		||||
COPY ./debian/control /tmp
 | 
			
		||||
RUN echo YYY | mk-build-deps --install --remove /tmp/control
 | 
			
		||||
 | 
			
		||||
USER 1000
 | 
			
		||||
@ -0,0 +1,53 @@
 | 
			
		||||
FROM ubuntu:focal
 | 
			
		||||
 | 
			
		||||
ENV DISPLAY=:1 \
 | 
			
		||||
    VNC_PORT=8443 \
 | 
			
		||||
    VNC_RESOLUTION=1280x720 \
 | 
			
		||||
    MAX_FRAME_RATE=24 \
 | 
			
		||||
    VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7" \
 | 
			
		||||
    HOME=/home/user \
 | 
			
		||||
    TERM=xterm \
 | 
			
		||||
    STARTUPDIR=/dockerstartup \
 | 
			
		||||
    INST_SCRIPTS=/dockerstartup/install \
 | 
			
		||||
    KASM_RX_HOME=/dockerstartup/kasmrx \
 | 
			
		||||
    DEBIAN_FRONTEND=noninteractive \
 | 
			
		||||
    VNC_COL_DEPTH=24 \
 | 
			
		||||
    VNC_RESOLUTION=1280x1024 \
 | 
			
		||||
    VNC_PW=vncpassword \
 | 
			
		||||
    VNC_USER=user \
 | 
			
		||||
    VNC_VIEW_ONLY_PW=vncviewonlypassword \
 | 
			
		||||
    LD_LIBRARY_PATH=/usr/local/lib/ \
 | 
			
		||||
    OMP_WAIT_POLICY=PASSIVE \
 | 
			
		||||
    SHELL=/bin/bash \
 | 
			
		||||
    SINGLE_APPLICATION=0 \
 | 
			
		||||
    KASMVNC_BUILD_OS=ubuntu \
 | 
			
		||||
    KASMVNC_BUILD_OS_CODENAME=bionic
 | 
			
		||||
 | 
			
		||||
EXPOSE $VNC_PORT
 | 
			
		||||
 | 
			
		||||
WORKDIR $HOME
 | 
			
		||||
 | 
			
		||||
### REQUIRED STUFF ###
 | 
			
		||||
 | 
			
		||||
RUN apt-get update && apt-get install -y supervisor xfce4 xfce4-terminal xterm libnss-wrapper gettext wget
 | 
			
		||||
RUN apt-get purge -y pm-utils xscreensaver*
 | 
			
		||||
RUN apt-get update && apt-get install -y vim less
 | 
			
		||||
 | 
			
		||||
RUN echo 'source $STARTUPDIR/generate_container_user' >> $HOME/.bashrc
 | 
			
		||||
 | 
			
		||||
RUN mkdir -p $STARTUPDIR
 | 
			
		||||
COPY startup/ $STARTUPDIR
 | 
			
		||||
 | 
			
		||||
### START CUSTOM STUFF ####
 | 
			
		||||
 | 
			
		||||
ARG KASMVNC_PACKAGE_DIR
 | 
			
		||||
COPY $KASMVNC_PACKAGE_DIR/kasmvncserver_*.deb /tmp
 | 
			
		||||
RUN dpkg -i /tmp/*.deb; apt-get -yf install
 | 
			
		||||
 | 
			
		||||
### END CUSTOM STUFF ###
 | 
			
		||||
 | 
			
		||||
RUN chown -R 1000:0 $HOME
 | 
			
		||||
USER 1000:ssl-cert
 | 
			
		||||
WORKDIR $HOME
 | 
			
		||||
 | 
			
		||||
ENTRYPOINT [ "/dockerstartup/vnc_startup.sh" ]
 | 
			
		||||
@ -0,0 +1,8 @@
 | 
			
		||||
default_os=ubuntu
 | 
			
		||||
default_os_codename=bionic
 | 
			
		||||
 | 
			
		||||
os=${1:-$default_os}
 | 
			
		||||
os_codename=${2:-$default_os_codename}
 | 
			
		||||
os_image="$os:$os_codename"
 | 
			
		||||
 | 
			
		||||
echo "Building for $os_image"
 | 
			
		||||
@ -0,0 +1,14 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
cd "$(dirname "$0")"
 | 
			
		||||
os="debian"
 | 
			
		||||
os_codename="buster"
 | 
			
		||||
 | 
			
		||||
docker build --build-arg KASMVNC_PACKAGE_DIR="build/${os_codename}" \
 | 
			
		||||
  -t kasmvnctester_barebones_${os}:$os_codename \
 | 
			
		||||
  -f dockerfile.${os}_${os_codename}.barebones.deb.test .
 | 
			
		||||
echo
 | 
			
		||||
echo "You will be asked to set password. User name is docker."
 | 
			
		||||
docker run -it -p 443:8443 --rm kasmvnctester_barebones_${os}:$os_codename
 | 
			
		||||
@ -0,0 +1,14 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
cd "$(dirname "$0")"
 | 
			
		||||
. ./os_ver_cli.sh
 | 
			
		||||
 | 
			
		||||
echo kasmvnctester_${os}:$os_codename
 | 
			
		||||
docker build --build-arg \
 | 
			
		||||
  KASMVNC_PACKAGE_DIR="build/${os}_${os_codename}" \
 | 
			
		||||
  -t kasmvnctester_${os}:$os_codename \
 | 
			
		||||
  -f dockerfile.${os}_${os_codename}.rpm.test .
 | 
			
		||||
echo docker run -it -p 443:8443 --rm -e "VNC_USER=foo" -e "VNC_PW=bar" \
 | 
			
		||||
  kasmvnctester_${os}:$os_codename
 | 
			
		||||
@ -0,0 +1,13 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
cd "$(dirname "$0")"
 | 
			
		||||
os="centos"
 | 
			
		||||
os_codename="core"
 | 
			
		||||
 | 
			
		||||
docker build --build-arg KASMVNC_PACKAGE_DIR="build/${os}_${os_codename}" \
 | 
			
		||||
  -t kasmvnctester_barebones_${os}:$os_codename \
 | 
			
		||||
  -f dockerfile.${os}_${os_codename}.barebones.rpm.test .
 | 
			
		||||
docker run -it -p 443:8443 --rm -e "VNC_USER=foo" -e "VNC_PW=bar" \
 | 
			
		||||
  kasmvnctester_barebones_${os}:$os_codename
 | 
			
		||||
@ -0,0 +1,81 @@
 | 
			
		||||
Name:           kasmvncserver
 | 
			
		||||
Version:        0.9.1~beta
 | 
			
		||||
Release:        1%{?dist}
 | 
			
		||||
Summary:        Lorem ipsum
 | 
			
		||||
 | 
			
		||||
License: GPLv2+
 | 
			
		||||
URL: https://github.com/kasmtech/KasmVNC
 | 
			
		||||
 | 
			
		||||
BuildRequires: rsync
 | 
			
		||||
Requires: xorg-x11-xauth, xorg-x11-xkb-utils, xkeyboard-config, xorg-x11-server-utils, openssl, perl
 | 
			
		||||
Conflicts: tigervnc-server
 | 
			
		||||
 | 
			
		||||
%description
 | 
			
		||||
 | 
			
		||||
Lorem ipsum
 | 
			
		||||
 | 
			
		||||
%prep
 | 
			
		||||
 | 
			
		||||
%install
 | 
			
		||||
rm -rf $RPM_BUILD_ROOT
 | 
			
		||||
DESTDIR=$RPM_BUILD_ROOT make -f /src/debian/Makefile.to_fakebuild_tar_package install
 | 
			
		||||
 | 
			
		||||
%files
 | 
			
		||||
/usr/bin/*
 | 
			
		||||
/usr/share/man/man1/*
 | 
			
		||||
/usr/share/kasmvnc/www
 | 
			
		||||
 | 
			
		||||
%license /usr/share/doc/kasmvncserver/LICENCE.TXT
 | 
			
		||||
%doc /usr/share/doc/kasmvncserver/README.md
 | 
			
		||||
 | 
			
		||||
%changelog
 | 
			
		||||
* Fri Feb 12 2021 KasmTech <info@kasmweb.com> - 0.9.1~beta-1
 | 
			
		||||
- Initial release of the rpm package.
 | 
			
		||||
 | 
			
		||||
%post
 | 
			
		||||
  bindir=/usr/bin
 | 
			
		||||
  mandir=/usr/share/man
 | 
			
		||||
  commands="kasmvncserver kasmvncpasswd kasmvncconfig Xkasmvnc"
 | 
			
		||||
 | 
			
		||||
  for kasm_command in $commands; do
 | 
			
		||||
    generic_command=`echo "$kasm_command" | sed -e 's/kasm//'`;
 | 
			
		||||
    update-alternatives --install "$bindir/$generic_command" \
 | 
			
		||||
      "$generic_command" "$bindir/$kasm_command" 90 \
 | 
			
		||||
      --slave "$mandir/man1/$generic_command.1.gz" "$generic_command.1.gz" \
 | 
			
		||||
        "$mandir/man1/$kasm_command.1.gz"
 | 
			
		||||
  done
 | 
			
		||||
 | 
			
		||||
  kasmvnc_group="kasmvnc"
 | 
			
		||||
 | 
			
		||||
  create_kasmvnc_group() {
 | 
			
		||||
    if ! getent group "$kasmvnc_group" >/dev/null; then
 | 
			
		||||
	    groupadd --system "$kasmvnc_group"
 | 
			
		||||
    fi
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  make_self_signed_certificate() {
 | 
			
		||||
    local cert_file=/etc/pki/tls/private/kasmvnc.pem
 | 
			
		||||
    [ -f "$cert_file" ] && return 0
 | 
			
		||||
 | 
			
		||||
    openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
 | 
			
		||||
      -keyout "$cert_file" \
 | 
			
		||||
      -out "$cert_file" -subj \
 | 
			
		||||
      "/C=US/ST=VA/L=None/O=None/OU=DoFu/CN=kasm/emailAddress=none@none.none"
 | 
			
		||||
    chgrp "$kasmvnc_group" "$cert_file"
 | 
			
		||||
    chmod 640 "$cert_file"
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  create_kasmvnc_group
 | 
			
		||||
  make_self_signed_certificate
 | 
			
		||||
 | 
			
		||||
%postun
 | 
			
		||||
  bindir=/usr/bin
 | 
			
		||||
  mandir=/usr/share/man
 | 
			
		||||
  commands="kasmvncserver kasmvncpasswd kasmvncconfig Xkasmvnc"
 | 
			
		||||
 | 
			
		||||
  for kasm_command in $commands; do
 | 
			
		||||
    generic_command=`echo "$kasm_command" | sed -e 's/kasm//'`;
 | 
			
		||||
    update-alternatives --remove "$generic_command" "$bindir/$kasm_command"
 | 
			
		||||
  done
 | 
			
		||||
 | 
			
		||||
  rm -f /etc/pki/tls/private/kasmvnc.pem
 | 
			
		||||
@ -1 +0,0 @@
 | 
			
		||||
etc/kasmvnc
 | 
			
		||||
@ -0,0 +1,10 @@
 | 
			
		||||
Description: Lintian complains about #!/usr/bin/env perl.
 | 
			
		||||
Author: Dmitry Maksyoma <ledestin@gmail.com>
 | 
			
		||||
--- a/unix/vncserver
 | 
			
		||||
+++ b/unix/vncserver
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
-#!/usr/bin/env perl
 | 
			
		||||
+#!/usr/bin/perl
 | 
			
		||||
 #
 | 
			
		||||
 #  Copyright (C) 2009-2010 D. R. Commander.  All Rights Reserved.
 | 
			
		||||
 #  Copyright (C) 2005-2006 Sun Microsystems, Inc.  All Rights Reserved.
 | 
			
		||||
@ -0,0 +1 @@
 | 
			
		||||
fix-kasmvncserver-perl-hashbang.patch
 | 
			
		||||
					Loading…
					
					
				
		Reference in New Issue