Browse Source

feat(docker): enhance Dockerfiles with user creation and health check

* Added non-root user creation for SteamCMD in Dockerfiles for Ubuntu 18.04, 20.04, 22.04, and 24.04.
* Included a basic health check to ensure SteamCMD is operational.
* Updated README to correct "docker cli" to "Docker cli".
repo-sync/main
Daniel Gibbs 1 day ago
parent
commit
ea39c225bb
Failed to extract signature
  1. 10
      Dockerfile.ubuntu-1804
  2. 10
      Dockerfile.ubuntu-2004
  3. 10
      Dockerfile.ubuntu-2204
  4. 10
      Dockerfile.ubuntu-2404
  5. 2
      README.md

10
Dockerfile.ubuntu-1804

@ -24,5 +24,15 @@ RUN locale-gen en_US.UTF-8
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
# Create non-root user
RUN useradd -m -d /home/steam -s /bin/bash steam \
&& mkdir -p /home/steam/Steam \
&& chown -R steam:steam /home/steam
USER steam
WORKDIR /home/steam
ENTRYPOINT ["steamcmd"]
CMD ["+help", "+quit"]
# Basic health check: run a no-op steamcmd help then quit
HEALTHCHECK --interval=30m --timeout=30s --start-period=30s --retries=3 CMD steamcmd +login anonymous +app_info_update 1 +quit > /dev/null 2>&1 || exit 1

10
Dockerfile.ubuntu-2004

@ -24,5 +24,15 @@ RUN locale-gen en_US.UTF-8
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
# Create non-root user
RUN useradd -m -d /home/steam -s /bin/bash steam \
&& mkdir -p /home/steam/Steam \
&& chown -R steam:steam /home/steam
USER steam
WORKDIR /home/steam
ENTRYPOINT ["steamcmd"]
CMD ["+help", "+quit"]
# Basic health check: run a no-op steamcmd help then quit
HEALTHCHECK --interval=30m --timeout=30s --start-period=30s --retries=3 CMD steamcmd +login anonymous +app_info_update 1 +quit > /dev/null 2>&1 || exit 1

10
Dockerfile.ubuntu-2204

@ -24,5 +24,15 @@ RUN locale-gen en_US.UTF-8
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
# Create non-root user
RUN useradd -m -d /home/steam -s /bin/bash steam \
&& mkdir -p /home/steam/Steam \
&& chown -R steam:steam /home/steam
USER steam
WORKDIR /home/steam
ENTRYPOINT ["steamcmd"]
CMD ["+help", "+quit"]
# Basic health check: run a no-op steamcmd help then quit
HEALTHCHECK --interval=30m --timeout=30s --start-period=30s --retries=3 CMD steamcmd +login anonymous +app_info_update 1 +quit > /dev/null 2>&1 || exit 1

10
Dockerfile.ubuntu-2404

@ -24,5 +24,15 @@ RUN locale-gen en_US.UTF-8
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
# Create non-root user
RUN useradd -m -d /home/steam -s /bin/bash steam \
&& mkdir -p /home/steam/Steam \
&& chown -R steam:steam /home/steam
USER steam
WORKDIR /home/steam
ENTRYPOINT ["steamcmd"]
CMD ["+help", "+quit"]
# Basic health check: run a no-op steamcmd help then quit
HEALTHCHECK --interval=30m --timeout=30s --start-period=30s --retries=3 CMD steamcmd +login anonymous +app_info_update 1 +quit > /dev/null 2>&1 || exit 1

2
README.md

@ -23,7 +23,7 @@ SteamCMD is a command-line version of the Steam client. It allows you to downloa
## Usage
docker cli
Docker cli
```bash
docker run -it gameservermanagers/steamcmd:latest

Loading…
Cancel
Save