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
22 hours ago
Failed to extract signature
5 changed files with
41 additions and
1 deletions
Dockerfile.ubuntu-1804
Dockerfile.ubuntu-2004
Dockerfile.ubuntu-2204
Dockerfile.ubuntu-2404
README.md
@ -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
@ -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
@ -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
@ -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
@ -23,7 +23,7 @@ SteamCMD is a command-line version of the Steam client. It allows you to downloa
## Usage
d ocker cli
D ocker cli
```bash
docker run -it gameservermanagers/steamcmd:latest