1
0
mirror of https://github.com/LpmRaven/factorio-docker-server.git synced 2025-03-03 15:22:09 +02:00

66 lines
3.3 KiB
Markdown
Raw Normal View History

# Introduction
2016-12-17 20:36:48 +00:00
This repository was forked from [carloe/docker-factorio](https://hub.docker.com/r/carloe/docker-factorio/) to build a custom configured server on factorio and provide extra information on how to setup a factorio server using docker.
2016-12-17 20:36:48 +00:00
# Server Setup
2016-12-17 20:36:48 +00:00
The easiest way to setup a factorio server by far, is to use [Digital Ocean.](https://m.do.co/c/ebb875976e21) Follow the link to signup and get $10 for free to start you off. This guide assumes your are using a Mac, Windows users may have to alter their method when it comes to terminal usage. Disclaimer: All referrals generate credit to my account for more factorio goodness.
2016-12-17 20:36:48 +00:00
1. Sign up to [Digital Ocean](https://m.do.co/c/ebb875976e21)
2. Click 'Create droplet' button
2016-12-17 20:50:18 +00:00
[Click the 'create droplet' button](https://cloud.githubusercontent.com/assets/6523593/21289644/2160bb62-c49a-11e6-9a01-b9556445ffec.png)
2016-12-17 20:36:48 +00:00
3. Under 'Choose an image' select 'One-click apps'
2016-12-17 20:50:18 +00:00
[One-click apps](https://cloud.githubusercontent.com/assets/6523593/21289645/2160d250-c49a-11e6-89f5-328e299d07a2.png)
2016-12-17 20:36:48 +00:00
4. Select 'Docker 1.12.\* on 16.04'
2016-12-17 20:50:18 +00:00
[docker 1.12.0 on 16.04](https://cloud.githubusercontent.com/assets/6523593/21289646/216100d6-c49a-11e6-95ad-5f6dd85ddc61.png)
2016-12-17 20:36:48 +00:00
5. Select the '$5/mo' size, this is fine for a basic multiplayer server
2016-12-17 20:50:18 +00:00
[5 dollars a month memory](https://cloud.githubusercontent.com/assets/6523593/21289647/21620c92-c49a-11e6-838a-55c790590229.png)
2016-12-17 20:36:48 +00:00
6. Select the datacenter that is closest to you
2016-12-17 20:50:18 +00:00
[london datacenter selected](https://cloud.githubusercontent.com/assets/6523593/21289642/2146c11c-c49a-11e6-9c00-05978a9d8bfa.png)
2016-12-17 20:36:48 +00:00
7. Add your [SSH public key](https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2). Alternatively, you will need to take note of the password that Digital Ocean send to you after you setup the server.
8. You will only need 1 droplet, name your server and click create.
2016-12-17 20:50:18 +00:00
[Create your droplet](https://cloud.githubusercontent.com/assets/6523593/21289643/215f73ce-c49a-11e6-9803-0f45b226eced.png)
2016-12-17 20:36:48 +00:00
# Connect to your server
Windows users will need to look at alterations for using PuTTY.
1. Make note of the IP address of your server (ipv4)
2016-12-17 20:50:18 +00:00
[docker IP address](https://cloud.githubusercontent.com/assets/6523593/21289648/2184ce1c-c49a-11e6-82a0-fdd6fa07a04f.png)
2016-12-17 20:36:48 +00:00
2. Open terminal
3. `ssh root@IPaddress`, obviously replace 'IPaddress' with the IP address.
# Build Your Factorio headless server
The latest Factorio headless server is downloaded at build time. This may be a good reason you want to build your own image since the Docker Hub repo may not always be up to date.
1. `git clone https://github.com/LpmRaven/docker-factorio.git`
2. `docker build -t factorio-instance-name .`
# Persisting Saves
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
```
2016-12-17 20:36:48 +00:00
# Basic Usage
2016-03-04 08:55:08 +01:00
2016-12-17 20:36:48 +00:00
The init script will automatically create a new save game if none exists.
2016-03-04 08:55:08 +01:00
Then launch your container as usual.
2016-03-04 08:55:08 +01:00
```bash
docker run -d \
-v $(pwd)/saves:/opt/factorio/saves \
2016-03-04 08:55:08 +01:00
-p 34197:34197/udp \
--restart=always \
--name factorio-server \
2016-12-17 20:36:48 +00:00
factorio-instance-name
2016-03-04 08:55:08 +01:00
```