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
|
FROM debian:buster
|
||||||
|
|
||||||
ENV KASMVNC_BUILD_OS debian
|
ENV KASMVNC_BUILD_OS debian
|
||||||
ENV KASMVNC_BUILD_OS_VER 10
|
ENV KASMVNC_BUILD_OS_CODENAME buster
|
||||||
ENV XORG_VER 1.20.10
|
ENV XORG_VER 1.20.10
|
||||||
ENV DEBIAN_FRONTEND noninteractive
|
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
|
FROM ubuntu:18.04
|
||||||
|
|
||||||
ENV KASMVNC_BUILD_OS ubuntu
|
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
|
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 && \
|
RUN apt-get update && \
|
||||||
apt-get -y install vim build-essential devscripts equivs
|
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