mirror of
https://github.com/Steam-Headless/docker-steam-headless.git
synced 2023-08-28 13:41:56 +03:00
Add steamapps troubleshooting and autocreation script
This commit is contained in:
@@ -9,7 +9,7 @@ Follow these instructions to configure a docker-compose.yml for your system.
|
||||
> Depending on how you have installed this, the commands to execute docker compose may vary.
|
||||
|
||||
|
||||
## PREPARE DIRECTORY:
|
||||
## PREPARE DIRECTORIES:
|
||||
|
||||
> __Warning__
|
||||
>
|
||||
@@ -18,17 +18,24 @@ Follow these instructions to configure a docker-compose.yml for your system.
|
||||
> If you do run these commands as root, you may need to manually fix the permissions and ownership after.
|
||||
|
||||
Create a directory for your service:
|
||||
```
|
||||
```shell
|
||||
sudo mkdir -p /opt/container-services/steam-headless
|
||||
sudo chown -R $(id -u):$(id -g) /opt/container-services/steam-headless
|
||||
```
|
||||
|
||||
Create a directory for your service config data:
|
||||
```
|
||||
```shell
|
||||
sudo mkdir -p /opt/container-data/steam-headless/{home,.X11-unix,pulse}
|
||||
sudo chown -R $(id -u):$(id -g) /opt/container-data/steam-headless
|
||||
```
|
||||
|
||||
(Optional) Create a directory for your game install location:
|
||||
```shell
|
||||
sudo mkdir /mnt/games
|
||||
sudo chmod -R 777 /mnt/games
|
||||
sudo chown -R $(id -u):$(id -g) /mnt/games
|
||||
```
|
||||
|
||||
Create a Steam Headless `/opt/container-services/steam-headless/docker-compose.yml` file.
|
||||
|
||||
Populate this file with the contents of the default [Docker Compose File](./compose-files/docker-compose.default.yml).
|
||||
@@ -39,3 +46,19 @@ Populate this file with the contents of the default [Docker Compose File](./comp
|
||||
Create a Steam Headless `/opt/container-services/steam-headless/.env` file with the contents found in this example [Environment File](./compose-files/.env).
|
||||
|
||||
Edit these variables as required.
|
||||
|
||||
## EXECUTE:
|
||||
|
||||
Navigate to your compose location and execute it.
|
||||
```shell
|
||||
cd /opt/container-services/steam-headless
|
||||
sudo docker-compose up -d --force-recreate
|
||||
```
|
||||
|
||||
After container executes successfully, navigate to your docker host URL in your browser on port 8083 and click connect.
|
||||
http://<host-ip>:8083/
|
||||

|
||||
|
||||
If using a `/mnt/games` volume mount, wait until Steam installs and executes, then restart the container. This step
|
||||
is necessary to create the required steamapps folder in the /mnt/games volume after initial installation. If this
|
||||
doesn't occur, you will receive a "disk write error" when trying to install to this location.
|
||||
|
||||
@@ -7,4 +7,24 @@ Steam runs with Flatpak. These Flatpaks are instlled into the `default` user's h
|
||||
3) Re-create the container. Don't just restart it. This will trigger an update of the required Flatpak runtimes in the home directory.
|
||||
4) Reinstall any missing Flatpaks from the Software app.
|
||||
|
||||
Once your Flatpak refresh is complete, everything should work correclty and your configuration for each application should have remained intact.
|
||||
Once your Flatpak refresh is complete, everything should work correctly and your configuration for each application should have remained intact.
|
||||
|
||||
## An error occurred while installing <game>: "disk write error"
|
||||
|
||||

|
||||
|
||||
1) Stop the container
|
||||
2) Verify your mounted /mnt/games volume is owned by UID/GID 1000:1000, and 777 permissions are set.
|
||||
3) Verify the `steamapps` directory exists within the library location.
|
||||
|
||||
> __Note__
|
||||
>
|
||||
> The directory in the below commands are the default /mnt/games library locations installed upon first execution of this container.
|
||||
>
|
||||
> Depending on how you have installed this, the directory path may vary.
|
||||
|
||||
```shell
|
||||
sudo mkdir /mnt/games/GameLibrary/SteamLibrary/steamapps
|
||||
sudo chmod -R 777 /mnt/games
|
||||
sudo chown -R $(id -u):$(id -g) /mnt/games
|
||||
```
|
||||
|
||||
BIN
images/disk_write_error.png
Normal file
BIN
images/disk_write_error.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
BIN
images/vnc_connect.png
Normal file
BIN
images/vnc_connect.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 36 KiB |
12
overlay/etc/cont-init.d/100-configure_steam_mnt_games.sh
Normal file
12
overlay/etc/cont-init.d/100-configure_steam_mnt_games.sh
Normal file
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
echo "**** Configure Steam /mnt/games steamapps folder ****"
|
||||
|
||||
# Upon first execution of this container, /opt/scripts/install_steam.sh will create a library location named "Mounted
|
||||
# Games into the /mnt/games/GameLibrary/SteamLibrary location, but not create the required steamapps folder"
|
||||
# Check /mnt/games to see if it is configured as a Steam Library, and if it is, make sure the steamapps folder exists
|
||||
MNT_LIBRARY_PATH="/mnt/games/GameLibrary/SteamLibrary"
|
||||
|
||||
if [ -f "$MNT_LIBRARY_PATH/libraryfolder.vdf" ] && [ ! -d "$MNT_LIBRARY_PATH/steamapps" ]; then
|
||||
mkdir -pm 777 "$MNT_LIBRARY_PATH/steamapps"
|
||||
fi
|
||||
Reference in New Issue
Block a user