1
0
mirror of https://github.com/carloe/docker-factorio.git synced 2024-12-24 10:07:09 +02:00

Update Dockerfile to run as non-privileged user

This commit is contained in:
Eric Swanson 2016-08-06 20:10:20 +00:00
parent 3fcfc83d9d
commit a9b26d2b23
2 changed files with 14 additions and 1 deletions

View File

@ -4,13 +4,20 @@ MAINTAINER Carlo Eugster <carlo@relaun.ch>
RUN apt-get update \
&& apt-get install -y wget \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
RUN useradd -m -d /opt/factorio -s /bin/bash factorio \
&& chown -R factorio.factorio /opt/factorio
USER factorio
ENV HOME /opt/factorio
WORKDIR /opt/factorio
RUN wget -q -O - https://www.factorio.com/download-headless/stable | grep -o -m1 "/get-download/.*/headless/linux64" | awk '{print "--no-check-certificate https://www.factorio.com"$1" -O /tmp/factorio.tar.gz"}' | xargs wget \
&& tar -xzf /tmp/factorio.tar.gz -C /opt \
&& rm -rf /tmp/factorio.tar.gz
ADD init.sh /opt/factorio/
WORKDIR /opt/factorio
EXPOSE 34197/udp
CMD ["./init.sh"]

View File

@ -20,6 +20,12 @@ docker run -d \
Use a docker volume to persist the savegames on the host machine rather than in the docker container.
```bash
mkdir $(pwd)/saves
# Make sure the saves dir can be written to by the "factorio" user in Docker, with uid 1000
sudo chown 1000:1000 $(pwd)/saves
# (alternatively, if you don't have root): chmod 777 $(pwd)/saves
docker run -d \
-v $(pwd)/saves:/opt/factorio/saves \
-p 34197:34197/udp \