Skip to content

Commit ea39c22

Browse files
committed
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".
1 parent daff143 commit ea39c22

File tree

5 files changed

+41
-1
lines changed

5 files changed

+41
-1
lines changed

Dockerfile.ubuntu-1804

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,15 @@ RUN locale-gen en_US.UTF-8
2424
ENV LANG=en_US.UTF-8
2525
ENV LANGUAGE=en_US:en
2626

27+
# Create non-root user
28+
RUN useradd -m -d /home/steam -s /bin/bash steam \
29+
&& mkdir -p /home/steam/Steam \
30+
&& chown -R steam:steam /home/steam
31+
USER steam
32+
WORKDIR /home/steam
33+
2734
ENTRYPOINT ["steamcmd"]
2835
CMD ["+help", "+quit"]
36+
37+
# Basic health check: run a no-op steamcmd help then quit
38+
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

Dockerfile.ubuntu-2004

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,15 @@ RUN locale-gen en_US.UTF-8
2424
ENV LANG=en_US.UTF-8
2525
ENV LANGUAGE=en_US:en
2626

27+
# Create non-root user
28+
RUN useradd -m -d /home/steam -s /bin/bash steam \
29+
&& mkdir -p /home/steam/Steam \
30+
&& chown -R steam:steam /home/steam
31+
USER steam
32+
WORKDIR /home/steam
33+
2734
ENTRYPOINT ["steamcmd"]
2835
CMD ["+help", "+quit"]
36+
37+
# Basic health check: run a no-op steamcmd help then quit
38+
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

Dockerfile.ubuntu-2204

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,15 @@ RUN locale-gen en_US.UTF-8
2424
ENV LANG=en_US.UTF-8
2525
ENV LANGUAGE=en_US:en
2626

27+
# Create non-root user
28+
RUN useradd -m -d /home/steam -s /bin/bash steam \
29+
&& mkdir -p /home/steam/Steam \
30+
&& chown -R steam:steam /home/steam
31+
USER steam
32+
WORKDIR /home/steam
33+
2734
ENTRYPOINT ["steamcmd"]
2835
CMD ["+help", "+quit"]
36+
37+
# Basic health check: run a no-op steamcmd help then quit
38+
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

Dockerfile.ubuntu-2404

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,15 @@ RUN locale-gen en_US.UTF-8
2424
ENV LANG=en_US.UTF-8
2525
ENV LANGUAGE=en_US:en
2626

27+
# Create non-root user
28+
RUN useradd -m -d /home/steam -s /bin/bash steam \
29+
&& mkdir -p /home/steam/Steam \
30+
&& chown -R steam:steam /home/steam
31+
USER steam
32+
WORKDIR /home/steam
33+
2734
ENTRYPOINT ["steamcmd"]
2835
CMD ["+help", "+quit"]
36+
37+
# Basic health check: run a no-op steamcmd help then quit
38+
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

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ SteamCMD is a command-line version of the Steam client. It allows you to downloa
2323

2424
## Usage
2525

26-
docker cli
26+
Docker cli
2727

2828
```bash
2929
docker run -it gameservermanagers/steamcmd:latest

0 commit comments

Comments
 (0)