SteamCMD Ubuntu
Overview
Section titled “Overview”Ubuntu 24.04 base with steamcmd preinstalled at /opt/steamcmd/, plus a /usr/local/bin/steamcmd shim for direct invocation.
Two consumers:
- Local — interactive
docker run -it --rm -v ~/steam-export:/export ghcr.io/kbve/steamcmd-ubuntu:24.04 bashto capture a Linux-flavoredconfig.vdffor theSTEAM_CONFIG_VDFGitHub secret. Steam Guard mobile auth runs once; the resulting machine token blob authenticates Linux runners on subsequent CI runs. - CI —
ci-unity.yml’sdeploy_steamjob uses this image to runsteamcmd +run_app_buildagainst the demo / mainapp_build_<label>.vdfconfigs.
Image hygiene
Section titled “Image hygiene”- No credentials baked in. Each consumer brings its own
config.vdf(volume mount locally, secret restore in CI). - Self-update runs at image build time so first invocation isn’t paying the steamcmd bootstrap cost.
lib32gcc-s1is the only non-obvious runtime dep — steamcmd is a 32-bit Linux binary.
Local capture flow
Section titled “Local capture flow”mkdir -p ~/steam-exportdocker run -it --rm -v ~/steam-export:/export ghcr.io/kbve/steamcmd-ubuntu:24.04 bash# inside:# steamcmd +login h0lybyte → password + Steam Guard mobile confirm# quit# cp /root/Steam/config/config.vdf /export/# exit
base64 -i ~/steam-export/config.vdf -o /tmp/steam_config.b64gh secret set STEAM_CONFIG_VDF --repo kbve/kbve < /tmp/steam_config.b64rm -rf /tmp/steam_config.b64 ~/steam-exportPipeline
Section titled “Pipeline”pipeline: docker → manifest fan-out builds + pushes to ghcr.io/kbve/steamcmd-ubuntu:24.04 whenever version here outpaces version.toml.