Files
yolks/games/source/Dockerfile
David Wolfe cb724db09c Remove numactl & Dockerfile Cleanup (#294)
- Removed the `numactl` package from all images as SteamCMD no longer seems to have issues logging in with a real Steam account (at least on bookworm, which all these images use).

The following cleanup changes only apply to Dockerfiles that had `numactl` removed:
- Changed all Dockerfiles to use `apt` (instead of `apt-get`) for consistency.
- Changed all `apt install` packages to a "list" format for consistency and easier diff reading for future package additions/removals.
- Added `locales` to `games\source\Dockerfile` and set the locale.
- Moved all instances of the `useradd` command down with the other user and working directory commands. Also  added the shell specification flag if it was missing.
- Unified all Dockerfiles to use space-indenting and fixed some indent spacing.
- Cleaned up some comments.
2025-03-30 11:07:52 +02:00

97 lines
3.5 KiB
Docker

#
# Copyright (c) 2021 Matthew Penner
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
FROM --platform=$TARGETOS/$TARGETARCH debian:bookworm-slim
LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io"
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
LABEL org.opencontainers.image.licenses=MIT
ENV DEBIAN_FRONTEND=noninteractive
RUN dpkg --add-architecture i386 \
&& apt update \
&& apt upgrade -y \
&& apt install -y \
curl \
g++ \
gcc \
gdb \
iproute2 \
locales \
net-tools \
netcat-traditional \
tar \
telnet \
tini \
tzdata \
wget \
lib32gcc-s1 \
lib32stdc++6 \
lib32tinfo6 \
lib32z1 \
libcurl3-gnutls:i386 \
libcurl4-gnutls-dev:i386 \
libcurl4:i386 \
libfontconfig1 \
libgcc-11-dev \
libgcc-12-dev \
libncurses5:i386 \
libsdl1.2debian \
libsdl2-2.0-0:i386 \
libssl-dev:i386 \
libtinfo6:i386 \
# Install rcon
RUN cd /tmp/ \
&& curl -sSL https://github.com/gorcon/rcon-cli/releases/download/v0.10.3/rcon-0.10.3-amd64_linux.tar.gz > rcon.tar.gz \
&& tar xvf rcon.tar.gz \
&& mv rcon-0.10.3-amd64_linux/rcon /usr/local/bin/
# Temp fix for things that still need libssl1.1
RUN if [ "$(uname -m)" = "x86_64" ]; then \
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb && \
dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb && \
rm libssl1.1_1.1.0g-2ubuntu4_amd64.deb; \
fi
# Set the locale
RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && \
locale-gen
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
ENV LC_ALL=en_US.UTF-8
# Setup user and working directory
RUN useradd -m -d /home/container -s /bin/bash container
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
STOPSIGNAL SIGINT
COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
CMD ["/entrypoint.sh"]