1
0
mirror of https://github.com/LpmRaven/factorio-docker-server.git synced 2024-12-12 08:24:07 +02:00
Easy to use Factorio Game Server in Docker with custom settings
Go to file
2016-12-17 21:09:00 +00:00
.gitignore Added env for save game file 2016-10-03 21:56:10 +02:00
Dockerfile Added env for save game file 2016-10-03 21:56:10 +02:00
init.sh Added env for save game file 2016-10-03 21:56:10 +02:00
README.md spacing readme 2016-12-17 21:09:00 +00:00

Introduction

This repository was forked from carloe/docker-factorio to build a custom configured server on factorio and provide extra information on how to setup a factorio server using docker.

Server Setup

The easiest way to setup a factorio server by far, is to use Digital Ocean. 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.

  1. Sign up to Digital Ocean

  2. Click 'Create droplet' button

  3. Under 'Choose an image' select 'One-click apps'

  4. Select 'Docker 1.12.* on 16.04'

  1. Select the '$5/mo' size, this is fine for a basic multiplayer server
  1. Select the datacenter that is closest to you
  1. Add your SSH public key. Alternatively, you will need to take note of the password that Digital Ocean emails to you after you setup the server.
  2. You will only need 1 droplet, name your server and click create

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)
  1. Open terminal
  2. 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.

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

Basic Usage

The init script will automatically create a new save game if none exists.

Then launch your container as usual.

docker run -d \
           -v $(pwd)/saves:/opt/factorio/saves \
           -p 34197:34197/udp \
           --restart=always \
           --name factorio-server \
           factorio-instance-name