Running a Factorio Server Using Docker

  ·   3 min read

Factorio, a popular real-time strategy game focused on resource management and automation, has captured the hearts of many gamers. Hosting your own Factorio server can enhance your gaming experience by allowing you to play with friends or a community. Docker, a powerful containerization tool, simplifies the process of setting up and managing a Factorio server. This article will guide you through the steps to run a Factorio server using Docker.

Prerequisites

Before you begin, ensure you have the following:

  1. Docker Installed: Make sure Docker is installed on your system. You can download it from the official Docker website.

  2. Basic Knowledge of Docker: Familiarity with Docker commands and concepts will be helpful.

  3. Factorio Account: A valid Factorio account is required to download the game files.

Step-by-Step Guide

Step 1: Pull the Factorio Docker Image

The first step is to pull a Factorio server image from Docker Hub. The community maintains several Factorio images, but we’ll use the factoriotools/factorio image, which is well-documented and frequently updated.

docker pull factoriotools/factorio

Step 2: Create a Directory for Persistent Data

To ensure your game data persists across container restarts, create a directory on your host machine to store Factorio data.

mkdir -p ~/factorio/data

Step 3: Run the Factorio Server

Now, you can run the Factorio server using Docker. The following command will start the server and map the necessary ports:

docker run -d \
  --name factorio-server \
  -p 34197:34197/udp \
  -v ~/factorio/data:/factorio \
  factoriotools/factorio
  • -d: Runs the container in detached mode.
  • --name factorio-server: Names the container for easy reference.
  • -p 34197:34197/udp: Maps the default Factorio server port.
  • -v ~/factorio/data:/factorio: Mounts the host directory to the container for persistent storage.

Step 4: Configure the Server

To customize your server settings, you can edit the server-settings.json file located in the ~/factorio/data directory. This file allows you to configure server name, description, maximum players, and more.

After editing, restart the server to apply the changes:

docker restart factorio-server

Step 5: Connect to Your Server

With the server running, you can now connect to it from the Factorio game client. Use your server’s IP address and the default port (34197) to join the game.

Managing the Server

Viewing Logs

To view the server logs, use the following command:

docker logs factorio-server

Stopping the Server

To stop the server, run:

docker stop factorio-server

Removing the Server

If you need to remove the server container, use:

docker rm factorio-server

Conclusion

Running a Factorio server using Docker is a straightforward process that leverages the power of containerization to simplify deployment and management. With Docker, you can easily start, stop, and configure your server, ensuring a seamless gaming experience for you and your friends.

For more information on Factorio server management and Docker, consider exploring the following resources:

By following this guide, you can enjoy the flexibility and efficiency of Docker while hosting your own Factorio server. Happy gaming!