Remove env_file and add all env variables to a environment: section

This commit is contained in:
Josh.5
2024-03-15 04:12:55 +13:00
parent a2caa9f4ec
commit 728acd0ba1
2 changed files with 66 additions and 33 deletions

View File

@@ -5,18 +5,24 @@
# |____/ \__, |___/\__\___|_| |_| |_|
# |___/
#
NAME='SteamHeadless'
TZ='Pacific/Auckland'
USER_LOCALES='en_US.UTF-8 UTF-8'
DISPLAY=':55'
SHM_SIZE='2G'
NAME=SteamHeadless
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
## Available runtimes are listed when you run `docker info`.
## Your system may have other options available. As a simple rule, if you are
## using an NVIDIA GPU, set this to 'nvidia' for anything else, set this to 'runc'.
DOCKER_RUNTIME='runc'
DOCKER_RUNTIME=runc
## HOME_DIR:
## Description: The path to the home directory on your host. Mounts to `/home/default` inside the container.
HOME_DIR=/opt/container-data/steam-headless/home
## GAMES_DIR:
## Description: The path to the games directory on your host. Mounts to `/mnt/games` inside the container.
GAMES_DIR=/mnt/games
# ____ __ _ _ _ _
# | _ \ ___ / _| __ _ _ _| | |_ | | | |___ ___ _ __
@@ -25,10 +31,10 @@ DOCKER_RUNTIME='runc'
# |____/ \___|_| \__,_|\__,_|_|\__| \___/|___/\___|_|
#
#
PUID='1000'
PGID='1000'
UMASK='000'
USER_PASSWORD='password'
PUID=1000
PGID=1000
UMASK=000
USER_PASSWORD=password
# __ __ _
# | \/ | ___ __| | ___
@@ -42,7 +48,7 @@ USER_PASSWORD='password'
## 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'
MODE=primary
# ____ _
# / ___| ___ _ ____ _(_) ___ ___ ___
@@ -56,41 +62,41 @@ MODE='primary'
## Options: ['vnc', 'neko', 'none']
## Description: Configures the WebUI to use for accessing the virtual desktop.
## Supported Modes: ['primary']
WEB_UI_MODE='vnc'
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'.
ENABLE_VNC_AUDIO='true'
ENABLE_VNC_AUDIO=true
## PORT_NOVNC_WEB:
## Description: Configure the port to use for the WebUI.
PORT_NOVNC_WEB='8083'
PORT_NOVNC_WEB=58083
## 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.
NEKO_NAT1TO1=''
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'
ENABLE_STEAM=true
## STEAM_ARGS:
## Description: Additional steam execution arguments.
#STEAM_ARGS='-silent -bigpicture'
STEAM_ARGS=-silent
# Sunshine
## ENABLE_SUNSHINE:
## Options: ['true', 'false']
## Description: Enable Sunshine streaming service.
## Supported Modes: ['primary']
ENABLE_SUNSHINE='false'
ENABLE_SUNSHINE=false
## SUNSHINE_USER:
## Description: Set the Sunshine service username.
#SUNSHINE_USER='admin'
SUNSHINE_USER=admin
## SUNSHINE_PASS:
## Description: Set the Sunshine service password.
#SUNSHINE_PASS='admin'
SUNSHINE_PASS=admin
# Xorg
## ENABLE_EVDEV_INPUTS:
@@ -98,21 +104,21 @@ ENABLE_SUNSHINE='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'
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.
## Supported Modes: ['primary', 'secondary']
NVIDIA_DRIVER_CAPABILITIES='all'
NVIDIA_DRIVER_CAPABILITIES=all
## NVIDIA_DRIVER_CAPABILITIES:
## Available Options: ['all', 'none', '<GPU UUID>']
## Description: Controls which GPUs will be made accessible inside the container.
## Supported Modes: ['primary', 'secondary']
NVIDIA_VISIBLE_DEVICES='all'
NVIDIA_VISIBLE_DEVICES=all
## NVIDIA_DRIVER_VERSION:
## Description: Specify a driver version to force installation. Requires DOCKER_RUNTIME to be 'runc'.
## Detect current host driver installed with `nvidia-smi 2> /dev/null | grep NVIDIA-SMI | cut -d ' ' -f3`
## Supported Modes: ['primary', 'secondary']
#NVIDIA_DRIVER_VERSION='535.161.07'
NVIDIA_DRIVER_VERSION=

View File

@@ -26,17 +26,46 @@ services:
# ENVIRONMENT:
## Read all config variables from the .env file
env_file: .env
environment:
# System
- TZ=${TZ}
- USER_LOCALES=${USER_LOCALES}
- DISPLAY=${DISPLAY}
# User
- PUID=${PUID}
- PGID=${PGID}
- UMASK=${UMASK}
- USER_PASSWORD=${USER_PASSWORD}
# Mode
- MODE=${MODE}
# Web UI
- WEB_UI_MODE=${WEB_UI_MODE}
- ENABLE_VNC_AUDIO=${ENABLE_VNC_AUDIO}
- PORT_NOVNC_WEB=${PORT_NOVNC_WEB}
- NEKO_NAT1TO1=${NEKO_NAT1TO1}
# Steam
- ENABLE_STEAM=${ENABLE_STEAM}
- STEAM_ARGS=${STEAM_ARGS}
# Sunshine
- ENABLE_SUNSHINE=${ENABLE_SUNSHINE}
- SUNSHINE_USER=${SUNSHINE_USER}
- SUNSHINE_PASS=${SUNSHINE_PASS}
# Xorg
- ENABLE_EVDEV_INPUTS=${ENABLE_EVDEV_INPUTS}
# Nvidia specific config
- NVIDIA_DRIVER_CAPABILITIES=${NVIDIA_DRIVER_CAPABILITIES}
- NVIDIA_VISIBLE_DEVICES=${NVIDIA_VISIBLE_DEVICES}
- NVIDIA_DRIVER_VERSION=${NVIDIA_DRIVER_VERSION}
# DEVICES:
devices:
# Use the host fuse device.
# Use the host fuse device [REQUIRED].
- /dev/fuse
# Add the host uinput device.
# Add the host uinput device [REQUIRED].
- /dev/uinput
# Add AMD/Intel HW accelerated video encoding/decoding devices (optional)
# Add AMD/Intel HW accelerated video encoding/decoding devices [OPTIONAL].
#- /dev/dri
# Add NVIDIA HW accelerated devices (optional - must be run with runc docker runtime. If you use the nvidia runtime, this is not needed)
# Add NVIDIA HW accelerated devices [OPTIONAL - must be run with runc docker runtime. If you use the nvidia runtime, this is not needed].
#- /dev/nvidia0
#- /dev/nvidiactl
#- /dev/nvidia-modeset
@@ -51,12 +80,12 @@ services:
# VOLUMES:
volumes:
# The location of your home directory.
- /opt/container-data/steam-headless/home/:/home/default/:rw
- ${HOME_DIR}/:/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
- ${GAMES_DIR}/:/mnt/games/:rw
# The Xorg socket. This will be shared with other containers so they can access the X server.
# Select only one option or leave commented out to not share the Xorg socket with any other Docker containers.
@@ -68,5 +97,3 @@ services:
# Pulse audio socket. This will be shared with other containers so they can access the audio sink.
# Leave commented out to not share the pulse socket with any other Docker containers.
#- /opt/container-data/steam-headless/pulse/:/tmp/pulse/:rw