51 lines
1.9 KiB
YAML
51 lines
1.9 KiB
YAML
---
|
|
services:
|
|
steam-headless:
|
|
image: josh5/steam-headless:latest
|
|
restart: unless-stopped
|
|
runtime: ${DOCKER_RUNTIME}
|
|
## NOTE: Requires privileged access to host to be able to access the required devices
|
|
privileged: true
|
|
shm_size: ${SHM_SIZE}
|
|
ipc: host # Could also be set to 'shareable'
|
|
ulimits:
|
|
nofile:
|
|
soft: 1024
|
|
hard: 524288
|
|
|
|
# NETWORK:
|
|
## NOTE: Steam headless always requires the use of the host network.
|
|
## If we do not use the host network, then device input is not possible
|
|
## and your controllers will not work in steam games.
|
|
network_mode: host
|
|
hostname: ${NAME}
|
|
extra_hosts:
|
|
- "${NAME}:127.0.0.1"
|
|
|
|
# ENVIRONMENT:
|
|
## Read all config variables from the .env file
|
|
env_file: .env
|
|
|
|
# VOLUMES:
|
|
volumes:
|
|
# The location of your home directory.
|
|
- /opt/container-data/steam-headless/home/:/home/default/:rw
|
|
# The location where all games should be installed.
|
|
# This path needs to be set as a library path in Steam after logging in.
|
|
# Otherwise, Steam will store games in the home directory above.
|
|
- /mnt/games/:/mnt/games/:rw
|
|
# Input devices used for mouse and joypad support inside the container.
|
|
- /dev/input/:/dev/input/:ro
|
|
# The Xorg socket. This will be shared with other containers so they can access the X server.
|
|
- /opt/container-data/steam-headless/.X11-unix/:/tmp/.X11-unix/:rw
|
|
# Pulse audio socket. This will be shared with other containers so they can access the audio sink.
|
|
- /opt/container-data/steam-headless/pulse/:/tmp/pulse/:rw
|
|
# Store dind var files in a volume
|
|
- steam-headless-var-lib-docker:/var/lib/docker/:rw
|
|
# Store flatpak var files in a volume
|
|
- steam-headless-var-lib-flatpak:/var/lib/flatpak/:rw
|
|
|
|
volumes:
|
|
steam-headless-var-lib-docker:
|
|
steam-headless-var-lib-flatpak:
|