From cb5bc74e4b0352ad33f489487d1b3fd5b557a470 Mon Sep 17 00:00:00 2001 From: David Andersen Date: Wed, 13 Dec 2017 18:33:51 +0000 Subject: [PATCH] run as factorio user --- 0.16/Dockerfile | 37 +++++++++++++++++++++++++++++-------- 0.16/docker-compose.yml | 3 ++- 0.16/docker-entrypoint.sh | 5 +++++ 3 files changed, 36 insertions(+), 9 deletions(-) mode change 100644 => 100755 0.16/docker-entrypoint.sh diff --git a/0.16/Dockerfile b/0.16/Dockerfile index 1330900..ccc917e 100644 --- a/0.16/Dockerfile +++ b/0.16/Dockerfile @@ -1,15 +1,25 @@ FROM frolvlad/alpine-glibc:alpine-3.6 +#FROM ubuntu:18.04 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.16.0 \ +# SHA1=b4d8d6db02aff914b823d5f525c0f0f2acd9c355 VERSION=0.15.40 \ SHA1=f79a975f6b8c0ee87e2fa60f7d1f7133f332c3ec VOLUME /factorio -RUN mkdir /opt && \ +RUN mkdir -p /opt && \ +# apt-get update && \ +# apt-get install -y curl xz-utils apk add --update --no-cache tini pwgen && \ apk add --update --no-cache --virtual .build-deps curl && \ curl -sSL https://www.factorio.com/get-download/$VERSION/headless/linux64 \ @@ -21,15 +31,26 @@ RUN mkdir /opt && \ ln -s /factorio/saves /opt/factorio/saves && \ ln -s /factorio/mods /opt/factorio/mods && \ apk del .build-deps && \ - addgroup -g 845 -S fdaemon && \ - adduser -u 845 -G fdaemon -s /bin/sh -SDH fdaemon && \ - chown -R fdaemon:fdaemon /opt/factorio /factorio - -USER fdaemon + addgroup -g $PGID -S $GROUP && \ + adduser -u $PUID -G $USER -s /bin/sh -SDH $GROUP && \ + chown -R $USER:$GROUP /opt/factorio /factorio EXPOSE $PORT/udp $RCON_PORT/tcp COPY ./docker-entrypoint.sh / -ENTRYPOINT ["/sbin/tini", "--"] -CMD ["/docker-entrypoint.sh"] +#USER $USER + +#ENTRYPOINT ["/sbin/tini", "--"] +#CMD ["/docker-entrypoint.sh"] +ENTRYPOINT ["/docker-entrypoint.sh"] +CMD ["/opt/factorio/bin/x64/factorio", \ + "--port", "$PORT", \ + "--start-server-load-latest", \ + "--server-settings $CONFIG/server-settings.json", \ + "--server-whitelist $CONFIG/server-whitelist.json", \ + "--server-banlist $CONFIG/server-banlist.json", \ + "--rcon-port $RCON_PORT", \ + "--rcon-password", "$(cat $CONFIG/rconpw)", \ + "--server-id /factorio/config/server-id.json" \ + ] diff --git a/0.16/docker-compose.yml b/0.16/docker-compose.yml index 48f155e..e04d636 100644 --- a/0.16/docker-compose.yml +++ b/0.16/docker-compose.yml @@ -5,4 +5,5 @@ services: ports: - "34197:34197" volumes: - - /tmp/factorio:/factorio + - /opt/factorio:/factorio + user: 1001:1001 diff --git a/0.16/docker-entrypoint.sh b/0.16/docker-entrypoint.sh old mode 100644 new mode 100755 index 9228ef1..56bbf16 --- a/0.16/docker-entrypoint.sh +++ b/0.16/docker-entrypoint.sh @@ -2,6 +2,8 @@ set -e +id + SAVES=/factorio/saves CONFIG=/factorio/config @@ -9,6 +11,8 @@ mkdir -p $SAVES mkdir -p /factorio/mods mkdir -p $CONFIG +#chown -R factorio /factorio + if [ ! -f $CONFIG/rconpw ]; then echo $(pwgen 15 1) > $CONFIG/rconpw fi @@ -32,6 +36,7 @@ if ! find -L $SAVES -iname \*.zip -mindepth 1 -print | grep -q .; then --map-settings $CONFIG/map-settings.json fi +#exec "$@" exec /opt/factorio/bin/x64/factorio \ --port $PORT \ --start-server-load-latest \