Factorio headless server in a Docker container. https://hub.docker.com/r/factoriotools/factorio/
Go to file
2016-10-25 18:31:07 +00:00
build.sh utility script 2016-10-25 18:31:07 +00:00
Dockerfile update alpine 2016-10-25 18:02:33 +00:00
factorio.crt added CA root; removed domain cert 2016-04-14 22:05:59 -07:00
LICENSE Initial commit 2016-02-25 15:50:35 +01:00
README.md doc update 2016-10-25 10:28:04 -07:00
run.sh utility script 2016-10-25 18:31:07 +00:00
server-settings.example.json example config 2016-10-25 10:11:09 -07:00
smart_launch.sh simplify startup 2016-10-25 18:30:24 +00:00

Supported tags and respective Dockerfile links

What is Factorio?

Factorio is a game in which you build and maintain factories.

You will be mining resources, researching technologies, building infrastructure, automating production and fighting enemies. Use your imagination to design your factory, combine simple elements into ingenious structures, apply management skills to keep it working and finally protect it from the creatures who don't really like you.

The game is very stable and optimized for building massive factories. You can create your own maps, write mods in Lua or play with friends via Multiplayer.

NOTE: This is only the server. The game is available on Steam.

Features

  • Configurable via server-config.json.
  • Automatically loads the last save.
  • Volumes for saves and mods.
  • Small size. Based on Alpine Linux.

How to use this image?

Quick Start

Create server-config.json and modify it to your liking.

Now start the server:

docker run -d -P \
  -v /path/to/server-config.json:/opt/factorio/data/server-config.json \
  -v /path/to/saves:/opt/factorio/saves \
  -v /path/to/mods:/opt/factorio/mods \
  --name factorio
  dtandersen/factorio

If you're wondering what all these options are:

  • -d - Start the server as a daemon.
  • -P - Expose all ports.
  • -v - Mount volumes for config, mods, and saves.
  • --name - Give the container a name (otherwise it'll be random).
  • dtandersen/factorio - The Docker image name.

The server should start and create /path/to/saves/save.zip. The save remains if the server stops, since the save folder is mounted as a volume.

Stopping the Server

Assuming the server is named factorio, run:

docker stop factorio

Saves

If there are no saves when the server starts, then a new map is generated and saved as save.zip.

Otherwise, the most recent ZIP file in the saves folder is used. To load an old save touch save.zip and restart the server.

Mods

Copy them into the mods folder.

Volumes

  • /opt/factorio/saves - Saves (recommened)
  • /opt/factorio/mods - Mods (optional)
  • /opt/factorio/data/server-config.json - Configuration (recommended)

Ports

  • 34197/udp - Client (required)
  • 27015/tcp - Remote console (optional)

Logs

Sometimes it's useful to see the logs of a running container:

docker exec -it factorio tail -f /opt/factorio/factorio-current.log

Credits

Based on Zopanix' Factorio Server.