Closed tnielsen2 closed 11 months ago
As a troubleshooting step, I have tried completely removing all folders within the /mnt/games folder, to see what happened.
The container recreated the GameLibrary/SteamLibrary
folders and also recreated the libraryfolder.vdf
file, but the problem still exists.
After further digging, I was able to find the installer log here within the container:
/home/default/.var/app/com.valvesoftware.Steam/.steam/steam/logs/content_log.txt
It showed the following log entry indicating it couldn't write to a missing folder:
[2023-07-10 15:51:21] Client version: 1687386907
[2023-07-10 15:51:21] Loaded Steam library folders configuration: /home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/libraryfolders.vdf
[2023-07-10 15:51:22] Loaded 3 apps from install folder "/home/default/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps\appmanifest_*.acf".
[2023-07-10 15:51:22] Loaded 0 apps from install folder "/mnt/games/GameLibrary/SteamLibrary/steamapps\appmanifest_*.acf".
[2023-07-10 15:51:22] Triggered async write of Steam library folders configuration (2 libraries).
[2023-07-10 15:54:17] Library folder "/mnt/games/GameLibrary/SteamLibrary/steamapps" is not writable (Disk write failure).
[2023-07-10 15:54:17] Failed installing AppID 424840 (Disk write failure)
[2023-07-10 17:54:27] Library folder "/mnt/games/GameLibrary/SteamLibrary/steamapps" is not writable (Disk write failure).
[2023-07-10 17:54:27] Failed installing AppID 424840 (Disk write failure)
By creating the /mnt/games/GameLibrary/SteamLibrary/steamapps
folder, I was then able to install to the /mnt/games folder.
sudo mkdir /mnt/games/GameLibrary/SteamLibrary/steamapps
sudo chmod -R 777 /mnt/games
sudo chown -R trent:trent /mnt/games
This is now a writable/usable folder. Can anything be done as part of the installer script to create this directory? If not, I can submit a PR to the instructions for docker-compose and close this issue.
If we add that, we need to add it in a way that first checks if steam has been configured. It should only run to create the missing directories if that libraryconfig file is missing (so on the firat run). Otherwise the container will create this directory for everyone all the time even if they dont want it.
PR submitted to address this. LMK if you have any better idea/way to accomplish this.
PR submitted to address this. LMK if you have any better idea/way to accomplish this.
Legend
Describe the Bug
Problem: The container cannot write to the
/mnt/games
Docker volume mount, although permissions appear correct.Upon fresh install of the container using docker-compose, everything works except the /mnt/games folder is not visible in the Steam client.
After following the troubleshooting steps here, I was then able to see the games folder named: "Mounted Games", but unable to read/write to the folder, being met with the following error:
An error occurred while installing <game>: "disk write error"
Steps to Reproduce
sudo docker stop <container>
sudo docker rm <container>
sudo docker rmi <image>
cd /opt/container-data/steam-headless/home
sudo rm -rf ~/.local/share/flatpak
cd /opt/container-services/steam-headless
sudo docker-compose up -d --force-recreate
Expected Behavior
Being able to install games to the volume mount.
Screenshots
Relevant Settings
docker-compose relevant mount config:
Version
Build: [2023-07-10 08:33:45] [master] [3be80a920e0ca242e71562f959bcad9155fd43cf] [debian]
Platform
Relevant log output