Compare commits

...

95 Commits

Author SHA1 Message Date
4c3818b27c update to 0.17.26 2019-04-08 18:34:12 +00:00
a6d480d695 update to 0.17.25 2019-04-04 19:04:12 +00:00
fce556160a update to 0.17.24 2019-04-02 17:39:13 +00:00
4727f62a8f update to 0.17.23 2019-03-29 16:58:35 +00:00
64cbf48082 update to 0.17.22 2019-03-29 12:43:35 +00:00
dd6bc76827 update to 0.17.21 2019-03-26 20:48:35 +00:00
b7108c64cb update to 0.17.20 2019-03-26 16:53:35 +00:00
2f53d7e03c update to 0.17.19 2019-03-26 14:58:35 +00:00
f97eee5f83 update to 0.17.18 2019-03-25 18:28:35 +00:00
0e1808c3f5 update to 0.17.17 2019-03-21 19:53:34 +00:00
629a3fade3 removed 0.13 2019-03-20 10:20:44 -07:00
3f88bcbf52 update to 0.17.16 2019-03-19 21:53:35 +00:00
fb36aaa0d9 update to 0.17.15 2019-03-18 20:33:35 +00:00
e22ce8989b update to 0.17.14 2019-03-15 20:23:35 +00:00
29f3e54adf Merge pull request #220 from MagicHack/master
Update to 0.17.13
2019-03-15 20:01:54 +01:00
148de89c52 Update to 0.17.13 2019-03-15 14:51:21 -04:00
4fc8da6581 Merge pull request #217 from MagicHack/master
Update to 0.17.12
2019-03-15 07:33:29 -07:00
e6290605c7 Update to 0.17.12 2019-03-14 16:45:22 -04:00
662372a1ba Update to 0.17.11 2019-03-11 23:24:16 +01:00
82f6bdf865 Merge pull request #212 from psykzz/patch-3
Update to 0.17.11
2019-03-11 23:23:44 +01:00
c9f4510195 Update to 0.17.11 2019-03-11 22:04:24 +00:00
6602c7cf7f Merge pull request #210 from notgne2/patch-1
Bump the Factorio version number in Dockerfile
2019-03-11 20:18:01 +01:00
8be7b47c07 Bump the Factorio version number in Dockerfile 2019-03-11 18:55:35 +00:00
717275198e Merge pull request #209 from pascaldulieu/master
0.17.10
2019-03-11 19:20:26 +01:00
d68ec4fdd4 Update README.md 2019-03-11 17:39:19 +00:00
47464e0b9b Update Dockerfile 2019-03-11 17:39:07 +00:00
23fdd4ed09 Update Dockerfile 2019-03-11 17:37:42 +00:00
e7a6bddc1f Merge pull request #207 from pascaldulieu/master
0.17.9
2019-03-08 11:49:10 -08:00
3d9e2999b6 Update README.md 2019-03-08 18:34:38 +00:00
7b33b9f6e8 Update Dockerfile 2019-03-08 18:33:28 +00:00
066c61fb85 Merge pull request #206 from pascaldulieu/master
0.17.8
2019-03-07 09:31:16 -08:00
303fbb5d97 Merge branch 'master' into master 2019-03-07 09:30:50 -08:00
3f4fd9e348 0.17.7 2019-03-07 09:18:40 -08:00
504ebfde23 Update README.md 2019-03-07 17:03:36 +00:00
f982370229 Update Dockerfile 2019-03-07 17:02:52 +00:00
51d3845af7 Merge pull request #202 from DeliciousJaffa/master
0.17.6
2019-03-05 11:02:59 -08:00
889c10bd48 0.17.6 2019-03-05 18:07:20 +00:00
46f397a9bb Update dockerfile for 0.17.6 2019-03-05 18:06:18 +00:00
988aa08a73 Merge pull request #200 from DBendit/stop-deleting-mapgen
Stop wiping out mapgen settings
2019-03-05 09:48:36 -08:00
ff6f4b6cd0 Merge pull request #201 from deveth0/master
#197: Enable envsubst
2019-03-05 09:48:06 -08:00
ea426ca0f4 Update README.md 2019-03-05 14:05:49 +01:00
4ecb1dcb6b Update README.md 2019-03-05 13:08:21 +01:00
3ef8c5309e #197: Enable envsubst - README 2019-03-05 13:05:27 +01:00
70c402b9dd #197: Enable envsubst 2019-03-05 12:47:23 +01:00
2b434ff08f Stop wiping out mapgen settings 2019-03-04 23:49:33 -06:00
49c5dff898 Merge pull request #199 from DBendit/fix-duplicate-banlist
Removing duplicate banlist line
2019-03-04 13:18:56 -08:00
35d22efc67 Removing duplicate banlist line 2019-03-04 15:14:59 -06:00
f1b75ac034 added contributor 2019-03-04 11:00:12 -08:00
fbb550916c Merge pull request #198 from DBendit/0.17.5
0.17.5
2019-03-04 10:53:26 -08:00
1d8be250e9 0.17.5 2019-03-04 12:47:39 -06:00
d90f45bd41 Merge pull request #195 from DBendit/0.17.4
0.17.4
2019-03-01 11:41:12 -08:00
2b201fea5b 0.17.4 2019-03-01 13:06:08 -06:00
b0a64e5939 minor text changes 2019-03-01 08:43:50 -08:00
ef24dad0bf Merge pull request #194 from DBendit/readme
Reorganizing volume listing to include map-settings and proper ordering
2019-02-28 14:01:13 -08:00
69a52f2c19 Reorganizing volume listing to include map-settings and proper ordering 2019-02-28 13:45:51 -06:00
902ad53bd3 Merge pull request #193 from DBendit/0.17.3
0.17.3
2019-02-28 11:36:06 -08:00
bd2af80a52 0.17.3 2019-02-28 13:26:18 -06:00
de9fb52d48 minor text changes 2019-02-28 09:35:29 -08:00
c0157e19ee added binutils 2019-02-28 17:33:30 +00:00
8e7bca222a generate map as factorio user 2019-02-27 19:45:13 +00:00
3e7c79ab74 update readme 2019-02-27 11:11:36 -08:00
979326ebf6 Merge pull request #189 from DBendit/fix-mapgen
Mapgen example fixed in 0.17.2
2019-02-27 11:10:11 -08:00
d5ac333364 make sure /opt/factorio/temp exists 2019-02-27 19:09:35 +00:00
e941e9a2c8 Mapgen example fixed in 0.17.2 2019-02-27 13:06:47 -06:00
6fece0c9e3 Merge pull request #188 from DBendit/0.17.2
0.17.2
2019-02-27 10:27:22 -08:00
10d000408c take ownership of /opt/factorio/temp 2019-02-27 18:25:54 +00:00
d59fd0844a 0.17.2 2019-02-27 12:23:11 -06:00
324920cdf8 don't run su-exec if container starts as non-root 2019-02-27 16:30:46 +00:00
2c88f5e982 Merge pull request #185 from DBendit/master
Adding support for 0.17's new banlist and adminlist options
2019-02-26 20:02:24 -08:00
26cec3ae93 Adding banlist support 2019-02-26 19:30:47 -06:00
7897de5080 Adding support for adminlist 2019-02-26 19:26:59 -06:00
b474afc1b7 tag description update 2019-02-26 14:51:16 -08:00
795ec7dc55 0.17.1 2019-02-26 14:34:54 -08:00
03f171e34c updated tag descriptions 2019-02-26 14:32:32 -08:00
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
14 changed files with 260 additions and 178 deletions

View File

@ -1,28 +0,0 @@
FROM frolvlad/alpine-glibc:alpine-3.4
MAINTAINER https://github.com/dtandersen/docker_factorio_server
COPY ./factorio.crt /opt/factorio.crt
ENV VERSION=0.13.20 \
SHA1=59ed0edb3f62f0f41a01fc291959b0a8b44cf631
RUN apk --no-cache add curl tini pwgen && \
curl -sSL --cacert /opt/factorio.crt \
https://www.factorio.com/get-download/$VERSION/headless/linux64 \
-o /tmp/factorio_headless_x64_$VERSION.tar.gz && \
echo "$SHA1 /tmp/factorio_headless_x64_$VERSION.tar.gz" | sha1sum -c && \
tar xzf /tmp/factorio_headless_x64_$VERSION.tar.gz --directory /opt && \
rm /tmp/factorio_headless_x64_$VERSION.tar.gz && \
apk del curl && \
ln -s /factorio/saves /opt/factorio/saves && \
ln -s /factorio/mods /opt/factorio/mods
VOLUME /factorio
EXPOSE 34197/udp 27015/tcp
COPY ./docker-entrypoint.sh /
ENTRYPOINT ["/sbin/tini", "--"]
CMD ["/docker-entrypoint.sh"]

View File

@ -1 +0,0 @@
sudo docker build -t dtandersen/factorio:0.13-dev .

View File

@ -1 +0,0 @@
sudo rm -rf /tmp/factorio

View File

@ -1,35 +0,0 @@
#!/bin/sh -x
set -e
SAVES=/factorio/saves
CONFIG=/factorio/config
mkdir -p $SAVES
mkdir -p /factorio/mods
mkdir -p $CONFIG
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 ! 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
fi
exec /opt/factorio/bin/x64/factorio \
--port 34197 \
--start-server-load-latest \
--server-settings $CONFIG/server-settings.json \
--rcon-port 27015 \
--rcon-password "$(cat $CONFIG/rconpw)"

View File

@ -1,92 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIGCDCCA/CgAwIBAgIQKy5u6tl1NmwUim7bo3yMBzANBgkqhkiG9w0BAQwFADCB
hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV
BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQwMjEy
MDAwMDAwWhcNMjkwMjExMjM1OTU5WjCBkDELMAkGA1UEBhMCR0IxGzAZBgNVBAgT
EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
Q09NT0RPIENBIExpbWl0ZWQxNjA0BgNVBAMTLUNPTU9ETyBSU0EgRG9tYWluIFZh
bGlkYXRpb24gU2VjdXJlIFNlcnZlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAI7CAhnhoFmk6zg1jSz9AdDTScBkxwtiBUUWOqigwAwCfx3M28Sh
bXcDow+G+eMGnD4LgYqbSRutA776S9uMIO3Vzl5ljj4Nr0zCsLdFXlIvNN5IJGS0
Qa4Al/e+Z96e0HqnU4A7fK31llVvl0cKfIWLIpeNs4TgllfQcBhglo/uLQeTnaG6
ytHNe+nEKpooIZFNb5JPJaXyejXdJtxGpdCsWTWM/06RQ1A/WZMebFEh7lgUq/51
UHg+TLAchhP6a5i84DuUHoVS3AOTJBhuyydRReZw3iVDpA3hSqXttn7IzW3uLh0n
c13cRTCAquOyQQuvvUSH2rnlG51/ruWFgqUCAwEAAaOCAWUwggFhMB8GA1UdIwQY
MBaAFLuvfgI9+qbxPISOre44mOzZMjLUMB0GA1UdDgQWBBSQr2o6lFoL2JDqElZz
30O0Oija5zAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNV
HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwGwYDVR0gBBQwEjAGBgRVHSAAMAgG
BmeBDAECATBMBgNVHR8ERTBDMEGgP6A9hjtodHRwOi8vY3JsLmNvbW9kb2NhLmNv
bS9DT01PRE9SU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDBxBggrBgEFBQcB
AQRlMGMwOwYIKwYBBQUHMAKGL2h0dHA6Ly9jcnQuY29tb2RvY2EuY29tL0NPTU9E
T1JTQUFkZFRydXN0Q0EuY3J0MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21v
ZG9jYS5jb20wDQYJKoZIhvcNAQEMBQADggIBAE4rdk+SHGI2ibp3wScF9BzWRJ2p
mj6q1WZmAT7qSeaiNbz69t2Vjpk1mA42GHWx3d1Qcnyu3HeIzg/3kCDKo2cuH1Z/
e+FE6kKVxF0NAVBGFfKBiVlsit2M8RKhjTpCipj4SzR7JzsItG8kO3KdY3RYPBps
P0/HEZrIqPW1N+8QRcZs2eBelSaz662jue5/DJpmNXMyYE7l3YphLG5SEXdoltMY
dVEVABt0iN3hxzgEQyjpFv3ZBdRdRydg1vs4O2xyopT4Qhrf7W8GjEXCBgCq5Ojc
2bXhc3js9iPc0d1sjhqPpepUfJa3w/5Vjo1JXvxku88+vZbrac2/4EjxYoIQ5QxG
V/Iz2tDIY+3GH5QFlkoakdH368+PUq4NCNk+qKBR6cGHdNXJ93SrLlP7u3r7l+L4
HyaPs9Kg4DdbKDsx5Q5XLVq4rXmsXiBmGqW5prU5wfWYQ//u+aen/e7KJD2AFsQX
j4rBYKEMrltDR5FL1ZoXX/nUh8HCjLfn4g8wGTeGrODcQgPmlKidrv0PJFGUzpII
0fxQ8ANAe4hZ7Q7drNJ3gjTcBpUC2JD5Leo31Rpg0Gcg19hCC0Wvgmje3WYkN5Ap
lBlGGSW4gNfL1IYoakRwJiNiqZ+Gb7+6kHDSVneFeO/qJakXzlByjAA6quPbYzSf
+AZxAeKCINT+b72x
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFdDCCBFygAwIBAgIQJ2buVutJ846r13Ci/ITeIjANBgkqhkiG9w0BAQwFADBv
MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk
ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF
eHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFow
gYUxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMSswKQYD
VQQDEyJDT01PRE8gUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkq
hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAkehUktIKVrGsDSTdxc9EZ3SZKzejfSNw
AHG8U9/E+ioSj0t/EFa9n3Byt2F/yUsPF6c947AEYe7/EZfH9IY+Cvo+XPmT5jR6
2RRr55yzhaCCenavcZDX7P0N+pxs+t+wgvQUfvm+xKYvT3+Zf7X8Z0NyvQwA1onr
ayzT7Y+YHBSrfuXjbvzYqOSSJNpDa2K4Vf3qwbxstovzDo2a5JtsaZn4eEgwRdWt
4Q08RWD8MpZRJ7xnw8outmvqRsfHIKCxH2XeSAi6pE6p8oNGN4Tr6MyBSENnTnIq
m1y9TBsoilwie7SrmNnu4FGDwwlGTm0+mfqVF9p8M1dBPI1R7Qu2XK8sYxrfV8g/
vOldxJuvRZnio1oktLqpVj3Pb6r/SVi+8Kj/9Lit6Tf7urj0Czr56ENCHonYhMsT
8dm74YlguIwoVqwUHZwK53Hrzw7dPamWoUi9PPevtQ0iTMARgexWO/bTouJbt7IE
IlKVgJNp6I5MZfGRAy1wdALqi2cVKWlSArvX31BqVUa/oKMoYX9w0MOiqiwhqkfO
KJwGRXa/ghgntNWutMtQ5mv0TIZxMOmm3xaG4Nj/QN370EKIf6MzOi5cHkERgWPO
GHFrK+ymircxXDpqR+DDeVnWIBqv8mqYqnK8V0rSS527EPywTEHl7R09XiidnMy/
s1Hap0flhFMCAwEAAaOB9DCB8TAfBgNVHSMEGDAWgBStvZh6NLQm9/rEJlTvA73g
JMtUGjAdBgNVHQ4EFgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQD
AgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAGBgRVHSAAMEQGA1UdHwQ9
MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9BZGRUcnVzdEV4dGVy
bmFsQ0FSb290LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0dHA6
Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggEBAGS/g/FfmoXQ
zbihKVcN6Fr30ek+8nYEbvFScLsePP9NDXRqzIGCJdPDoCpdTPW6i6FtxFQJdcfj
Jw5dhHk3QBN39bSsHNA7qxcS1u80GH4r6XnTq1dFDK8o+tDb5VCViLvfhVdpfZLY
Uspzgb8c8+a4bmYRBbMelC1/kZWSWfFMzqORcUx8Rww7Cxn2obFshj5cqsQugsv5
B5a6SE2Q8pTIqXOi6wZ7I53eovNNVZ96YUWYGGjHXkBrI/V5eu+MtWuLt29G9Hvx
PUsE2JOAWVrgQSQdso8VYFhH2+9uRv0V9dlfmrPb2LjkQLPNlzmuhbsdjrzch5vR
pu/xO28QOG8=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU
MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs
IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290
MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux
FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h
bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v
dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt
H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9
uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX
mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX
a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN
E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0
WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD
VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0
Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU
cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx
IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN
AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH
YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC
Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX
c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a
mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
-----END CERTIFICATE-----

View File

@ -1,5 +0,0 @@
sudo docker run --rm -it \
-v /tmp/factorio:/factorio \
--name factorio \
dtandersen/factorio:0.13-dev "$@"
find /tmp/factorio -type f

View File

@ -9,8 +9,8 @@ ARG PGID=845
ENV PORT=34197 \
RCON_PORT=27015 \
VERSION=0.16.46 \
SHA1=0837dff884e8026e8c252acf0fb7a2cfd7493f20 \
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.26 \
SHA1=35bd8ffc0cf1938cc1f454e3f09462b15f6c71ab \
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 binutils gettext libintl && \
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"]

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

@ -0,0 +1,11 @@
version: '2'
services:
factorio:
build: .
ports:
- "34197:34197/udp"
- "27015:27015/tcp"
volumes:
- /opt/factorio:/factorio
# user: 845:845
# user: 1000:1000

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

@ -0,0 +1,66 @@
#!/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
# Generate a new RCON password if none exists
echo $(pwgen 15 1) > $CONFIG/rconpw
fi
if [ ! -f $CONFIG/server-settings.json ]; then
# Copy default settings if server-settings.json doesn't exist
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 \*.tmp.zip -mindepth 1 -print | grep -q .; then
# Delete incomplete saves (such as after a forced exit)
rm -f $SAVES/*.tmp.zip
fi
if [ "$(id -u)" = '0' ]; then
# Take ownership of factorio data if running as root
chown -R factorio:factorio $FACTORIO_VOL
# Make sure we own temp
#mkdir -p /opt/factorio/temp
#chown -R factorio:factorio /opt/factorio/temp
# Drop to the factorio user
SU_EXEC="su-exec factorio"
fi
if ! find -L $SAVES -iname \*.zip -mindepth 1 -print | grep -q .; then
# Generate a new map if no save ZIPs exist
${SU_EXEC} /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 ${SU_EXEC} /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 \
--server-adminlist $CONFIG/server-adminlist.json \
--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,15 +1,16 @@
# 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.46`, `0.16`, `stable`, `latest` [(0.16/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/master/0.16/Dockerfile)
* `0.17.26`, `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)
*Tag descriptions*
* `latest` - highest version: may be experimental.
* `stable` - highest version declared stable.
* `0.x` - highest version in a branch: may be experimental.
* `latest` - most up-to-date version (may be experimental).
* `stable` - version declared stable on [factorio.com](https://www.factorio.com).
* `0.x` - latest version in a branch.
* `0.x.y` - a specific version.
* `0.x-dev` - whatever is in master for that version.
@ -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 \
@ -163,6 +164,49 @@ Create file `config/server-whitelist.json` and add the whitelisted users.
"friend"
]
## Banlisting (0.17.1+)
Create file `config/server-banlist.json` and add the banlisted users.
[
"bad_person",
"other_bad_person"
]
## Adminlisting (0.17.1+)
Create file `config/server-adminlist.json` and add the adminlisted users.
[
"you",
"friend"
]
## Customize configuration files (0.17.x+)
Out-of-the box, factorio does not support environment variables inside the configuration files. A workaround is the usage of `envsubst` which generates the configuration files dynamically during startup from environment variables set in docker-compose:
Example which replaces the server-settings.json:
factorio_1:
image: dtanders/factorio
ports:
- "34197:34197/udp"
volumes:
- /opt/factorio:/factorio
- ./server-settings.json:/server-settings.json
environment:
- INSTANCE_NAME=Your Instance's Name
- INSTANCE_DESC=Your Instance's Description
entrypoint: /bin/sh -c "mkdir -p /factorio/config && envsubst < /server-settings.json > /factorio/config/server-settings.json && exec /docker-entrypoint.sh"
The `server-settings.json` file may then contain the variable references like this:
"name": "${INSTANCE_NAME}",
"description": "${INSTANCE_DESC}",
# Container Details
The philosophy is to [keep it simple](http://wiki.c2.com/?KeepItSimple).
@ -176,10 +220,15 @@ The philosophy is to [keep it simple](http://wiki.c2.com/?KeepItSimple).
To keep things simple, the container uses a single volume mounted at `/factorio`. This volume stores configuration, mods, and saves.
The files in this volume should be owned by the factorio user, uid 845.
factorio
|-- config
| |-- map-gen-settings.json
| |-- map-settings.json
| |-- rconpw
| |-- server-adminlist.json
| |-- server-banlist.json
| |-- server-settings.json
| `-- server-whitelist.json
|-- mods
@ -187,7 +236,6 @@ To keep things simple, the container uses a single volume mounted at `/factorio`
`-- saves
`-- _autosave1.zip
## Docker Compose
[Docker Compose](https://docs.docker.com/compose/install/) is an easy way to run Docker containers.
@ -259,17 +307,17 @@ sudo docker run -d \
dtandersen/factorio
```
VirtualBox users must enable Bridged networking in order for the host to be assigned an internal network IP. Enable Bridged networking in Vagrant with:
## Vagrant
[Vagrant](https://www.vagrantup.com/) is a easy way to setup a virtual machine (VM) to run Docker. The [Factorio Vagrant box repository](https://github.com/dtandersen/factorio-lan-vagrant) contains a sample Vagrantfile.
For LAN games the VM needs an internal IP in order for clients to connect. One way to do this is with a public network. The VM uses DHCP to acquire an IP address. The VM must also forward port 34197.
```
config.vm.network "public_network"
config.vm.network "forwarded_port", guest: 34197, host: 34197
```
## Vagrant
Vagrant is a good way for those without a Linux machine to try Docker. Check out the [Factorio Vagrant Box](https://github.com/dtandersen/factorio-lan-vagrant).
## Troubleshooting
**My server is listed in the server browser, but nobody can connect**
@ -289,6 +337,7 @@ Use the `PORT` environment variable to start the server on the a different port,
* [dtandersen](https://github.com/dtandersen/docker_factorio_server) - Maintainer
* [Fank](https://github.com/Fankserver/docker-factorio-watchdog) - Keeper of the Factorio watchdog that keeps the version up-to-date.
* [DBendit](https://github.com/DBendit/docker_factorio_server) - Admin list, ban list, version updates
* [Zopanix](https://github.com/zopanix/docker_factorio_server) - Originator
* [Rfvgyhn](https://github.com/Rfvgyhn/docker-factorio) - Randomly generate RCON password
* [gnomus](https://github.com/gnomus/docker_factorio_server) - White listing