Skip to content

games.skynet.lan Docker Compose Stack

Overview

This page documents the docker-compose stacks and environment files used for the games.skynet.lan services. The files define standalone game servers that run in the host or bridged network depending on the service.

Start and management

Use the Makefile pattern in the Compose docs (make install, make update, make fixnet) to start and manage services where applicable. Some game stacks run with network_mode: host and may be managed individually.

Services

  • satisfactory-server: Satisfactory dedicated server (wolveix image). Exposes game ports and mounts /mnt/dockerdata/satisfactory for persistent data. Memory reservations/limits are declared.
  • windrose: Windrose game server container. Uses network_mode: host by default but also lists optional direct ports. Reads runtime variables from env_file.

Environment variables

The windrose/.env file contains runtime settings such as PUID, PGID, SERVER_NAME, SERVER_PASSWORD, MAX_PLAYERS, network configuration and Windrose+ options (WINDROSE_PLUS_ENABLED, dashboard port and RCON password).

Notes

  • network_mode: host is used by windrose to simplify networking for UDP/TCP game traffic; ensure this is acceptable for your host's security posture.
  • Adjust MAXPLAYERS, memory reservations, and ports to match available host resources and expected player counts.
  • Raw docker-compose.yml and .env contents are preserved below unchanged.

satisfactory/docker-compose.yml

services:
  satisfactory-server:
    container_name: 'satisfactory-server'
    hostname: 'satisfactory-server'
    image: 'wolveix/satisfactory-server:latest'
    ports:
      - '7777:7777/tcp'
      - '7777:7777/udp'
      - '8888:8888/tcp'
    volumes:
      - '/mnt/dockerdata/satisfactory:/config'
    environment:
      - MAXPLAYERS=8
      - MAXOBJECTS=100000000
      - SKIPUPDATE=false
      - AUTOSAVENUM=5
      - STEAMBETA=false
    restart: unless-stopped
    deploy:
      resources:
        limits:
          memory: 12G
        reservations:
          memory: 4G

windrose/docker-compose.yml

---
services:
  windrose:
    image: indifferentbroccoli/windrose-server-docker
    platform: linux/amd64
    restart: unless-stopped
    container_name: windrose
    stop_grace_period: 30s
    network_mode: host
    ports:
      - '7777:7777/tcp' # If using direct connection
      - '7777:7777/udp' # If using direct connection
      - '8780:8780/tcp' # Windrose+ dashboard (only needed if WINDROSE_PLUS_ENABLED=true)
    env_file:
      - .env
    volumes:
      - /mnt/dockerdata/windrose:/home/steam/server-files

windrose/.env

PUID=1000
PGID=1000
UPDATE_ON_START=true
INVITE_CODE=SkynetWindrose
SERVER_PORT=7777
USER_SELECTED_REGION=
SERVER_NAME=Skynet Windrose
SERVER_PASSWORD=password
MAX_PLAYERS=10
P2P_PROXY_ADDRESS=127.0.0.1
USE_DIRECT_CONNECTION=false
DIRECT_CONNECTION_PROXY_ADDRESS=0.0.0.0
SERVER_PORT=7777
UE4SS_ENABLED=false
WINDROSE_PLUS_ENABLED=true
WINDROSE_PLUS_VERSION=
WINDROSE_PLUS_DASHBOARD_PORT=8780
WINDROSE_PLUS_RCON_PASSWORD=1234