https://github.com/vvoland/sind
Run Steam in Docker
https://github.com/vvoland/sind
docker gaming linux-gaming steam
Last synced: 5 months ago
JSON representation
Run Steam in Docker
- Host: GitHub
- URL: https://github.com/vvoland/sind
- Owner: vvoland
- Created: 2025-01-18T14:46:37.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-04-07T19:20:04.000Z (about 1 year ago)
- Last Synced: 2025-04-15T20:12:30.358Z (about 1 year ago)
- Topics: docker, gaming, linux-gaming, steam
- Language: Shell
- Homepage:
- Size: 11.7 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# sind

This script sets up and runs Steam within a Docker container on Linux. Steam data is persisted in an raw disk formatted as an ext4 with case sensitivity disabled (for better compatibility with some Windows games).
The script also supports mounting saves location for persisting.
## Prerequisites
- Docker installed on your system.
- `xhost` command available for managing X11 connections.
- `chattr`, `fallocate`, `mkfs.ext4`, and `tune2fs` installed for disk and filesystem management.
- `sudo` access is needed for creating the loop device (the script will call `sudo`)
## Installation
### Convenient
```sh
git clone https://github.com/vvoland/sind && \
cd sind && \
sudo make install
```
### Manual
1. Build the `vlnd/steam` docker image with `docker buildx bake` (optional)
2. Copy the `sind` script to your preferred `PATH` location
## Usage
Run without arguments to simply start Steam.
```sh
sind
```
You can also pass in a game slug as an argument to launch the game directly.
```sh
sind [game]
```
### Supported games
- Civilization VI (`civ6`)
## Configuration
You can override the default configuration in a config file `$HOME/.config/sind.conf`.
### Example `sind.conf`
```bash
# Size that will be allocated for the disk (only affects the initial disk creation)
DISK_SIZE=500G
# Location of the ext4 file where Steam data will be stored
DISK_PATH=$HOME/steam.ext4
# Location that will be used to store game saves
# Personally, I use a path under a samba mount so my saves are synced between multiple devices
SAVES_PATH=/samba-share/Saves
```