# syntax=docker/dockerfile:1 FROM ich777/novnc-baseimage ENV DISPLAY_NUM=99 ENV DISPLAY=:${DISPLAY_NUM} ENV GAMES_HOME=/opt/games ENV SCRIPTS_HOME=/opt/scripts ENV PATH=${PATH}:${SCRIPTS_HOME} # unzip/smbclient/python3 are needed at runtime: the games are no longer baked into the # image, setup_server.py serves an HTML install UI (backed by smbget+unzip) that the user # drives on ${SETUP_PORT} instead of anything being auto-downloaded at container start. RUN apt-get update && \ apt-get -y install --no-install-recommends dosbox alsa-utils unzip smbclient python3 && \ rm -rf /var/lib/apt/lists/* RUN openssl req -x509 -nodes -newkey rsa:2048 -keyout /tmp/novnc.key -out /tmp/novnc.pem -days 3650 -subj "/C=US/ST=NY/L=NY/O=NY/OU=NY/CN=NY emailAddress=email@example.com" RUN touch /root/.Xauthority RUN mkdir -p ${GAMES_HOME} VOLUME ${GAMES_HOME} ADD scripts ${SCRIPTS_HOME} WORKDIR / EXPOSE 60${DISPLAY_NUM} EXPOSE 70${DISPLAY_NUM} EXPOSE 5900 ENTRYPOINT ["/opt/scripts/server_start.sh", "/opt/scripts/server.sh"] # see also # https://github.com/ich777/docker-krusader