FROM archlinux:base-devel AS builder RUN pacman -Syuu --noconfirm svn cmake gcc-libs zlib sdl2 libpng bzip2 freetype2 fontconfig hicolor-icon-theme # Build Simutrans from sources to disable the GUI WORKDIR /opt/simutrans RUN svn checkout svn://servers.simutrans.org/simutrans/trunk WORKDIR /opt/simutrans/trunk RUN svn update -r r11992 # TODO: Parameterize somehow? RUN cmake -DCMAKE_BUILD_TYPE=Release -DSIMUTRANS_BACKEND=posix -B build RUN cmake --build build --target install FROM archlinux:base RUN pacman -Syuu --noconfirm libpng bzip2 freetype2 fontconfig simutrans-pak128 COPY --from=builder /opt/simutrans/trunk/simutrans /usr/share/simutrans COPY --from=builder /opt/simutrans/trunk/build/simutrans/simutrans /usr/share/simutrans/simutrans-server WORKDIR /usr/share/simutrans RUN mkdir -p /srv/simutrans && \ chmod 777 /srv/simutrans && \ chown -R 1000:1000 /usr/share/simutrans /srv/simutrans && \ ln -s /usr/share/games/simutrans/pak128 /usr/share/simutrans/pak128 USER 1000:1000 ENTRYPOINT ["/usr/share/simutrans/simutrans-server", "-use_workdir", "-server", "-log", "-singleuser", "-nomidi", "-nosound", "-set_userdir", "/srv/simutrans", "-objects", "pak128"] CMD ["--help"] EXPOSE 13356 # Override at runtime: # -server_name NAME Name of server for announcements # -server_admin_pw PW password for server administration