Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ All notable changes to Gameplane are documented here. The format is based on
to follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html) once it
reaches `1.0.0`. Pre-1.0 minor versions may contain breaking changes.

See the [unreleased change entries](changelog/unreleased/) for individual fixes and upgrade notes.

## [Unreleased]

## [0.4.0] — 2026-11-10
Expand Down
4 changes: 4 additions & 0 deletions changelog/unreleased/922-steamcmd-signed-mirrors.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# SteamCMD build mirror fallback

SteamCMD builds can switch to alternate signed Ubuntu archives when the primary archive is
unreachable. Package signature verification and the pinned CA bundle remain in effect. [PR #922](https://github.com/GameplanePanel/Gameplane/pull/922)
19 changes: 12 additions & 7 deletions containers/common/steamcmd/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -53,13 +53,18 @@ FROM steamcmd/steamcmd@sha256:a3ea6f8722e7b2ed2300927076794db199febd6fa4a316c0b0
ARG GAMESERVER_UID=10000
ARG GAMESERVER_GID=10000

# Install dependencies needed by SteamCMD and game servers.
# ca-certificates is needed for HTTPS to the Steam CDN. Whether the upstream
# steamcmd/steamcmd image already ships it could not be verified offline (no
# shell access to introspect the base image's package list from here); the
# install is idempotent and cheap either way, so it stays as a safety net —
# `apt-get install` on an already-installed package is a no-op.
RUN apt-get update && \
# Keep Canonical first for each pocket. Derived games inherit the same signed
# archive and fallback mirrors when they install tini or Wine.
RUN set -e; \
for origin in archive security; do \
printf '%s\tpriority:1\n%s\tpriority:2\n%s\tpriority:3\n' \
"http://${origin}.ubuntu.com/ubuntu/" \
'https://mirror.math.princeton.edu/pub/ubuntu/' \
'https://mirrors.edge.kernel.org/ubuntu/' > "/etc/apt/${origin}.mirrors"; \
done; \
sed -Ei 's#^URIs: https?://(archive|security)\.ubuntu\.com/ubuntu/?$#URIs: mirror+file:/etc/apt/\1.mirrors#' \
/etc/apt/sources.list.d/ubuntu.sources; \
apt-get --error-on=any update && \
apt-get install -y --no-install-recommends ca-certificates=20260816ubuntu0.26.04.2 && \
rm -rf /var/lib/apt/lists/*

Expand Down
Loading