Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
https://github.com/LizardByte/Sunshine Goes hand in hand with moonlight
https://github.com/hansschmucker/NVStreamer1080
If you are like me and have a dummy hdmi and wanna switch to it when streaming this helps as well.
Oh boy here I go adjusting my streaming setup again.
Shameless plug: Wolf is an alternative to Sunshine that allows you to run multiple simultaneous stream via Docker
Wait, can I use this to make a virtual display separate to my normal desktop? Kinda like a sudo-headless setup?
What's the performance hit?
That's exactly the use case, virtual HW accelerated desktops isolated from the host.
There's practically no performance hit apart from a young codebase that probably needs more testing and polishing..
How does it work with a Windows host? Docker isn't as smooth an experience off Linux unfortunately.
Unfortunately Windows is not supported at the moment, I'm not even sure it's possible to implement what we currently have in Linux.
With time, we can probably explore other platforms as well.
My setup goes like this.
https://github.com/LizardByte/Sunshine - for the streamer on pc
https://moonlight-stream.org/ - for your client apps
https://github.com/hansschmucker/NVStreamer1080 - I have a Dummy HDMI plug that goes up to 4k60fps for streaming to my TV, this allows me to switch to it instead of my monitor when streaming.
https://tailscale.com/ - For remote access. the free plan will work well enough.
This combo works very well for what I need.
What does dummy HDMI plug mean?
It is a display emulator that plugs into your GPU, that makes it think it is a monitor. They can be used for anything that doesn't need a display, or in my case to turn off my actual display when I stream
Just to add to this, there are also a lot of them that programmable, so as long as they’re pinned out to the correct HDMI standard, you can add arbitrary custom resolutions using something like CRU or an edid writer.
Doesn’t steam do game streaming from your own computer? It definitely used to around 10 years ago when I used to do it.
It's a good solution for most, but if you are like me and need desktop access or anything else it isn't enough
Nonsteam games, steam games that don't play nice with remote streaming (like the surge 2), steam games that sometimes don't stream using direct IP connections
You can definitely stream at least some non steam games, I did it with Cyberpunk 2077 after buying it on GOG
Moonlight simplifies the process is all. Or I guess just makes people feel that it's simplifies.
Sunshine and moonlight. Works amazing.
anything similar for amd?
Works fine with amd
Hmm. Not sure. Sunshine is a reverse engineered version of Nvidia gamestream. Prolly have to rely on steam for remote streaming with amd I'm not sure sorry. :(
Just FYI for anyone that sees this comment, sunshine supports AMD, in fact it was one of the original motivations for it's creation :)
As an additional FYI, sunshine also works on MacOS/Linux so don't be scared to try it
I have it installed on Arch (running an Nvidia GPU) and it works flawlessly connecting to my main Windows machine.
I am trying it in a Windows VM with it's own GPU as a host and a guest will be the PC at my work because there's hardly anything I do here. Though I might have overvalued my internet connection perhaps xD
Just FYI for anyone that sees this comment, sunshine is better than Steam Remote Play and Parsec combined. Just try it and see it yourself. It works AMAZING, especially in terms of latency.
Do you mean streaming the games running on your hardware or just hosting the Geforce streaming client? I know a good chunk about the former but not the latter.
If you're streaming your own PC games I can quickly run through a Sunshine and Moonlight setup.
I'd be interested in hearing more about that.
Quick history: Nvidia used to provide their own in-home streaming solution called GameStream. This was built right into their GPU drivers and was fairly easy to set up. It had 2 issues.
- The streaming quality was good but it only worked with Nvidia GPUs.
- The streaming frontend however, was shite.
Programmers being programmers decided to make open-source alternatives to both of these. First came Moonlight as a better streaming frontend on PC, Android, Android TV etc. Sunshine was also developed as a version of the backend that was hardware agnostic.
Nvidia then decided GameStream was distracting too much from Geforce Now and removed it from their drivers. This was widely regarded as a 'dick move'. Thankfully, the previous 2 projects already existed, and the new interest in them hastened development.
This is good to know because coming into this new, you might wonder why both projects' documentation mentions GameStream a lot. It's legacy and dictated the goals of the projects.
For actual setup...
Start with Sunshine on your actual gaming PC. The currently maintained version of the project can be found here.
Sunshine has a pretty clean setup so just follow its steps and you should be good to get going initially. I personally set it up as a Windows service so it starts at boot when I WoL my PC. It might also request to install a controller driver which I'd personally let it do to avoid any input headaches.
Moonlight is even easier depending on the device you're using. It's straight up on the Google Play Store and I assume other places. The most technical part of the setup is that it might request some specific port-forwards, but I'd assume if you're on this community, then you won't have a problem with that. To get your Sunshine and Moonlight to communicate, you'll need to get ML to ping the IP of your SS PC and produce a link code which you then input into the SS web UI.
If you're wanting to play on your PC remotely, then that's also possible! You'll either want to just expose the requested Moonlight ports publicly and connect to your public IP / domain name, or (what I do) setup a Wireguard VPN on your local network to connect to (I don't like exposing too many ports).
I didn't proofread this essay so sorry for any nonsense I've written.
Me too :)
linked above. Sunshine is compiled to run on Linux and Windows, streams applications or the desktop itself, runs in the background, and will attempt to leverage gpu hardware to do the heavy lifting.
Steam has built in functionality for streaming games however it wants to be on the same network but that is solveable with a VPN connection. It's not ideal but it works. Back in 2009 I streamed Sims 3 to my eeePC at Uni using some specific software but I can't recall the name. That worked pretty poorly. Turn based games did however work nicely.
Steam supports fully remote play, you don’t need to use any wacky vpn workarounds
I use parsec to play retro games with my mates by streaming from my pc. Works really well!
Oh sweet. Good to know!
You could use Jellyfin and Tailscale. Lots of self-hosters do this. Google for ideas on how to do this. I've never tried it myself.
Note Jellyfin is not made much for games :)