Commit Graph
6 Commits
Author SHA1 Message Date
jensandClaude Sonnet 5 c6ae36ba67 Replace auto-download with an interactive HTML game setup UI
No games are fetched at container start anymore. scripts/setup_server.py
is a small stdlib-only Python HTTP server, started alongside Xvnc/fluxbox/
websockify, serving an HTML page on ${SETUP_PORT} (70${DISPLAY_NUM},
published as 7099 by run.sh) that lists every *.zip found live on the SMB
share with an Installed/Install status per game. Clicking Install
downloads and extracts just that game into ${GAMES_HOME} on demand.
Replaces the old fetch_games.sh, which unconditionally pulled every game
on first start.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NiNnj78HGx1KWyCCo39HSz
2026-07-28 08:37:12 +02:00
jensandClaude Sonnet 5 44bbd00336 Fetch games into a volume at runtime instead of baking them into the image
927MB of the image was just t7g's two CD ISOs, which can't be meaningfully
compressed (already-compressed FMV/audio). Move the smbget/unzip step out
of the Dockerfile and into scripts/fetch_games.sh, run from server.sh on
container start: it populates GAMES_HOME on first run and skips the fetch
if games are already present. run.sh mounts a named volume so the games
survive --rm restarts instead of being re-downloaded every time. Image
drops from 1.6GB to ~690MB; first container start now needs network access
to the vlda-01 SMB share to seed the volume.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NiNnj78HGx1KWyCCo39HSz
2026-07-28 08:25:26 +02:00
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
jensandClaude Sonnet 5 c4049a7d79 Add TODO.md
Tracks reducing the image size of jayfield/dosbox-novnc.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018QuKZRefXR3hVaUiXgeu6i
2026-07-27 23:37:26 +02:00
jensandClaude Sonnet 5 ecd160d542 Repoint to ich777/novnc-baseimage
jayfield/novnc-baseimage (built by docker-novnc-baseimage) has been
retired, so this now builds on the public ich777/novnc-baseimage
instead. That image puts Xvnc/websockify on $PATH and noVNC's web
client at /usr/share/novnc/ rather than /opt/TurboVNC and /tmp, so
server.sh is updated to match. Verified with a full rebuild and
container start: Xvnc, fluxbox, and websockify all come up and the
noVNC web UI responds.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018QuKZRefXR3hVaUiXgeu6i
2026-07-27 23:34:15 +02:00
jens 2a3eb9218e Initial commit 2024-05-31 19:13:10 +02:00