Files
docker-trackmania/Dockerfile
2025-06-21 12:21:19 +02:00

48 lines
1.3 KiB
Docker

# Create builder image
FROM debian:bookworm-slim AS builder
ARG VERSION="Latest"
RUN apt update && \
apt install -y --no-install-recommends \
ca-certificates wget unzip && \
rm -rf /var/lib/apt/lists/*
RUN mkdir -p /opt/Trackmania && \
wget -q -O /tmp/trackmania-server.zip "https://nadeo-download.cdn.ubi.com/trackmania/TrackmaniaServer_${VERSION}.zip" && \
unzip /tmp/trackmania-server.zip -d /opt/Trackmania/ && \
rm -f /tmp/trackmania-server.zip && \
rm -rf /opt/Trackmania/TrackmaniaServer.exe /opt/Trackmania/RemoteControlExamples && \
mv /opt/Trackmania/UserData /opt/Trackmania/UserDataSaved && \
mkdir -p /opt/Trackmania/UserData
#Download base image debian 12
FROM debian:bookworm-slim
# environment variables
ARG VERSION="Latest"
# Add labels
LABEL server.game="Trackmania" server.version="${VERSION}"
# Copy from builder image
COPY --from=builder /opt/Trackmania /opt/Trackmania
# Install dependencies and clean up
RUN apt update && \
apt install -y --no-install-recommends \
xmlstarlet ncat && \
rm -rf /var/lib/apt/lists/*
VOLUME [ "/opt/Trackmania/UserData" ]
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
WORKDIR /opt/Trackmania/
HEALTHCHECK --interval=5s --timeout=5s --start-period=20s --retries=3 \
CMD nc -z -v 127.0.0.1 5000 || exit 1
ENTRYPOINT [ "/entrypoint.sh" ]