factorio-docker/0.17/Dockerfile

47 lines
1.5 KiB
Docker
Raw Normal View History

2019-02-26 20:24:59 +01:00
FROM frolvlad/alpine-glibc:alpine-3.9
2019-05-15 13:07:30 +02:00
LABEL maintainer="https://github.com/factoriotools/factorio-docker"
2019-02-26 20:24:59 +01:00
ARG USER=factorio
ARG GROUP=factorio
ARG PUID=845
ARG PGID=845
ENV PORT=34197 \
RCON_PORT=27015 \
2019-05-16 17:59:12 +02:00
VERSION=0.17.40 \
SHA1=56bdcb95dbc6d426a51ea2fdd2ff63789a641db7 \
2019-02-26 20:24:59 +01:00
SAVES=/factorio/saves \
CONFIG=/factorio/config \
MODS=/factorio/mods \
SCENARIOS=/factorio/scenarios \
SCRIPTOUTPUT=/factorio/script-output \
2019-05-17 09:11:09 +02:00
PUID="$PUID" \
PGID="$PGID"
2019-02-26 20:24:59 +01:00
RUN mkdir -p /opt /factorio && \
apk add --update --no-cache pwgen su-exec binutils gettext libintl shadow && \
2019-02-26 20:24:59 +01:00
apk add --update --no-cache --virtual .build-deps curl && \
2019-05-17 09:11:09 +02:00
curl -sSL "https://www.factorio.com/get-download/$VERSION/headless/linux64" \
2019-02-26 20:24:59 +01:00
-o /tmp/factorio_headless_x64_$VERSION.tar.xz && \
echo "$SHA1 /tmp/factorio_headless_x64_$VERSION.tar.xz" | sha1sum -c && \
2019-05-17 09:11:09 +02:00
tar xf "/tmp/factorio_headless_x64_$VERSION.tar.xz" --directory /opt && \
2019-02-26 20:24:59 +01:00
chmod ugo=rwx /opt/factorio && \
2019-05-17 09:11:09 +02:00
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 && \
2019-02-26 20:24:59 +01:00
apk del .build-deps && \
2019-05-17 09:11:09 +02:00
addgroup -g "$PGID" -S "$GROUP" && \
adduser -u "$PUID" -G "$GROUP" -s /bin/sh -SDH "$USER" && \
chown -R "$USER":"$GROUP" /opt/factorio /factorio
2019-02-26 20:24:59 +01:00
VOLUME /factorio
EXPOSE $PORT/udp $RCON_PORT/tcp
COPY files/ /
ENTRYPOINT ["/docker-entrypoint.sh"]