Added Containerized example Doom
This commit is contained in:
62
docker/Dockerfile.ubuntu18.doom
Normal file
62
docker/Dockerfile.ubuntu18.doom
Normal file
@@ -0,0 +1,62 @@
|
||||
FROM ubuntu:18.04
|
||||
|
||||
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=1
|
||||
|
||||
EXPOSE $VNC_PORT
|
||||
|
||||
WORKDIR $HOME
|
||||
|
||||
### REQUIRED STUFF ###
|
||||
|
||||
RUN apt-get update && apt-get install -y supervisor xfce4 xfce4-terminal xterm libnss-wrapper gettext libjpeg-dev wget
|
||||
RUN apt-get purge -y pm-utils xscreensaver*
|
||||
|
||||
RUN mkdir -p $STARTUPDIR
|
||||
COPY src/startup/ $STARTUPDIR
|
||||
RUN mkdir -p $HOME/.config/xfce4/xfconf/xfce-perchannel-xml
|
||||
COPY src/xfce/ $HOME/.config/xfce4/xfconf/xfce-perchannel-xml
|
||||
# overwite default with single app config
|
||||
RUN mv $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop-single-app.xml $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml
|
||||
RUN echo 'source $STARTUPDIR/generate_container_user' >> $HOME/.bashrc
|
||||
|
||||
# KasmVNC install
|
||||
RUN wget -qO- https://github.com/kasmtech/KasmVNC/releases/download/v0.9.1-beta/KasmVNC_0.9.1-beta_Ubuntu_18.04.tar.gz | tar xz --strip 1 -C /
|
||||
|
||||
### START CUSTOM STUFF ####
|
||||
|
||||
# We need the server to use a fixed resulution and have the client scale, which is not the default behavior of KasmVNC
|
||||
RUN sed -i "s#UI.initSetting('resize', 'remote');#UI.initSetting('resize', 'scale');#" /usr/local/share/kasmvnc/www/app/ui.js
|
||||
|
||||
RUN apt-get install -y chocolate-doom doom-wad-shareware prboom-plus freedoom
|
||||
|
||||
# Use software rendering, comment this out if you have a GPU
|
||||
#RUN mkdir -p $HOME/.local/share/chocolate-doom && \
|
||||
# echo 'force_software_renderer 1' > $HOME/.local/share/chocolate-doom/chocolate-doom.cfg
|
||||
|
||||
|
||||
### END CUSTOM STUFF ###
|
||||
|
||||
RUN chown -R 1000:0 $HOME
|
||||
USER 1000
|
||||
WORKDIR $HOME
|
||||
|
||||
ENTRYPOINT [ "/dockerstartup/vnc_startup.sh", "xfce4-terminal", "-e", "/usr/games/chocolate-doom" ]
|
||||
Reference in New Issue
Block a user