From b75b4962834a75fce64186603762bae4e62fce70 Mon Sep 17 00:00:00 2001 From: "Josh.5" Date: Fri, 21 Jul 2023 11:08:19 +1200 Subject: [PATCH] Tidy up the compose examples --- docs/compose-files/.env | 72 ++++++++++++------- docs/compose-files/docker-compose.default.yml | 18 +++-- 2 files changed, 61 insertions(+), 29 deletions(-) diff --git a/docs/compose-files/.env b/docs/compose-files/.env index a84c83d..150b45e 100644 --- a/docs/compose-files/.env +++ b/docs/compose-files/.env @@ -10,7 +10,6 @@ TZ='Pacific/Auckland' USER_LOCALES='en_US.UTF-8 UTF-8' DISPLAY=':55' SHM_SIZE='2G' - ## DOCKER_RUNTIME: ## Options: ['runc', 'nvidia'] ## Description: The name of an implementation of OCI Runtime Spec @@ -31,6 +30,20 @@ PGID='1000' UMASK='000' USER_PASSWORD='password' +# __ __ _ +# | \/ | ___ __| | ___ +# | |\/| |/ _ \ / _` |/ _ \ +# | | | | (_) | (_| | __/ +# |_| |_|\___/ \__,_|\___| +# +# +## MODE: +## Options: ['primary', 'secondary'] +## Description: Steam Headless containers can run in a secondary mode that will only start +## a Steam process that will then use the X server of either the host or another +## Steam Headless container running in 'primary' mode. +MODE='primary' + # ____ _ # / ___| ___ _ ____ _(_) ___ ___ ___ # \___ \ / _ \ '__\ \ / / |/ __/ _ \/ __| @@ -38,54 +51,63 @@ USER_PASSWORD='password' # |____/ \___|_| \_/ |_|\___\___||___/ # # -# Mode -## MODE: -## Options: ['primary', 'secondary'] -## Description: Steam Headless containers can run in a secondary mode that will only start -## a Steam process that will then use the X server of either the host or another -## Steam Headless container running in 'primary' mode. -MODE='primary' - # Web UI ## WEB_UI_MODE: -## Options: ['vnc', 'neko', 'none'] -## Description: Configures the WebUI to use for accessing the virtual desktop. +## Options: ['vnc', 'neko', 'none'] +## Description: Configures the WebUI to use for accessing the virtual desktop. +## Supported Modes: ['primary'] WEB_UI_MODE='vnc' ## ENABLE_VNC_AUDIO: -## Options: ['true', 'false'] -## Description: Enables audio over for the VNC Web UI if 'WEB_UI_MODE' is set to 'vnc'. +## Options: ['true', 'false'] +## Description: Enables audio over for the VNC Web UI if 'WEB_UI_MODE' is set to 'vnc'. ENABLE_VNC_AUDIO='true' ## PORT_NOVNC_WEB: -## Description: Configure the port to use for the WebUI. +## Description: Configure the port to use for the WebUI. PORT_NOVNC_WEB='8083' ## NEKO_NAT1TO1: -## Description: Configure nat1to1 for the neko WebUI if it is enabled by setting 'WEB_UI_MODE' to 'neko'. This will need to be the IP address of the host. +## Description: Configure nat1to1 for the neko WebUI if it is enabled by setting 'WEB_UI_MODE' to 'neko'. +## This will need to be the IP address of the host. NEKO_NAT1TO1='' +# Steam +## ENABLE_STEAM: +## Options: ['true', 'false'] +## Description: Enable Steam to run on start. This will also cause steam to restart automatically if closed. +## Supported Modes: ['primary', 'secondary'] +ENABLE_STEAM='true' +## STEAM_ARGS: +## Description: Additional steam execution arguments. +#STEAM_ARGS='-silent -bigpicture' + # Sunshine ## ENABLE_SUNSHINE: -## Options: ['true', 'false'] -## Description: Enable Sunshine streaming service. +## Options: ['true', 'false'] +## Description: Enable Sunshine streaming service. +## Supported Modes: ['primary'] ENABLE_SUNSHINE='false' ## SUNSHINE_USER: -## Description: Set the Sunshine service username. +## Description: Set the Sunshine service username. #SUNSHINE_USER='admin' ## SUNSHINE_PASS: -## Description: Set the Sunshine service password. +## Description: Set the Sunshine service password. #SUNSHINE_PASS='admin' # Xorg ## ENABLE_EVDEV_INPUTS: -## Options: ['true', 'false'] -## Description: Enable Keyboard and Mouse Passthrough. This will configure the Xorg server to catch all evdev events for Keyboard, Mouse, etc. +## Available Options: ['true', 'false'] +## Description: Enable Keyboard and Mouse Passthrough. This will configure the Xorg server to catch all +## evdev events for Keyboard, Mouse, etc. +## Supported Modes: ['primary'] ENABLE_EVDEV_INPUTS='true' # Nvidia specific config (not required for non Nvidia GPUs) ## NVIDIA_DRIVER_CAPABILITIES: -## Options: ['all', 'compute', 'compat32', 'graphics', 'utility', 'video', 'display'] -## Description: Controls which driver libraries/binaries will be mounted inside the container. +## Options: ['all', 'compute', 'compat32', 'graphics', 'utility', 'video', 'display'] +## Description: Controls which driver libraries/binaries will be mounted inside the container. +## Supported Modes: ['primary', 'secondary'] NVIDIA_DRIVER_CAPABILITIES='all' ## NVIDIA_DRIVER_CAPABILITIES: -## Options: ['all', 'none', ''] -## Description: Controls which GPUs will be made accessible inside the container. +## Available Options: ['all', 'none', ''] +## Description: Controls which GPUs will be made accessible inside the container. +## Supported Modes: ['primary', 'secondary'] NVIDIA_VISIBLE_DEVICES='all' diff --git a/docs/compose-files/docker-compose.default.yml b/docs/compose-files/docker-compose.default.yml index 1db35b8..31e5874 100644 --- a/docs/compose-files/docker-compose.default.yml +++ b/docs/compose-files/docker-compose.default.yml @@ -30,19 +30,29 @@ services: 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. + # Select only one option: + # Option #1) Start a X server in the container to share with any other containers. - /opt/container-data/steam-headless/.X11-unix/:/tmp/.X11-unix/:rw + # Option #2) Use an existing X server running on the host. + #- /tmp/.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 + + # Input devices used for mouse and joypad support inside the container. + - /dev/input/:/dev/input/:ro + + # Store dind var files in a volume. - steam-headless-var-lib-docker:/var/lib/docker/:rw - # Store flatpak var files in a volume + + # Store flatpak var files in a volume. - steam-headless-var-lib-flatpak:/var/lib/flatpak/:rw volumes: