FROM debian:12-slim ENV DEBIAN_FRONTEND=noninteractive ENV STEAMCMDDIR=/opt/steamcmd ENV VALHEIMDIR=/opt/valheim ENV BACKUPDIR=/backups RUN apt-get update && \ apt-get install -y --no-install-recommends \ ca-certificates \ curl \ wget \ unzip \ tzdata \ lib32gcc-s1 \ lib32stdc++6 && \ rm -rf /var/lib/apt/lists/* # Create directories and install SteamCMD RUN mkdir -p "${STEAMCMDDIR}" "${VALHEIMDIR}" "${BACKUPDIR}" && \ cd "${STEAMCMDDIR}" && \ wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz && \ tar -xzf steamcmd_linux.tar.gz && rm steamcmd_linux.tar.gz # Set working directory BEFORE copying scripts WORKDIR ${VALHEIMDIR} # Copy scripts COPY entrypoint.sh /entrypoint.sh COPY backup.sh /backup.sh RUN chmod +x /entrypoint.sh /backup.sh # Copy managed wrapper into the correct directory COPY start_server_managed.sh ./start_server_managed.sh RUN chmod +x ./start_server_managed.sh EXPOSE 2456/udp 2457/udp 2458/udp VOLUME ["/config", "/backups"] ENTRYPOINT ["/entrypoint.sh"]