factoriotools / factorio-docker

Factorio headless server in a Docker container
https://hub.docker.com/r/factoriotools/factorio/
MIT License
888 stars 218 forks source link

0.000 Error Util.cpp:83: filesystem error: status: Permission denied [/factorio/saves] #420

Open thewalkingdude0 opened 2 years ago

thewalkingdude0 commented 2 years ago

Hi all, firstly I just want to say that I am a real docker novice but trying my best to get my head around it. I am running a synology NAS, I've set the folder up which is located in /volume1/factorio and set that in the volume settings with a mount path of /factorio. When I run the container it stops immediately giving permissions issues, I've attempted to go in manually via putty and chown it but it doesn't seem to have made any difference.

If I run the container as is without setting the volume it will run fine but I cannot access the files as they are in root and saying I don't have permission. Any help appreciated.

2021-09-29 12:46:23 stdout 0.000 Error Util.cpp:83: filesystem error: status: Permission denied [/factorio/saves]
2021-09-29 12:46:23 stdout + su-exec factorio /opt/factorio/bin/x64/factorio --create /factorio/saves/_autosave1.zip --map-gen-settings /factorio/config/map-gen-settings.json --map-settings /factorio/config/map-settings.json
2021-09-29 12:46:23 stdout + [[ -f /factorio/saves/_autosave1.zip ]]
2021-09-29 12:46:23 stdout + [[ -z _autosave1 ]]
2021-09-29 12:46:23 stdout + [[ true == true ]]
2021-09-29 12:46:23 stdout + SAVE_NAME=_autosave1
2021-09-29 12:46:23 stdout + GENERATE_NEW_SAVE=true
2021-09-29 12:46:23 stdout + [[ 0 == 0 ]]
2021-09-29 12:46:23 stdout + [[ false != true ]]
2021-09-29 12:46:23 stdout + NRSAVES=0
2021-09-29 12:46:23 stdout ++ wc -l
2021-09-29 12:46:23 stdout ++ find -L /factorio/saves -iname '*.zip' -mindepth 1
2021-09-29 12:46:23 stdout + sed -i '/write-data=/c\write-data=\/factorio/' /opt/factorio/config/config.ini
2021-09-29 12:46:23 stdout + SU_EXEC='su-exec factorio'
2021-09-29 12:46:22 stdout + chown -R factorio:factorio /factorio
2021-09-29 12:46:22 stdout + groupmod -o -g 845 factorio
2021-09-29 12:46:22 stdout usermod: no changes
2021-09-29 12:46:22 stdout + usermod -o -u 845 factorio
2021-09-29 12:46:22 stdout + [[ 0 = 0 ]]
2021-09-29 12:46:22 stdout ++ id -u
2021-09-29 12:46:22 stdout + [[ '' == \t\r\u\e ]]
2021-09-29 12:46:22 stdout + [[ 0 -gt 0 ]]
2021-09-29 12:46:22 stdout + NRTMPSAVES=0
2021-09-29 12:46:22 stdout ++ wc -l
2021-09-29 12:46:22 stdout ++ find -L /factorio/saves -iname '*.tmp.zip' -mindepth 1
2021-09-29 12:46:22 stdout + cp /opt/factorio/data/map-settings.example.json /factorio/config/map-settings.json
2021-09-29 12:46:22 stdout + [[ ! -f /factorio/config/map-settings.json ]]
2021-09-29 12:46:22 stdout + cp /opt/factorio/data/map-gen-settings.example.json /factorio/config/map-gen-settings.json
2021-09-29 12:46:22 stdout + [[ ! -f /factorio/config/map-gen-settings.json ]]
2021-09-29 12:46:22 stdout + cp /opt/factorio/data/server-settings.example.json /factorio/config/server-settings.json
2021-09-29 12:46:22 stdout + [[ ! -f /factorio/config/server-settings.json ]]
2021-09-29 12:46:22 stdout + pwgen 15 1
2021-09-29 12:46:22 stdout + [[ ! -f /factorio/config/rconpw ]]
2021-09-29 12:46:22 stdout + mkdir -p /factorio/script-output
2021-09-29 12:46:22 stdout + mkdir -p /factorio/scenarios
2021-09-29 12:46:22 stdout + mkdir -p /factorio/mods
2021-09-29 12:46:22 stdout + mkdir -p /factorio/config
2021-09-29 12:46:22 stdout + mkdir -p /factorio/saves
2021-09-29 12:46:22 stdout + mkdir -p /factorio
2021-09-29 12:46:22 stdout + SAVE_NAME=
2021-09-29 12:46:22 stdout + GENERATE_NEW_SAVE=false
2021-09-29 12:46:22 stdout + LOAD_LATEST_SAVE=true
2021-09-29 12:46:22 stdout + FACTORIO_VOL=/factorio
vadim-su commented 2 years ago

Did you do chown from the readme?

sudo mkdir -p /opt/factorio
sudo chown 845:845 /opt/factorio # << This action
sudo docker run -d \
  -p 34197:34197/udp \
  -p 27015:27015/tcp \
  -v /opt/factorio:/factorio \
  --name factorio \
  --restart=always \
  factoriotools/factorio
Deedasmi commented 2 years ago

EDIT: Also remember to chmod u+rwx if you manually created folders >__<