# syntax=docker/dockerfile:1 FROM debian:stable-slim ARG DFVER="51_05" ARG HACKVER="51.05-r1" #ARG DFVER="47_05" #ARG HACKVER="0.47.05-r8" # ARG GCCVER="7" # Could be 4.8 or 7 ARG PLEXVER="v0.2.1" ADD https://www.bay12games.com/dwarves/df_${DFVER}_linux.tar.bz2 /root/df.tar.bz2 # ADD https://github.com/DFHack/dfhack/releases/download/${HACKVER}/dfhack-${HACKVER}-Linux-64bit-gcc-${GCCVER}.tar.bz2 /root/dfhack.tar.bz2 ADD https://github.com/DFHack/dfhack/releases/download/${HACKVER}/dfhack-${HACKVER}-Linux-64bit.tar.bz2 /root/dfhack.tar.bz2 ADD https://github.com/white-rabbit-dfplex/dfplex/releases/download/${PLEXVER}-dfplex/dfplex-${PLEXVER}-linux64.zip /root/dfplex.zip EXPOSE 8000 EXPOSE 5000 EXPOSE 1234 ENV DEBIAN_FRONTEND=noninteractive RUN \ set -ex; \ apt -yqq update; \ apt -yqq upgrade; \ apt -yqq dist-upgrade; \ apt -yqq autopurge; \ apt -yqq --no-install-suggests --no-install-recommends install \ build-essential libsdl2-2.0-0 libsdl2-image-2.0-0 libsdl2-ttf-2.0-0 libopenal1 \ libsndfile1 libgtk2.0-0 libncursesw5 libglu1 unzip curl libboost-all-dev bzip2 \ libglx0 liblua5.1-0 \ ; \ unzip /root/dfplex.zip; \ mv -v dfplex-${PLEXVER}-Linux64 df_linux; \ tar xvj --skip-old-files -C df_linux -f /root/df.tar.bz2; \ tar xvj --skip-old-files -C df_linux -f /root/dfhack.tar.bz2; \ rm -f /root/df.tar.bz2 /root/dfplex.zip /root/dfhack.tar.bz2; \ chown -R 0:0 df_linux; \ mkdir /save; \ ln -s /save df_linux/data/save; \ ln -s /usr/lib/x86_64-linux-gnu/liblua5.1.so.0 df_linux/liblua.so; \ libcxx_orig="df_linux/libs/libstdc++.so.6"; \ libcxx_backup="df_linux/libs/libstdc++.so.6.backup"; \ if [ -e "$libcxx_orig" ] && [ ! -e "$libcxx_backup" ]; then mv "$libcxx_orig" "$libcxx_backup"; \ fi; \ printf '\n[PRINT_MODE:TEXT]\n[INTRO:NO]\n[TRUETYPE:NO]\n[SOUND:NO]\n' >> df_linux/data/init/init.txt; \ printf '\n[AUTOSAVE:SEASONAL]\n[AUTOBACKUP:YES]\n[INITIAL_SAVE:YES]\n' >> df_linux/data/init/d_init.txt; \ printf '\n[BIRTH_CITIZEN:A_D:D_D]\n[MOOD_BUILDING_CLAIMED:A_D:D_D]\n[ARTIFACT_BEGUN:A_D:D_D]\n' >> df_linux/data/init/announcements.txt; \ : VOLUME /save WORKDIR /df_linux COPY dfhack.sh . ENTRYPOINT ["./dfhack.sh"]