docker.recipes

Factorio Server + Manager

intermediate

Factorio dedicated server with web-based management interface.

Overview

Factorio is a factory-building and automation game that has captivated players worldwide with its complex production chains and logistics challenges. The factoriotools/factorio container provides a dedicated server implementation that allows multiple players to collaborate on massive factory builds in persistent multiplayer worlds. Unlike the standard game client, this server container runs headlessly and supports advanced features like automatic mod updates, save file management, and remote administration capabilities. The factorio-server-manager by mroote adds a comprehensive web-based control panel that transforms server administration from command-line complexity into an intuitive graphical interface. This manager provides real-time server monitoring, automated backup scheduling, mod installation and updates, player management, and detailed configuration controls without requiring direct server access. Gaming communities and server administrators choose this combination because it eliminates the technical barriers of running a Factorio server while providing enterprise-grade management features. The stack is particularly valuable for groups wanting to maintain long-running factory projects, modded gameplay experiences, or multiple save files with different configurations and player groups.

Key Features

  • Automatic mod synchronization and updates on server startup
  • Web-based save file management with backup and restore capabilities
  • Real-time server console access through the manager interface
  • Player whitelist and ban management with admin controls
  • Mod installation and configuration through web UI without server downtime
  • Server performance monitoring with CPU, memory, and network statistics
  • Scheduled automatic saves and backup rotation policies
  • Multi-save support for different game scenarios and player groups

Common Use Cases

  • 1Gaming communities hosting persistent multiplayer Factorio worlds
  • 2Modded Factorio servers requiring frequent mod updates and configuration changes
  • 3Educational institutions teaching automation and logistics concepts
  • 4Friend groups maintaining long-term collaborative factory building projects
  • 5Gaming cafes and LAN centers providing managed Factorio experiences
  • 6Content creators running subscriber servers with custom scenarios
  • 7Corporate team building exercises using factory simulation games

Prerequisites

  • Minimum 2GB RAM (4GB recommended for modded servers)
  • UDP port 34197 and TCP port 27015 accessible for game connections
  • Port 8080 available for the web management interface
  • Basic understanding of Factorio game mechanics and server concepts
  • Admin credentials configured for manager authentication
  • Sufficient disk space for save files, mods, and backup retention

For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms

docker-compose.yml

docker-compose.yml
1services:
2 factorio:
3 image: factoriotools/factorio:stable
4 environment:
5 - UPDATE_MODS_ON_START=true
6 - SAVE_NAME=${SAVE_NAME:-default}
7 volumes:
8 - factorio-data:/factorio
9 ports:
10 - "34197:34197/udp"
11 - "27015:27015"
12 networks:
13 - factorio-network
14 restart: unless-stopped
15
16 manager:
17 image: mroote/factorio-server-manager:latest
18 environment:
19 - FACTORIO_DIR=/factorio
20 - ADMIN_USER=${ADMIN_USER:-admin}
21 - ADMIN_PASS=${ADMIN_PASS}
22 volumes:
23 - factorio-data:/factorio
24 - manager-data:/opt/factorio-server-manager/app
25 ports:
26 - "8080:80"
27 depends_on:
28 - factorio
29 networks:
30 - factorio-network
31 restart: unless-stopped
32
33volumes:
34 factorio-data:
35 manager-data:
36
37networks:
38 factorio-network:
39 driver: bridge

.env Template

.env
1# Factorio Server
2SAVE_NAME=default
3ADMIN_USER=admin
4ADMIN_PASS=secure_password

Usage Notes

  1. 1Game server on UDP 34197
  2. 2Manager UI at http://localhost:8080
  3. 3Mod management via UI
  4. 4Save game management
  5. 5Server configuration via web UI

Individual Services(2 services)

Copy individual services to mix and match with your existing compose files.

factorio
factorio:
  image: factoriotools/factorio:stable
  environment:
    - UPDATE_MODS_ON_START=true
    - SAVE_NAME=${SAVE_NAME:-default}
  volumes:
    - factorio-data:/factorio
  ports:
    - 34197:34197/udp
    - "27015:27015"
  networks:
    - factorio-network
  restart: unless-stopped
manager
manager:
  image: mroote/factorio-server-manager:latest
  environment:
    - FACTORIO_DIR=/factorio
    - ADMIN_USER=${ADMIN_USER:-admin}
    - ADMIN_PASS=${ADMIN_PASS}
  volumes:
    - factorio-data:/factorio
    - manager-data:/opt/factorio-server-manager/app
  ports:
    - "8080:80"
  depends_on:
    - factorio
  networks:
    - factorio-network
  restart: unless-stopped

Quick Start

terminal
1# 1. Create the compose file
2cat > docker-compose.yml << 'EOF'
3services:
4 factorio:
5 image: factoriotools/factorio:stable
6 environment:
7 - UPDATE_MODS_ON_START=true
8 - SAVE_NAME=${SAVE_NAME:-default}
9 volumes:
10 - factorio-data:/factorio
11 ports:
12 - "34197:34197/udp"
13 - "27015:27015"
14 networks:
15 - factorio-network
16 restart: unless-stopped
17
18 manager:
19 image: mroote/factorio-server-manager:latest
20 environment:
21 - FACTORIO_DIR=/factorio
22 - ADMIN_USER=${ADMIN_USER:-admin}
23 - ADMIN_PASS=${ADMIN_PASS}
24 volumes:
25 - factorio-data:/factorio
26 - manager-data:/opt/factorio-server-manager/app
27 ports:
28 - "8080:80"
29 depends_on:
30 - factorio
31 networks:
32 - factorio-network
33 restart: unless-stopped
34
35volumes:
36 factorio-data:
37 manager-data:
38
39networks:
40 factorio-network:
41 driver: bridge
42EOF
43
44# 2. Create the .env file
45cat > .env << 'EOF'
46# Factorio Server
47SAVE_NAME=default
48ADMIN_USER=admin
49ADMIN_PASS=secure_password
50EOF
51
52# 3. Start the services
53docker compose up -d
54
55# 4. View logs
56docker compose logs -f

One-Liner

Run this command to download and set up the recipe in one step:

terminal
1curl -fsSL https://docker.recipes/api/recipes/factorio-server-manager/run | bash

Troubleshooting

  • Connection failed on port 34197: Verify UDP port forwarding is configured correctly on your router and firewall
  • Manager shows 'Factorio not found': Ensure factorio-data volume is properly shared between containers and factorio service started first
  • Mods failing to download: Check internet connectivity and verify mod portal is accessible, may require restart after network issues
  • Save file corruption after container restart: Enable proper volume mounting and ensure graceful shutdown with SIGTERM handling
  • High memory usage with large factories: Increase container memory limits and consider save file optimization or player count limits
  • Manager UI returns 500 errors: Check manager-data volume permissions and verify ADMIN_PASS environment variable is properly set

Community Notes

Loading...
Loading notes...

Download Recipe Kit

Get all files in a ready-to-deploy package

Includes docker-compose.yml, .env template, README, and license

Ad Space