Commit Graph

68 Commits

Author SHA1 Message Date
Josh.5
7b620c7918 Allow the VNC ports to be manually configure as an option
Apply dynamically allocated ports if not port is specified
2022-10-04 17:36:40 +13:00
Josh.5
145d5600a6 Add docs for setting up Steam Headless on Intel GPU with docker-compose 2022-10-04 17:36:40 +13:00
Josh.5
2c0b7b5d53 Fix desktop and udev launch scripts
These services were not responding to a SIGTERM
We need to catch the SIGTERM from the parent script and kill the child process
2022-10-04 17:36:40 +13:00
Josh.5
7614e503a7 Launch Xorg server direct from supervisor rather than a script
- Remove launcher for X11 and just call it from
- Improvements to the '/tmp/.X11-unix' directory
    - Move lockfile clearing to init script rather than launcher
    - Configure the 'XDG_RUNTIME_DIR' to something that is easily shared between containers
- Ensure all logs in home directory are readable
- Log Xorg service in home directory so they are more easily accessable to users
2022-10-04 17:36:40 +13:00
Josh.5
cfd7bbda0e Improvements to pulseaudio
- Add a DEBUGGING flag
- Make the location of the unix socket configurable

While I was here I moved all the priority configs in supervisord to the top. I like it better there
2022-10-04 17:36:40 +13:00
Josh.5
1cc4257dd5 Prevent pulseaudio from respawning
https://unix.stackexchange.com/questions/204522/how-does-pulseaudio-start
2022-10-04 17:36:40 +13:00
Josh.5
30699db581 Fix for VNC port selection being missing when running in secondary mode 2022-10-04 17:36:40 +13:00
Josh.5
c6ccb39b13 Set the pulse audio socket to a more standard path
This path is easily shared with other containers
2022-10-04 17:36:40 +13:00
Josh.5
c63e9ac0b9 Add user to pulse group in setup_user.sh script 2022-10-04 17:36:40 +13:00
Josh.5
c2abf14dd3 Fix some issues with the nginx template config after a container restart 2022-10-04 09:41:14 +13:00
Josh.5
6340f4113e Add a Nginx reverse proxy to combine all the used ports into one single port
This will allow this web UI to sit nicely behind a reverse proxy.

Dynamically set the ports used for the
- VNC service
- noVNC service
- Pulseaudio socket
- VNC audio transport websocket

Remove all mentions of the above used ports in the Dockerfile.
2022-10-04 09:41:14 +13:00
Josh.5
38d9442c7d Set neko default screen size based on current configured screen size 2022-10-04 09:41:14 +13:00
Josh.5
686f76bc95 Disable HW accelration on Neko (not sure why this is not working) 2022-10-04 09:41:14 +13:00
Josh.5
a3294eb582 Add neko log path 2022-10-04 09:41:14 +13:00
Josh.5
b088a7adf4 Tidy up GPU driver installation 2022-10-04 09:41:14 +13:00
Josh.5
9bfc3568e6 Ensure XDG_RUNTIME_DIR is available to neko 2022-10-04 09:41:14 +13:00
Josh.5
cb597e4423 Re-order the neko config to be after the X server is configured 2022-10-04 09:41:14 +13:00
Josh.5
f9149958bb Add HW acceleration to Neko config
If a ` /dev/dri/render*` device exists, enable vaapi encoding
2022-10-04 09:41:14 +13:00
Josh.5
adac278106 Add user to pulse group in setup_user.sh script 2022-10-04 09:41:14 +13:00
Josh.5
8b1de46a6d Add Niko server as an alternative to noVNC 2022-10-04 09:41:14 +13:00
Josh.5
6260809ab3 Prevent VNC from autostarting 2022-10-04 09:41:14 +13:00
Josh.5
f4734507bf Change the supervisor stop signal for all services to SIGINT 2022-10-04 09:41:14 +13:00
Josh.5
5d2ece84dc Disable VNC if 'WEB_UI_MODE' is not "vnc"
Se the new variable to default to "vnc"
2022-10-04 09:41:14 +13:00
Chaitanya Talnikar
5d0ce361ce Append groups when doing ensure-groups 2022-10-01 09:30:55 -04:00
Jon Xuereb
becf1c586b Update 10-setup_user.sh
UID and GUID were flipped and didn't match text in echo line.
Likewise swapped ln10&11 to maintain consistency.
2022-09-29 16:31:44 -04:00
Emily Love
ae818f3080 Audio Fix
In reference to Pull Request #4, which was seemingly abandoned. This fixes the broken audio.
2022-09-15 03:09:11 -04:00
Josh.5
79cb946b01 Disable the SSH server is 'PORT_SSH' variable is set to an empty string 2022-09-03 16:25:45 +12:00
Josh.5
e5bd4be2f9 Start Steam silently in tray by default 2022-09-03 15:46:00 +12:00
Josh.5
42534b2e15 Prevent overriding existing files during home directory template setup 2022-09-03 15:43:30 +12:00
Josh.5
ba01d6f523 Fix Heroic Launcher install script 2022-08-31 22:01:48 +12:00
Josh.5
63d2f726a5 Ensure the SSH port is being set based on the provided env variable 'PORT_SSH' 2022-08-31 20:59:35 +12:00
Josh.5
4f1a693b88 Add an autorestart count to the steam.ini
This allows this container to start up before X is ready on the main container and restart the process until it becomes available.
Each restart will have a small delay of a few seconds. So 50 attempts should be a few mins.
2022-08-06 13:38:03 +12:00
Josh.5
576bf9471c Make the various used ports configurable 2022-02-19 18:07:10 +13:00
Josh.5
75c2df3115 Dont run VNC or apply the VNC audio patch when running as a secondary container 2022-02-08 14:36:19 +13:00
Josh.5
168c46ae72 Add support for running a container using only a XvFB framebuffer for the X server
As requested by a user, this gives the option to run a headless steam for the purpose of downloading games and not for playing them.
2022-02-08 08:03:56 +13:00
Josh.5
73a4af0f5c Add support for runnin a secondary instance of steam
This requires that you still have setup a primary container instance of this image.
We can then run a secondary instance of steam that will use the existing X server.

We are still limited to running one of these steam instances at a time.
2022-02-08 07:56:35 +13:00
Josh.5
c8dde58c9a Improve XDG_RUNTIME_DIR log message 2022-01-26 17:44:16 +13:00
Josh.5
7056a225d5 Adding some missing tools 2022-01-26 17:39:16 +13:00
Josh.5
552714c75f Improvements to Debian Docker image build.
Add changes from Arch dockerfile:
- Flatpak support
- Reduce unnecessary recommends installations
- Separate mesa and vulkin installations
2022-01-26 16:48:21 +13:00
Josh.5
5213e1c9f7 Add initial build config for Arch Linux distribution
This is a WIP, and it does not yet work very well.
2022-01-26 15:46:03 +13:00
Josh.5
68b5d3df3c /etc/ssh/ssh_config does not always import from /etc/ssh/ssh_config.d on all distributions 2022-01-26 15:44:48 +13:00
Josh.5
3aa0d04d91 Add default user to video,input,audio groups 2022-01-26 15:44:13 +13:00
Josh.5
217d0eb26e Need to be able to init on any distro.
The current supervisor.d configs are configured specifically for a particular supervisor version / installation.
This decouples the configuration so we can use it on any distro.
2022-01-26 15:43:45 +13:00
Josh.5
641a7ae7a7 The HeroicBashLauncher script does not need to have the configs reloaded
This is done automatically when the game scripts are run.
2022-01-17 23:45:31 +13:00
Josh.5
a1a05675e3 Accidently used backticks for quotes 2022-01-17 23:40:47 +13:00
Josh.5
f0ab202711 Tidy up all supervisor configs
(makes them more consistent)
2022-01-16 15:21:45 +13:00
Josh.5
ada5d2a9dc Hid x11vnc from Inernet applications menu 2022-01-16 14:40:19 +13:00
Josh.5
8fc06d9621 Add HeroicBashLauncher for adding games to steam 2022-01-16 07:20:28 +13:00
Josh.5
090c274a55 Add heroic launcher installer scripts 2022-01-16 06:15:04 +13:00
Josh.5
494d0f37e3 Just read teh version file (CI is putting all required info in there) 2022-01-16 06:00:30 +13:00