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/*

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

COPY entrypoint.sh /entrypoint.sh
COPY backup.sh /backup.sh
RUN chmod +x /entrypoint.sh /backup.sh

WORKDIR ${VALHEIMDIR}

EXPOSE 2456/udp 2457/udp 2458/udp

VOLUME ["/config", "/backups"]

ENTRYPOINT ["/entrypoint.sh"]
