Files
docker-dosbox-novnc/Dockerfile
T
jensandClaude Sonnet 5 79cc239dca Shrink image by merging game fetch/extract into one layer
The downloaded zips and their extracted contents lived in separate RUN
layers, so the zips never actually left the image despite a later
rm -rf /tmp/apps layer. unzip/smbclient were also left installed after
only being needed at build time. Merging fetch, extract, cleanup, and
package purge into a single RUN drops the image from 2.31GB to 1.6GB.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NiNnj78HGx1KWyCCo39HSz
2026-07-28 08:18:18 +02:00

38 lines
1.2 KiB
Docker

# 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 are only needed to fetch and extract the games below, so they're
# purged again in this same layer instead of being left in the final image.
RUN apt-get update && \
apt-get -y install --no-install-recommends dosbox alsa-utils unzip smbclient && \
mkdir -p ${GAMES_HOME} /tmp/apps && \
cd /tmp/apps && \
smbget -au smb://vlda-01/software/Games/dosbox/stuntcar.zip && \
smbget -au smb://vlda-01/software/Games/dosbox/t7g.zip && \
unzip -o -d ${GAMES_HOME} "*.zip" && \
cd / && \
rm -rf /tmp/apps && \
apt-get -y purge unzip smbclient && \
apt-get -y autoremove && \
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
ADD scripts ${SCRIPTS_HOME}
WORKDIR /
EXPOSE 60${DISPLAY_NUM}
EXPOSE 5900
ENTRYPOINT ["/opt/scripts/server_start.sh", "/opt/scripts/server.sh"]
# see also
# https://github.com/ich777/docker-krusader