run as factorio user

This commit is contained in:
David Andersen 2017-12-13 18:33:51 +00:00
parent 1ce5c5db7e
commit cb5bc74e4b
3 changed files with 36 additions and 9 deletions

View File

@ -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" \
]

View File

@ -5,4 +5,5 @@ services:
ports:
- "34197:34197"
volumes:
- /tmp/factorio:/factorio
- /opt/factorio:/factorio
user: 1001:1001

5
0.16/docker-entrypoint.sh Normal file → Executable file
View File

@ -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 \