Commit Graph

102 Commits

Author SHA1 Message Date
Josh.5
af1c17fdfd Enable parsing STEAM_ARGS to the steam supervisor config 2023-07-21 11:08:43 +12:00
Josh.5
659bde74f5 Revert to installing steam as a .deb package
Flatpak seems to complicate Steam's execution of Proton
2023-07-17 12:35:28 +12:00
tnielsen2
932e15314a Add steamapps troubleshooting and autocreation script 2023-07-11 11:13:30 -04:00
Josh.5
8da0bd023d Hacky fix for bwrap execution inside the Debian container running under the NVIDIA Docker runtime
Ref: https://github.com/flatpak/flatpak/wiki/User-namespace-requirements
2023-07-10 19:30:35 +12:00
Josh.5
26b775f66e Rebase debian build to Debian 12 (Bookworm) 2023-07-10 19:30:35 +12:00
Josh.5
555bd8991d Some more tweaks to the Arch build 2023-07-10 19:30:35 +12:00
Josh.5
42ebc826b8 Update Arch build with latest changes 2023-07-10 19:30:35 +12:00
Josh.5
0b600108f7 Add Sunshine to initial desktop apps 2023-07-09 13:25:38 +12:00
Josh.5
8d43f93b55 Ensure autostart path exists before creating a file for steam 2023-07-08 17:16:07 +12:00
Josh.5
f92fb55290 Replace previous auto-start script if it contains '/usr/games/steam' 2023-07-08 17:01:39 +12:00
Josh.5
417ab4488b Display the progress of desktop app installation before starting the desktop
This just prevents people from seeing a black screen for a long time and assuming something is going wrong.
This initial setup is installaing flatpaks to the mounted home directory. This will not need to happen on every container startup. So this black screen is only a problem on the first start. But this change at least gives people something to look at.

Closes #50
2023-07-08 16:04:38 +12:00
Josh.5
fc700e2200 Start using Flatpaks as the main install method for any desktop apps 2023-07-08 05:19:50 +12:00
Josh.5
df9423ccad Improvements to running Xorg with NVIDIA 2023-07-07 16:01:14 +12:00
Michael Karbowiak
98a4425fce If we find an Arc GPU, we need to install the Intel drivers just like if we find an intel iGPU 2023-05-22 15:09:12 +02:00
Danny Beer
9b962580ff Use protonup-ng package 2022-10-29 09:23:47 +13:00
Josh.5
0d2da789ef Ensure ~/.config/pulse is owned by the default user 2022-10-10 16:54:26 +13:00
Josh.5
2c5da29701 Fix issue where dynamic port allocation during startup would take a long time 2022-10-10 16:40:10 +13:00
Josh.5
2e9a20a87a Fix error in pulseaudio socket config 2022-10-09 23:45:56 +13:00
Josh.5
3b9311fde3 Add dummy screen on startup if no monitor is plugged in 2022-10-09 23:45:56 +13:00
Josh.5
54e4e09d29 Fix error where on a contrainer restart you could not add default user to docker gourp again 2022-10-09 23:45:56 +13:00
Josh.5
5fa3f2b968 Fix missing group permissions setup on container start 2022-10-09 23:45:56 +13:00
Josh.5
45f73da6cb Set root XDG_RUNTIME_DIR to /tmp/runtime-root 2022-10-09 23:45:56 +13:00
Josh.5
72f2543b02 Add missing env variables
These are required for the internal docker containers
2022-10-09 23:45:56 +13:00
Josh.5
03beff3ff3 Add dind config init script 2022-10-09 23:45:56 +13:00
Josh.5
4b7cf66ecf Add nvidia docker runtime 2022-10-09 23:45:56 +13:00
Josh.5
9712eede91 Add Docker in Docker 2022-10-09 23:45:56 +13:00
Josh.5
477e25f82c Some minor tweaks and improvments 2022-10-07 03:46:52 +13:00
Josh.5
f233991597 Add default sunshine config on startup if missing 2022-10-06 22:38:45 +13:00
Josh.5
1fbfd235f1 Clear X server config on startup 2022-10-06 22:38:04 +13:00
Josh.5
469b12087d Run an initial X server config on startup 2022-10-06 22:37:37 +13:00
Josh.5
54911cb97b Fix bug preventing input after the first startup of the container
Xorg was starting before udev could finish the monitor command. This prevented the X server from having access to the input devices. For some reason, any subsequent starts would be fine.

Adding a small delay to the X server start and triggering a request for device events from the kernel after a delay seems to fix this issue.
2022-10-06 22:26:50 +13:00
Josh.5
1e255f822d Add optional KB/Mouse input capture with Xorg 2022-10-06 15:22:20 +13:00
Josh.5
829754b8fb Add sunshine as an optional background service 2022-10-06 15:22:20 +13:00
Josh.5
703be17214 Move all default user group modifications to the 10-setup_user.sh script 2022-10-04 17:36:40 +13:00
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