Files

44 lines
984 B
Docker

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"]