FROM debian:12-slim ENV DEBIAN_FRONTEND=noninteractive ENV VALHEIM_SERVER_DIR=/opt/valheim ENV STEAMCMD_DIR=/opt/steamcmd ENV USER=valheim RUN apt-get update && \ apt-get install -y --no-install-recommends \ ca-certificates \ curl \ wget \ jq \ lib32gcc-s1 \ tini \ procps \ iproute2 && \ rm -rf /var/lib/apt/lists/* # Create user RUN useradd -m -d /home/${USER} -s /bin/bash ${USER} # Create directories RUN mkdir -p ${VALHEIM_SERVER_DIR} ${STEAMCMD_DIR} RUN chown -R ${USER}:${USER} /opt /home/${USER} USER ${USER} # Install SteamCMD RUN cd ${STEAMCMD_DIR} && \ wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz && \ tar -xvzf steamcmd_linux.tar.gz && \ rm steamcmd_linux.tar.gz # Copy entrypoint COPY entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh EXPOSE 2456/udp 2457/udp 2458/udp EXPOSE 8080 ENTRYPOINT ["/usr/bin/tini", "--"] CMD ["/entrypoint.sh"]