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-cert
WORKDIR $HOME

RUN mkdir ~/.vnc && echo '/usr/bin/xfce4-session &' >> ~/.vnc/xstartup && \
  chmod +x ~/.vnc/xstartup

ENTRYPOINT [ "/dockerstartup/vnc_startup.sh" ]
