Compare commits

...

25 Commits

Author SHA1 Message Date
313faf6fa5 0.17 tags 2019-02-26 14:19:35 -08:00
17109c97c1 removed unused USER directive 2019-02-26 14:18:43 -08:00
e62f5e799a updated docker tag for 0.17 2019-02-26 14:08:37 -08:00
47a7b8312f Merge pull request #183 from notgne2/master
workaround 0.17 issues (fix #181 and #182)
2019-02-26 13:26:44 -08:00
3cdf39d04b Merge branch '0.17-debug' into master 2019-02-26 21:19:14 +00:00
b840e86d21 use su-exec instead of gosu; don't use example map settings 2019-02-26 21:13:05 +00:00
a9047cae58 workaround 0.17 issues 2019-02-26 14:12:51 -07:00
bf128afdb4 debugging branch 2019-02-26 19:55:45 +00:00
f5ffae1cb4 make scripts executable 2019-02-26 19:44:26 +00:00
31b6768882 updated sha1 for 0.17.0 2019-02-26 19:24:59 +00:00
41eca9edf6 correct case on Dockerfile 2019-02-26 19:22:53 +00:00
86169c9dad add files to 0.17 2019-02-26 11:11:21 -08:00
f36e58058b update sha1 for 0.17.0 2019-02-26 11:09:08 -08:00
1a12761739 Merge pull request #178 from nexusmaniac/patch-1
Create 0.17 dockerfile
2019-02-26 11:03:14 -08:00
7f43739481 Create 0.17 dockerfile
Updated to Alpine 3.9 & added preliminary support for the 0.17 headless binary (once released) 💥
2019-02-26 17:31:14 +00:00
33e33a4db7 update to 0.16.51 2018-06-15 12:42:59 +00:00
2d54d50951 update to 0.16.50 2018-06-11 15:32:59 +00:00
86c8270d99 update to 0.16.49 2018-06-08 11:52:59 +00:00
5109bc1b40 update to 0.16.48 2018-06-07 17:33:00 +00:00
5e36f8bad8 update to 0.16.47 2018-05-31 07:47:59 +00:00
d1258008c1 Added catch all to allow custom options for factorio (#169) 2018-05-30 20:37:46 +02:00
275faa1fcc update to 0.16.46 2018-05-29 14:03:01 +00:00
87cf6c051a Fixed wrong checksum 2018-05-23 09:41:09 +02:00
3d8cdfcc1d update to 0.16.45 2018-05-22 20:07:47 +00:00
d3ef74b10d update to 0.16.43 (#162) 2018-05-16 18:03:52 +02:00
8 changed files with 191 additions and 7 deletions

View File

@ -9,8 +9,8 @@ ARG PGID=845
ENV PORT=34197 \
RCON_PORT=27015 \
VERSION=0.16.42 \
SHA1=470ab5cbe036b5aedc51d577401ef37fbbdfeece \
VERSION=0.16.51 \
SHA1=127e7ff484ab263b13615d6114013ce0a66ac929 \
SAVES=/factorio/saves \
CONFIG=/factorio/config \
MODS=/factorio/mods \

View File

@ -1,5 +1,4 @@
#!/bin/sh -x
set -e
id
@ -45,4 +44,5 @@ exec /opt/factorio/bin/x64/factorio \
--server-banlist $CONFIG/server-banlist.json \
--rcon-port $RCON_PORT \
--rcon-password "$(cat $CONFIG/rconpw)" \
--server-id /factorio/config/server-id.json
--server-id /factorio/config/server-id.json \
$@

44
0.17/Dockerfile Normal file
View File

@ -0,0 +1,44 @@
FROM frolvlad/alpine-glibc:alpine-3.9
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.17.0 \
SHA1=94cac02114f154453fefc0586946a5e08ad6a08f \
SAVES=/factorio/saves \
CONFIG=/factorio/config \
MODS=/factorio/mods \
SCENARIOS=/factorio/scenarios \
SCRIPTOUTPUT=/factorio/script-output
RUN mkdir -p /opt /factorio && \
apk add --update --no-cache pwgen su-exec && \
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 ugo=rwx /opt/factorio && \
rm /tmp/factorio_headless_x64_$VERSION.tar.xz && \
ln -s $SAVES /opt/factorio/saves && \
ln -s $MODS /opt/factorio/mods && \
ln -s $SCENARIOS /opt/factorio/scenarios && \
ln -s $SCRIPTOUTPUT /opt/factorio/script-output && \
apk del .build-deps && \
addgroup -g $PGID -S $GROUP && \
adduser -u $PUID -G $GROUP -s /bin/sh -SDH $USER && \
chown -R $USER:$GROUP /opt/factorio /factorio
VOLUME /factorio
EXPOSE $PORT/udp $RCON_PORT/tcp
COPY files/ /
ENTRYPOINT ["/docker-entrypoint.sh"]

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

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

56
0.17/files/docker-entrypoint.sh Executable file
View File

@ -0,0 +1,56 @@
#!/bin/sh -x
set -e
id
#
FACTORIO_VOL=/factorio
mkdir -p $FACTORIO_VOL
mkdir -p $SAVES
mkdir -p $CONFIG
mkdir -p $MODS
mkdir -p $SCENARIOS
mkdir -p $SCRIPTOUTPUT
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
echo "{}" > $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 \*.tmp.zip -mindepth 1 -print | grep -q .; then
rm -f $SAVES/*.tmp.zip
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
if [ "$(id -u)" = '0' ]; then
chown -R factorio:factorio $FACTORIO_VOL
fi
exec su-exec factorio /opt/factorio/bin/x64/factorio \
--port $PORT \
--start-server-load-latest \
--server-settings $CONFIG/server-settings.json \
--server-banlist $CONFIG/server-banlist.json \
--rcon-port $RCON_PORT \
--server-whitelist $CONFIG/server-whitelist.json \
--use-server-whitelist \
--rcon-password "$(cat $CONFIG/rconpw)" \
--server-id /factorio/config/server-id.json \
$@

44
0.17/files/scenario.sh Executable file
View File

@ -0,0 +1,44 @@
#!/bin/sh -x
if [ -z "$1" ]
then
echo "No argument supplied"
fi
SCENARIO=$1
set -e
id
mkdir -p $SAVES
mkdir -p $CONFIG
mkdir -p $MODS
mkdir -p $SCENARIOS
#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
exec /opt/factorio/bin/x64/factorio \
--port $PORT \
--start-server-load-scenario $SCENARIO \
--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

30
0.17/files/scenario2map.sh Executable file
View File

@ -0,0 +1,30 @@
#!/bin/sh -x
if [ -z "$1" ]
then
echo "No argument supplied"
fi
SCENARIO=$1
set -e
id
mkdir -p $SAVES
mkdir -p $CONFIG
mkdir -p $MODS
mkdir -p $SCENARIOS
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
exec /opt/factorio/bin/x64/factorio \
--scenario2map $SCENARIO

View File

@ -1,6 +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.16.42`, `0.16`, `stable`, `latest` [(0.16/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/master/0.16/Dockerfile)
* `0.17.0`, `0.17`, `latest` [(0.17/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/master/0.17/Dockerfile)
* `0.16.51`, `0.16`, `stable` [(0.16/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/master/0.16/Dockerfile)
* `0.15.40`, `0.15` [(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)
@ -39,7 +40,7 @@ sudo docker run -d \
-p 27015:27015/tcp \
-v /opt/factorio:/factorio \
--name factorio \
--restart=always \
--restart=always \
dtandersen/factorio
```
@ -131,7 +132,7 @@ docker run -d \
## Converting Scenarios to Regular Maps
If you would like to export your scenario to a saved map, you can use the example entrypoint similar to the Scenario usag above. Factorio will run once, converting the Scenario to a saved Map in your saves directory. A restart of the docker image using the standard options will then load that map, just as if the scenario were just started by the Scenarios example noted above.
If you would like to export your scenario to a saved map, you can use the example entrypoint similar to the Scenario usag above. Factorio will run once, converting the Scenario to a saved Map in your saves directory. A restart of the docker image using the standard options will then load that map, just as if the scenario were just started by the Scenarios example noted above.
```
docker run -d \