44 lines
984 B
Docker
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"]
|