mirror of
https://github.com/factoriotools/factorio-docker.git
synced 2025-07-03 23:48:05 +02:00
Compare commits
228 Commits
Author | SHA1 | Date | |
---|---|---|---|
061d0c6c37 | |||
84af48c346 | |||
2ca5f1368c | |||
bc0ef1b51e | |||
b2fbd707f8 | |||
a88071d1aa | |||
a1f590270b | |||
b0b5775365 | |||
c988684348 | |||
75e98e0543 | |||
0bc55d51a8 | |||
c50665c37f | |||
81c9d50e7a | |||
c3631942e8 | |||
8e072e8c24 | |||
c260815680 | |||
fd4680704f | |||
b46eefee58 | |||
76a76765bb | |||
d6331587b4 | |||
dfbd6baff6 | |||
4872cf89f6 | |||
99c0355d12 | |||
7b351c473a | |||
b839d7d339 | |||
40974755b6 | |||
548f9b27d0 | |||
be99942271 | |||
f19f731662 | |||
eea4c90fa5 | |||
ce161daf33 | |||
a3d7c55f68 | |||
736dbea3b3 | |||
aeb549b3b5 | |||
2906b59721 | |||
abdce572de | |||
ca7fc9ff13 | |||
ebcca5251c | |||
b72b906fdb | |||
b643a13e88 | |||
6499b0974e | |||
c9052c3296 | |||
832e64511d | |||
a3890f37fa | |||
4089f8d59a | |||
4026ec5359 | |||
9e93a34d6e | |||
05d697afac | |||
d9a5604448 | |||
128e15db7c | |||
71e9179722 | |||
e3a97f3448 | |||
5506d33475 | |||
0314266309 | |||
16a85d32e9 | |||
d36578a471 | |||
9f8453645a | |||
eb4814f16c | |||
c85ce5e75a | |||
d4a5f0f019 | |||
8222bd1b45 | |||
de26a241af | |||
ea4843498b | |||
009548446f | |||
a48b23201b | |||
e9962a431b | |||
2f41a0d660 | |||
53c953707b | |||
b53d98cb2a | |||
833de3cc46 | |||
d94543bbcd | |||
7074d5284b | |||
c119b077c8 | |||
479d7e2fe1 | |||
1247c62b13 | |||
a7f765a070 | |||
1c8b9fd5b9 | |||
1ddcbec2c5 | |||
2d82e0a19c | |||
6320dd04df | |||
1ea5ddfbee | |||
067ac0ac14 | |||
036a15ce1e | |||
003f0cdbe6 | |||
43fafdcfe5 | |||
667bd97388 | |||
62da6f5f56 | |||
47ca759742 | |||
e12e303d2d | |||
ebf0afa524 | |||
1b5a9d5b9e | |||
3404976818 | |||
ba68274a7b | |||
ee509835db | |||
ee3385959d | |||
0ac68ac31a | |||
552520136d | |||
2b63d0ef0e | |||
390c76906b | |||
5bc0e128f1 | |||
0fdac9cebb | |||
86ec899b06 | |||
81edeb0183 | |||
08090e70a0 | |||
16602ba40b | |||
16b6a5b253 | |||
44f5ffd6b4 | |||
8fd01ef07f | |||
6b8c0f01ab | |||
284e7f00b0 | |||
abe0c82a8e | |||
f90f3c7569 | |||
9dca3590ae | |||
1e7c8bc8b7 | |||
4ed57b0c20 | |||
88258a263e | |||
f3df464856 | |||
3a007b377f | |||
ddf7f99a2b | |||
8a3df67b52 | |||
14b11329d7 | |||
2d79854697 | |||
65658b10d6 | |||
be4c89d937 | |||
cb52eb3dff | |||
322fe61b13 | |||
3e42118a04 | |||
ee861acee5 | |||
f69732d4f8 | |||
86914046e0 | |||
f7c2b144ce | |||
a2179f3f61 | |||
3cc553c786 | |||
0b3a7bd84c | |||
a28d8315aa | |||
14d1af4d9e | |||
b8c0e42baa | |||
148c01eab0 | |||
99c79f7e64 | |||
11f92f34d8 | |||
186af111d9 | |||
b6f14800ab | |||
4a5504cdb6 | |||
0e8cb6c26c | |||
b950fe99c6 | |||
6ed85052ff | |||
30425c8d66 | |||
522a3a2e93 | |||
e37cdcc508 | |||
7babfe47ff | |||
bfd2c5f600 | |||
3fc2e97f7e | |||
d141764f44 | |||
4a816ad5f9 | |||
d1aa470d25 | |||
70e936c7e3 | |||
f17e773885 | |||
c8af86eaef | |||
dcac7d0c46 | |||
b6d1748deb | |||
e1e8ff07e6 | |||
601ee80a47 | |||
fd4ed925b2 | |||
2d1f625219 | |||
7d5e58d4a0 | |||
c535246dac | |||
16959ea374 | |||
8f6446f088 | |||
65a32b3cbf | |||
7ca5892e5e | |||
327fd1c925 | |||
323718b631 | |||
8049134ed5 | |||
0a35d754ec | |||
cf60f77d53 | |||
65315ccfa8 | |||
e7ac99c855 | |||
7798e07daf | |||
993ca2631c | |||
a0551876fa | |||
74a32021de | |||
545297c443 | |||
a9fc7f32d9 | |||
fd2f656e57 | |||
d99ff47bbc | |||
b056148d75 | |||
dfb8b32a10 | |||
78c79d8fe9 | |||
aa587d172c | |||
a4f5d9a10a | |||
09be8bf68a | |||
f589953648 | |||
46d525bcf7 | |||
115dc3b1a9 | |||
310cb82749 | |||
308f7cad10 | |||
9044045dac | |||
a1e701df66 | |||
87141b2835 | |||
a6476af82f | |||
12ec73be53 | |||
ef4c0132d4 | |||
764b214723 | |||
dcd07982a8 | |||
7880bd9f65 | |||
27fc3b97bc | |||
ce1320100b | |||
3ea1619384 | |||
52bd19356f | |||
bc55163f5c | |||
5a4e0d8ebf | |||
361bb94857 | |||
048d12ef75 | |||
4d8c94a6c8 | |||
fa1af6c03d | |||
d8b20e5531 | |||
bdb51f5020 | |||
87d1c4b0a3 | |||
89ef301d3d | |||
0960c7c371 | |||
cc496ccaa0 | |||
f9e62fe90d | |||
94494299ee | |||
677dc983e8 | |||
8588fdd6fd | |||
eb22619e44 | |||
6f33dd8444 | |||
43af3aaf33 |
@ -2,14 +2,12 @@ FROM frolvlad/alpine-glibc:alpine-3.4
|
|||||||
|
|
||||||
MAINTAINER https://github.com/dtandersen/docker_factorio_server
|
MAINTAINER https://github.com/dtandersen/docker_factorio_server
|
||||||
|
|
||||||
COPY ./factorio.crt /opt/factorio.crt
|
ENV VERSION=0.14.23 \
|
||||||
|
SHA1=6ef84341c6fc1cf45cfdd6acc8468aaa117b9e8a
|
||||||
|
|
||||||
ENV VERSION=0.14.17 \
|
RUN mkdir /opt && \
|
||||||
SHA1=ffb248fabed345aafadb6a8cdef3684312ac240f
|
apk --no-cache add curl tini pwgen && \
|
||||||
|
curl -sSL https://www.factorio.com/get-download/$VERSION/headless/linux64 \
|
||||||
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 && \
|
-o /tmp/factorio_headless_x64_$VERSION.tar.gz && \
|
||||||
echo "$SHA1 /tmp/factorio_headless_x64_$VERSION.tar.gz" | sha1sum -c && \
|
echo "$SHA1 /tmp/factorio_headless_x64_$VERSION.tar.gz" | sha1sum -c && \
|
||||||
tar xzf /tmp/factorio_headless_x64_$VERSION.tar.gz --directory /opt && \
|
tar xzf /tmp/factorio_headless_x64_$VERSION.tar.gz --directory /opt && \
|
||||||
|
@ -1 +1 @@
|
|||||||
sudo docker build -t factorio .
|
sudo docker build --no-cache -t factorio .
|
||||||
|
@ -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-----
|
|
28
0.15/Dockerfile
Normal file
28
0.15/Dockerfile
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
FROM frolvlad/alpine-glibc:alpine-3.5
|
||||||
|
|
||||||
|
MAINTAINER https://github.com/dtandersen/docker_factorio_server
|
||||||
|
|
||||||
|
ENV PORT=34197 \
|
||||||
|
VERSION=0.15.4 \
|
||||||
|
SHA1=7308abe22b665495505303d54490c0d7e37afaed
|
||||||
|
|
||||||
|
RUN mkdir /opt && \
|
||||||
|
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 \
|
||||||
|
-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 && \
|
||||||
|
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
|
||||||
|
|
||||||
|
VOLUME /factorio
|
||||||
|
|
||||||
|
EXPOSE $PORT/udp 27015/tcp
|
||||||
|
|
||||||
|
COPY ./docker-entrypoint.sh /
|
||||||
|
|
||||||
|
ENTRYPOINT ["/sbin/tini", "--"]
|
||||||
|
CMD ["/docker-entrypoint.sh"]
|
1
0.15/build.sh
Executable file
1
0.15/build.sh
Executable file
@ -0,0 +1 @@
|
|||||||
|
sudo docker build --no-cache -t factorio .
|
1
0.15/clean.sh
Executable file
1
0.15/clean.sh
Executable file
@ -0,0 +1 @@
|
|||||||
|
sudo rm -rf /tmp/factorio
|
36
0.15/docker-entrypoint.sh
Executable file
36
0.15/docker-entrypoint.sh
Executable file
@ -0,0 +1,36 @@
|
|||||||
|
#!/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 $PORT \
|
||||||
|
--start-server-load-latest \
|
||||||
|
--server-settings $CONFIG/server-settings.json \
|
||||||
|
--server-whitelist $CONFIG/server-whitelist.json \
|
||||||
|
--rcon-port 27015 \
|
||||||
|
--rcon-password "$(cat $CONFIG/rconpw)"
|
5
0.15/run.sh
Executable file
5
0.15/run.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
sudo docker run --rm -it \
|
||||||
|
-v /tmp/factorio:/factorio \
|
||||||
|
--name factorio \
|
||||||
|
factorio "$@"
|
||||||
|
find /tmp/factorio -type f
|
5
0.15/start.sh
Executable file
5
0.15/start.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
sudo docker run -d -p 34197:34197/udp -p 27015:27015/tcp \
|
||||||
|
-v factorio:/factorio \
|
||||||
|
--name factorio \
|
||||||
|
--restart=always \
|
||||||
|
factorio
|
97
README.md
97
README.md
@ -1,8 +1,17 @@
|
|||||||
# Factorio [](https://hub.docker.com/r/dtandersen/factorio/) [](https://hub.docker.com/r/dtandersen/factorio/)
|
# Factorio [](https://microbadger.com/images/dtandersen/factorio "Get your own image badge on microbadger.com") [](https://hub.docker.com/r/dtandersen/factorio/) [](https://hub.docker.com/r/dtandersen/factorio/)
|
||||||
|
|
||||||
|
* `0.15.4`, `0.15`, `latest` [(0.15/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/master/0.15/Dockerfile)
|
||||||
|
* `0.14.23`, `0.14`, `stable` [(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.
|
||||||
|
* `0.x.y` - a specific version.
|
||||||
|
* `0.x-dev` - whatever is in master for that version.
|
||||||
|
|
||||||
* `0.14.17`, `0.14`, `latest` [(0.14.17/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/0.14.17/0.14/Dockerfile)
|
|
||||||
* `0.14.16` [(0.14.16/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/0.14.16/0.14/Dockerfile)
|
|
||||||
* `0.13.20`, `0.13`, `stable` [(0.13.20/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/0.13.20/0.13/Dockerfile)
|
|
||||||
|
|
||||||
# What is Factorio?
|
# What is Factorio?
|
||||||
|
|
||||||
@ -22,14 +31,19 @@ NOTE: This is only the server. The game is available at [factorio.com](https://w
|
|||||||
Run the server to create the necessary folder structure and configuration files. For this example data is stored in `/tmp/factorio`.
|
Run the server to create the necessary folder structure and configuration files. For this example data is stored in `/tmp/factorio`.
|
||||||
|
|
||||||
```
|
```
|
||||||
docker run -d -P -v /tmp/factorio:/factorio --name factorio dtandersen/factorio
|
docker run -d -p 34197:34197/udp -p 27015:27015/tcp \
|
||||||
|
-v /tmp/factorio:/factorio \
|
||||||
|
--name factorio \
|
||||||
|
--restart=always \
|
||||||
|
dtandersen/factorio
|
||||||
```
|
```
|
||||||
|
|
||||||
For those new to Docker, here is an explanation of the options:
|
For those new to Docker, here is an explanation of the options:
|
||||||
|
|
||||||
* `-d` - Run as a daemon ("detached").
|
* `-d` - Run as a daemon ("detached").
|
||||||
* `-P` - Expose all ports.
|
* `-p` - Expose ports.
|
||||||
* `-v` - Mount `/tmp/factorio` on the local file system to `/factorio` in the container.
|
* `-v` - Mount `/tmp/factorio` on the local file system to `/factorio` in the container.
|
||||||
|
* `--restart` - Restart the server if it crashes and at system start
|
||||||
* `--name` - Name the container "factorio" (otherwise it has a funny random name).
|
* `--name` - Name the container "factorio" (otherwise it has a funny random name).
|
||||||
|
|
||||||
Check the logs to see what happened:
|
Check the logs to see what happened:
|
||||||
@ -53,6 +67,31 @@ docker start factorio
|
|||||||
Try to connect to the server. Check the logs if it isn't working.
|
Try to connect to the server. Check the logs if it isn't working.
|
||||||
|
|
||||||
|
|
||||||
|
## Console
|
||||||
|
|
||||||
|
To issue console commands to the server, start the server in interactive mode with `-it`. Open the console with `docker attach` and then type commands.
|
||||||
|
|
||||||
|
docker run -d -it \
|
||||||
|
--name factorio \
|
||||||
|
dtandersen/factorio
|
||||||
|
docker attach factorio
|
||||||
|
|
||||||
|
|
||||||
|
## Upgrading
|
||||||
|
|
||||||
|
Before upgrading backup the save. It's easy to make a save in the client.
|
||||||
|
|
||||||
|
Ensure `-v` was used to run the server so the save is outside of the Docker container. The `docker rm` command completely destroys the container, which includes the save if it isn't stored in an data volume.
|
||||||
|
|
||||||
|
Delete the container and refresh the image:
|
||||||
|
|
||||||
|
docker stop factorio
|
||||||
|
docker rm factorio
|
||||||
|
docker pull dtandersen/factorio
|
||||||
|
|
||||||
|
Now run the server as before. In about a minute the new version of Factorio should be up and running, complete with saves and config!
|
||||||
|
|
||||||
|
|
||||||
## Saves
|
## Saves
|
||||||
|
|
||||||
A new map named `_autosave1.zip` is generated the first time the server is started. The `map-gen-settings.json` file in `/tmp/factorio/config` is used for the map settings. On subsequent runs the newest save is used.
|
A new map named `_autosave1.zip` is generated the first time the server is started. The `map-gen-settings.json` file in `/tmp/factorio/config` is used for the map settings. On subsequent runs the newest save is used.
|
||||||
@ -71,11 +110,20 @@ Copy mods into the mods folder and restart the server.
|
|||||||
|
|
||||||
Set the RCON password in the `rconpw` file. A random password is generated if `rconpw` doesn't exist.
|
Set the RCON password in the `rconpw` file. A random password is generated if `rconpw` doesn't exist.
|
||||||
|
|
||||||
To change the password stop the server, modify `rconpw`, and restart the server.
|
To change the password, stop the server, modify `rconpw`, and restart the server.
|
||||||
|
|
||||||
To "disable" RCON don't expose port 27015, i.e. start the server with `-p 34197:34197/udp` instead of `-P`. RCON still runs, but nobody is able to connect to it.
|
To "disable" RCON don't expose port 27015, i.e. start the server without `-p 27015:27015/tcp`. RCON is still running, but nobody can to connect to it.
|
||||||
|
|
||||||
|
|
||||||
|
## Whitelisting (0.15.3+)
|
||||||
|
|
||||||
|
Create file `config/server-whitelist.json` and add the whitelisted users.
|
||||||
|
|
||||||
|
[
|
||||||
|
"you",
|
||||||
|
"friend"
|
||||||
|
]
|
||||||
|
|
||||||
# Container Details
|
# Container Details
|
||||||
|
|
||||||
The philosophy is to [keep it simple](http://wiki.c2.com/?KeepItSimple).
|
The philosophy is to [keep it simple](http://wiki.c2.com/?KeepItSimple).
|
||||||
@ -93,7 +141,8 @@ To keep things simple, the container uses a single volume mounted at `/factorio`
|
|||||||
|-- config
|
|-- config
|
||||||
| |-- map-gen-settings.json
|
| |-- map-gen-settings.json
|
||||||
| |-- rconpw
|
| |-- rconpw
|
||||||
| `-- server-settings.json
|
| |-- server-settings.json
|
||||||
|
| `-- server-whitelist.json
|
||||||
|-- mods
|
|-- mods
|
||||||
| `-- fancymod.zip
|
| `-- fancymod.zip
|
||||||
`-- saves
|
`-- saves
|
||||||
@ -102,22 +151,34 @@ To keep things simple, the container uses a single volume mounted at `/factorio`
|
|||||||
|
|
||||||
## Ports
|
## Ports
|
||||||
|
|
||||||
* `34197/udp` - Factorio clients (required).
|
* `34197/udp` - Game server (required).
|
||||||
* `27015/tcp` - RCON (optional).
|
* `27015/tcp` - RCON (optional).
|
||||||
|
|
||||||
|
|
||||||
|
## Environment Variables
|
||||||
|
|
||||||
|
* `PORT` (0.15+) - Start the server on an alterate port, .e.g. `docker run -e "PORT=34198"`.
|
||||||
|
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
**Server is listed in the in-game server browser, but users can't connect**
|
**My server is listed in the server browser, but nobody can connect**
|
||||||
|
|
||||||
By default, Docker routes outgoing traffic through a proxy. The source UDP port is changed by the proxy so the server list detects the wrong port. See [Incorrect port detected for docker hosted server](https://forums.factorio.com/viewtopic.php?f=49&t=35255).
|
Check the logs. If there is the line `Own address is RIGHT IP:WRONG PORT`, then this could be caused by the Docker proxy. If the the IP and port is correct it's probably a port forwarding or firewall issue instead.
|
||||||
|
|
||||||
To fix this problem, start the Docker service with the `--userland-proxy=false` switch to prevent it from using a proxy. This is typically done by appending the switch to the `DOCKER_OPTS` variable or adding it to the end of `ExecStart` in the systemd service definition. The location of these files varies by OS.
|
By default, Docker routes traffic through a proxy. The proxy changes the source UDP port, so the wrong port is detected. See the forum post *[Incorrect port detected for docker hosted server](https://forums.factorio.com/viewtopic.php?f=49&t=35255)* for details.
|
||||||
|
|
||||||
|
To fix the incorrect port, start the Docker service with the `--userland-proxy=false` switch. Docker will route traffic with iptables rules instead of a proxy. Add the switch to the `DOCKER_OPTS` environment variable or `ExecStart` in the Docker systemd service definition. The specifics vary by operating system.
|
||||||
|
|
||||||
|
**When I run a server on a port besides 34197 nobody can connect from the server browser**
|
||||||
|
|
||||||
|
Use the `PORT` environment variable to start the server on the a different port, .e.g. `docker run -e "PORT=34198"`. This changes the source port on the packets used for port detection. `-p 34198:34197` works fine for private servers, but the server browser detects the wrong port.
|
||||||
|
|
||||||
|
|
||||||
# Credits
|
# Contributors
|
||||||
|
|
||||||
Ideas borrowed from:
|
* [dtandersen](https://github.com/dtandersen/docker_factorio_server) - Maintainer
|
||||||
|
* [Zopanix](https://github.com/zopanix/docker_factorio_server) - Originator
|
||||||
* [Zopanix](https://github.com/zopanix/docker_factorio_server)
|
* [Rfvgyhn](https://github.com/Rfvgyhn/docker-factorio) - Randomly generate RCON password
|
||||||
* [Rfvgyhn](https://github.com/Rfvgyhn/docker-factorio)
|
* [gnomus](https://github.com/gnomus/docker_factorio_server) - White listing
|
||||||
|
* [jaredledvina](https://github.com/jaredledvina/docker_factorio_server) - Version update
|
||||||
|
Reference in New Issue
Block a user