diff --git a/0.17/dockerfile b/0.17/dockerfile new file mode 100644 index 0000000..cb7e24a --- /dev/null +++ b/0.17/dockerfile @@ -0,0 +1,46 @@ +FROM frolvlad/alpine-glibc:alpine-3.9 + +MAINTAINER https://github.com/dtandersen/docker_factorio_server + +ARG USER=factorio +ARG GROUP=factorio +ARG PUID=845 +ARG PGID=845 + +ENV PORT=34197 \ + RCON_PORT=27015 \ + VERSION=0.17 \ + SHA1=127e7ff484ab263b13615d6114013ce0a66ac929 \ + SAVES=/factorio/saves \ + CONFIG=/factorio/config \ + MODS=/factorio/mods \ + SCENARIOS=/factorio/scenarios \ + SCRIPTOUTPUT=/factorio/script-output + +RUN mkdir -p /opt /factorio && \ + apk add --update --no-cache pwgen && \ + apk add --update --no-cache --virtual .build-deps curl && \ + curl -sSL https://www.factorio.com/get-download/$VERSION/headless/linux64 \ + -o /tmp/factorio_headless_x64_$VERSION.tar.xz && \ + echo "$SHA1 /tmp/factorio_headless_x64_$VERSION.tar.xz" | sha1sum -c && \ + tar xf /tmp/factorio_headless_x64_$VERSION.tar.xz --directory /opt && \ + chmod ugo=rwx /opt/factorio && \ + rm /tmp/factorio_headless_x64_$VERSION.tar.xz && \ + ln -s $SAVES /opt/factorio/saves && \ + ln -s $MODS /opt/factorio/mods && \ + ln -s $SCENARIOS /opt/factorio/scenarios && \ + ln -s $SCRIPTOUTPUT /opt/factorio/script-output && \ + apk del .build-deps && \ + addgroup -g $PGID -S $GROUP && \ + adduser -u $PUID -G $GROUP -s /bin/sh -SDH $USER && \ + chown -R $USER:$GROUP /opt/factorio /factorio + +VOLUME /factorio + +EXPOSE $PORT/udp $RCON_PORT/tcp + +COPY files/ / + +USER $USER + +ENTRYPOINT ["/docker-entrypoint.sh"]