FROM debian:stretch
EXPOSE 34197/udp

ENV FACTORIO_VERSION 0.15.34

ADD bin/entrypoint.sh /entrypoint.sh

RUN \
  apt-get --yes update &&\
  apt-get --yes install wget xz-utils &&\
  apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* &&\
  adduser --disabled-password --gecos "" --home /opt/factorio factorio &&\
  chmod 755 /entrypoint.sh &&\
  mkdir -p /opt/factorio/headless /opt/factorio/saves &&\
  chown -R factorio /opt/factorio

USER factorio
RUN \
  wget -O /tmp/headless.tgz https://www.factorio.com/get-download/$FACTORIO_VERSION/headless/linux64 &&\
  tar xfv /tmp/headless.tgz -C /opt/factorio/headless && rm /tmp/headless.tgz

ADD default-config.json /opt/factorio/headless/factorio/config/default.json

VOLUME /opt/factorio/saves

ENTRYPOINT ["/entrypoint.sh"]
CMD ["--server-settings", "config/config.json","--map-gen-settings","config/mapgen.json","--map-settings","config/map.json"]