Compare commits

...

28 Commits

Author SHA1 Message Date
5f7f1f145c 0.16.1 2017-12-13 13:19:19 -08:00
6b58cb1909 0.16.1 2017-12-13 21:17:41 +00:00
d6d039d4a6 0.15.40 is stable 2017-12-13 10:59:16 -08:00
02d2c449d3 add 0.16 to readme 2017-12-13 10:53:22 -08:00
8091c3a9f9 0.16.0 2017-12-13 18:43:01 +00:00
cb5bc74e4b run as factorio user 2017-12-13 18:33:51 +00:00
1ce5c5db7e added 0.16 2017-12-13 08:54:30 -08:00
e2e7cc7798 remove chmod +x because file is already executable 2017-12-12 10:14:49 -08:00
487d345480 Merge pull request #89 from luliu/patch-1
Allowing non-root user to run factorio
2017-12-12 10:14:03 -08:00
7a276adb3c Allowing non-root user to run factorio
When starting the container with `docker run -d -u $(id -u factorio):$(id -g factorio) ...`, permission is denied upon trying to create `/opt/factorio/.lock` file.
This permission tweak will allow caller to pass desired user from host to container such that the permissions are retained correctly when games are saved to the mount.

Also, it just feels wrong to run factorio as root, container or not.  :)
2017-12-06 15:46:45 -05:00
7a5f3471d6 Merge pull request #86 from tsuckow/fix-permissions
Fix permissions in #85
2017-11-29 20:28:34 -08:00
eac273e2d6 Fix permissions in #85 2017-11-29 23:05:43 -05:00
768eaac7b2 Update README.md
0.15.37 is still stable
2017-11-29 14:44:06 -08:00
67a0420f06 Merge pull request #80 from schmic/master
Allow to define RCON port as well
2017-11-29 14:39:21 -08:00
b2248d1e8c Merge branch 'master' into master 2017-11-29 14:38:50 -08:00
60a124f22c Merge branch 'master' into master 2017-11-29 14:38:08 -08:00
76ee77b674 Merge pull request #84 from dtandersen/update-0.15.40
Updated to version 0.15.40
2017-11-29 14:33:46 -08:00
a6f0b66f9b update to 0.15.40 2017-11-29 21:48:31 +00:00
596eec12b6 Merge pull request #83 from dtandersen/update-0.15.39
Updated to version 0.15.39
2017-11-27 14:09:54 -08:00
e30e313a55 Merge branch 'master' into update-0.15.39 2017-11-27 14:09:28 -08:00
9528901b95 Merge pull request #81 from dtandersen/update-0.15.38
Updated to version 0.15.38
2017-11-27 14:07:22 -08:00
16c0f35c97 update to 0.15.39 2017-11-27 19:53:35 +00:00
623cd6ac87 update to 0.15.38 2017-11-24 12:23:33 +00:00
ca3a66ca2f Allow to define RCON port as well 2017-11-12 13:49:58 +01:00
bc74c61fc0 Merge pull request #77 from dtandersen/update-0.15.37
Updated to version 0.15.37
2017-10-17 08:31:30 -07:00
893124cf43 update to 0.15.37 2017-10-17 14:26:02 +00:00
92130e3b34 Merge pull request #76 from dtandersen/update-0.15.36
Updated to version 0.15.36
2017-10-10 09:43:46 -07:00
1194fde627 update to 0.15.36 2017-10-10 15:26:00 +00:00
6 changed files with 114 additions and 6 deletions

View File

@ -3,8 +3,9 @@ FROM frolvlad/alpine-glibc:alpine-3.6
MAINTAINER https://github.com/dtandersen/docker_factorio_server
ENV PORT=34197 \
VERSION=0.15.35 \
SHA1=5988294229e48962f999640d35c13eb48560eed1
RCON_PORT=27015 \
VERSION=0.15.40 \
SHA1=f79a975f6b8c0ee87e2fa60f7d1f7133f332c3ec
RUN mkdir /opt && \
apk add --update --no-cache tini pwgen && \
@ -13,6 +14,7 @@ RUN mkdir /opt && \
-o /tmp/factorio_headless_x64_$VERSION.tar.xz && \
echo "$SHA1 /tmp/factorio_headless_x64_$VERSION.tar.xz" | sha1sum -c && \
tar xf /tmp/factorio_headless_x64_$VERSION.tar.xz --directory /opt && \
chmod -R ugo=rwx /opt/factorio && \
rm /tmp/factorio_headless_x64_$VERSION.tar.xz && \
ln -s /factorio/saves /opt/factorio/saves && \
ln -s /factorio/mods /opt/factorio/mods && \
@ -20,7 +22,7 @@ RUN mkdir /opt && \
VOLUME /factorio
EXPOSE $PORT/udp 27015/tcp
EXPOSE $PORT/udp $RCON_PORT/tcp
COPY ./docker-entrypoint.sh /

View File

@ -38,6 +38,6 @@ exec /opt/factorio/bin/x64/factorio \
--server-settings $CONFIG/server-settings.json \
--server-whitelist $CONFIG/server-whitelist.json \
--server-banlist $CONFIG/server-banlist.json \
--rcon-port 27015 \
--rcon-port $RCON_PORT \
--rcon-password "$(cat $CONFIG/rconpw)" \
--server-id /factorio/config/server-id.json

49
0.16/Dockerfile Normal file
View File

@ -0,0 +1,49 @@
FROM frolvlad/alpine-glibc:alpine-3.6
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.1 \
SHA1=1247cdb57b8146896f1972c60911fe45119c384b
VOLUME /factorio
RUN mkdir -p /opt && \
apk add --update --no-cache pwgen && \
apk add --update --no-cache --virtual .build-deps curl && \
curl -sSL https://www.factorio.com/get-download/$VERSION/headless/linux64 \
-o /tmp/factorio_headless_x64_$VERSION.tar.xz && \
echo "$SHA1 /tmp/factorio_headless_x64_$VERSION.tar.xz" | sha1sum -c && \
tar xf /tmp/factorio_headless_x64_$VERSION.tar.xz --directory /opt && \
chmod -R ugo=rwx /opt/factorio && \
rm /tmp/factorio_headless_x64_$VERSION.tar.xz && \
ln -s /factorio/saves /opt/factorio/saves && \
ln -s /factorio/mods /opt/factorio/mods && \
apk del .build-deps && \
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 /
USER $USER
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" \
]

9
0.16/docker-compose.yml Normal file
View File

@ -0,0 +1,9 @@
version: '2'
services:
factorio:
build: .
ports:
- "34197:34197"
volumes:
- /opt/factorio:/factorio
user: 1000:1000

48
0.16/docker-entrypoint.sh Executable file
View File

@ -0,0 +1,48 @@
#!/bin/sh -x
set -e
id
SAVES=/factorio/saves
CONFIG=/factorio/config
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
if [ ! -f $CONFIG/server-settings.json ]; then
cp /opt/factorio/data/server-settings.example.json $CONFIG/server-settings.json
fi
if [ ! -f $CONFIG/map-gen-settings.json ]; then
cp /opt/factorio/data/map-gen-settings.example.json $CONFIG/map-gen-settings.json
fi
if [ ! -f $CONFIG/map-settings.json ]; then
cp /opt/factorio/data/map-settings.example.json $CONFIG/map-settings.json
fi
if ! find -L $SAVES -iname \*.zip -mindepth 1 -print | grep -q .; then
/opt/factorio/bin/x64/factorio \
--create $SAVES/_autosave1.zip \
--map-gen-settings $CONFIG/map-gen-settings.json \
--map-settings $CONFIG/map-settings.json
fi
#exec "$@"
exec /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

@ -1,7 +1,7 @@
# Factorio [![](https://images.microbadger.com/badges/image/dtandersen/factorio.svg)](https://microbadger.com/images/dtandersen/factorio "Get your own image badge on microbadger.com") [![Docker Pulls](https://img.shields.io/docker/pulls/dtandersen/factorio.svg)](https://hub.docker.com/r/dtandersen/factorio/) [![Docker Stars](https://img.shields.io/docker/stars/dtandersen/factorio.svg)](https://hub.docker.com/r/dtandersen/factorio/)
* `0.15.35`, `0.15`, `latest` [(0.15/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/master/0.15/Dockerfile)
* `0.15.35`, `stable` [(0.15/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/master/0.15/Dockerfile)
* `0.16.1`, `0.16`, `latest` [(0.16/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/master/0.16/Dockerfile)
* `0.15.40`, `0.15`, `stable` [(0.15/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/master/0.15/Dockerfile)
* `0.14.23`, `0.14` [(0.14/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/master/0.14/Dockerfile)
* `0.13.20`, `0.13` [(0.13/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/master/0.13/Dockerfile)