Use a custom pygbag template: canvas uses the full window (gui_divider 1), black page background, and redirect localhost to 127.0.0.1 because the pygbag runtime otherwise fetches pygame from a local :8000 dev proxy and the game never starts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
18 lines
719 B
Docker
18 lines
719 B
Docker
FROM python:3.12-slim AS build
|
|
WORKDIR /app
|
|
RUN pip install --no-cache-dir pygbag==0.9.3
|
|
COPY main.py ./
|
|
COPY src/ ./src/
|
|
COPY assets/ ./assets/
|
|
# Full-window canvas template; kept outside /app so it is not packed into the game.
|
|
COPY web/pygbag.tmpl /pygbag.tmpl
|
|
# Do not publish the desktop leaderboard or developer files.
|
|
RUN printf '[]\n' > src/highscore.json \
|
|
&& python -m pygbag --build --no_opt --disable-sound-format-error --title "Silent FH" --template /pygbag.tmpl .
|
|
|
|
FROM nginxinc/nginx-unprivileged:1.28-alpine
|
|
COPY --from=build /app/build/web/ /usr/share/nginx/html/
|
|
EXPOSE 8080
|
|
HEALTHCHECK --interval=30s --timeout=3s --start-period=10s \
|
|
CMD wget -q -O /dev/null http://127.0.0.1:8080/ || exit 1
|