Skip to content

vinanrra/Docker-Satisfactory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Satisfactory server using LinuxGSM script in Docker

Docker Pulls Docker Stars Docker Last Updated

Satisfactory

Information

  • If you have any problems open a github ticket.
  • This container have: Automatic backups and auto-restart if crash.
  • The first time you start the container it will be auto-installed.
  • If you want to recieve alerts check ALERTS.
  • Read everything to avoid any errors.

Usage

Docker

⚠️ Change paths before using the command, these path are examples

docker run -d \
  --name sfserver \
  --restart unless-stopped \
  -v "./ServerFiles:/home/sfserver/serverfiles/" \
  -v "./LogFolder:/home/sfserver/log/" \
  -v "./BackupFolder:/home/sfserver/lgsm/backup/" \
  -v "./LGSM-Config:/home/sfserver/lgsm/config-lgsm/sfserver/" \
  -v "./SavesGames:/home/sfserver/.config/Epic/FactoryGame/Saved/SaveGames" \
  -p 15777:15777/udp \
  -p 15000:15000/udp \
  -p 7777:7777/udp \
  -p 7777:7777/tcp \
  -e START_MODE=1 \
  -e TEST_ALERT=NO \
  -e VERSION=public \
  -e BACKUP=YES \
  -e MONITOR=YES \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TimeZone=Europe/Madrid \
  vinanrra/satisfactory-server

docker-compose

⚠️ Change paths before using the command, these path are examples

version: '2'
services:
  sfserver:
    image: vinanrra/satisfactory-server
    container_name: sfserver
    environment:
      - START_MODE=1 # Change between START MODES
      - PUID=1000 # Remember to use same as your user
      - PGID=1000 # Remember to use same as your user
      - TimeZone=Europe/Madrid
      - TEST_ALERT=NO
      - BACKUP=YES # Backup server at 5 AM
      - MONITOR=YES # Keeps server up if crash
      - VERSION=public # Change between server versions
    volumes:
      - ./ServerFiles:/home/sfserver/serverfiles/ # Optional, serverfiles
      - ./log:/home/sfserver/log/ # Optional, logs
      - ./backups:/home/sfserver/lgsm/backup/ # Optional, backups
      - ./LGSM-Config:/home/sfserver/lgsm/config-lgsm/sfserver # Optional, LGSM-Config
      - ./SavesGames:/home/sfserver/.config/Epic/FactoryGame/Saved/SaveGames # Satisfactory Saves
    ports:
      - 15777:15777/udp
      - 15000:15000/udp
      - 7777:7777/udp
      - 7777:7777/tcp
    restart: unless-stopped #NEVER USE WITH START_MODE=4 or START_MODE=0

To connect PLEASE USE THE SERVER MANAGER (don't use the direct IP)

Parameters

Parameter Function
/path/to/ServerFiles:/home/sfserver/serverfiles/ Satisfactory server config files.
/path/to/Logs:/home/sfserver/log/ Satisfactory server log files.
/path/to/BackupFolder:/home/sfserver/lgsm/backup/ Satisfactory server backups files.
/path/to/LGSM-Config:/home/sfserver/lgsm/config-lgsm/sfserver/ LGSM config files. More info
/path/to/SavesGames:/home/sfserver/.config/Epic/FactoryGame/Saved/SaveGames Game save files path
15777:15777/udp Default Satisfactory port required
15000:15000/udp Default Satisfactory port required
7777:7777/udp Default Satisfactory port required
7777:7777/tcp Default Satisfactory port required
START_MODE=1 Start mode of the container - see below for explanation required
TEST_ALERT=YES Test alerts at start of server optional
BACKUP=YES Backup server at 5 AM (Only the latest 5 backups will be keep, maximum 30 days) More info optional
MONITOR=YES Monitor server status, if server crash this will restart it More info optional
VERSION=public Change server version, check Branches to know the names optional
PUID=1000 for UserID - see below for explanation optional
PGID=1000 for GroupID - see below for explanation optional
TimeZone=Europe/Madrid for TimeZone - see TZ Database for time zones recomendable
--restart unless-stopped Restart container always unlesss stopped manually NEVER USE WITH START_MODE=4

START MODES

START_MODE Information
0 Install server
1 Start server
2 Update server
3 Update server and start
4 Backup server and STOP the container

Backups

The backup command allows the creation of .tar.gz archives of a game server, alter these three settings by editing LinuxGSM Config

  • maxbackups
  • maxbackupdays
  • stoponbackup

Backups settings can be changed in /path/to/LGSM-Config/common.cfg

If you wants to force a backup run this command:

  docker-compose exec sfserver ./sfserver backup

Alerts

LinuxGSM allows alerts to be received using various methods, multiple alerts can be enable at same time:

  • Discord
  • Email
  • IFTTT
  • Mailgun
  • Pushbullet
  • Pushover
  • Telegram
  • Slack
  • And more

Alerts settings can be changed in /path/to/LGSM-Config/common.cfg

You recieve alerts only if the server crashes or updates itself.

User / Group Identifiers

When using volumes (-v flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user PUID and group PGID.

Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.

In this instance PUID=1000 and PGID=1000, to find yours use id user as below:

  $ id username
    uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)

Support Info

  • Shell access whilst the container is running: docker exec -it sfserver /bin/bash
  • To monitor the logs of the container in realtime: docker logs -f sfserver
  • container version number
    • docker inspect -f '{{ index .Config.Labels "build_version" }}' sfserver
  • image version number
    • docker inspect -f '{{ index .Config.Labels "build_version" }}' vinanrra/satisfactory-server

Updating Info

Via Docker Run/Create

  • Update the image: docker pull vinanrra/satisfactory-server
  • Stop the running container: docker stop sfserver
  • Delete the container: docker rm sfserver
  • Recreate a new container with the same docker create parameters as instructed above (if mapped correctly to a host folder, your folders and settings will be preserved)
  • Start the new container: docker start sfserver
  • You can also remove the old dangling images: docker image sfserver

Via Docker Compose

  • Update all images: docker-compose pull
    • or update a single image: docker-compose pull sfserver
  • Let compose update all containers as necessary: docker-compose up -d
    • or update a single container: docker-compose up -d sfserver
  • You can also remove the old dangling images: docker image prune