[-] 7Sea_Sailor@lemmy.dbzer0.com 42 points 6 months ago

Just use yt-dlp instead of relying on websites that shove ads in your face and may do what ever they want to the files you're downloading?

[-] 7Sea_Sailor@lemmy.dbzer0.com 28 points 8 months ago

Hey! I'm also running my homelab on unraid! :D

The reverse proxy basically allows you to open only one port on your machine for generic web traffic, instead of opening (and exposing) a port for each app individually. You then address each app by a certain hostname / Domain path, so either something like movies.myhomelab.com or myhomelab.com/movies.

The issue is that you'll have to point your domain directly at your home IP. Which then means that whenever you share a link to an app on your homelab, you also indirectly leak your home location (to the degree that IP location allows). Which I simply do not feel comfortable with. The easy solution is running the traffic through Cloudflare (this can be set up in 15 minutes), but they impose traffic restrictions on free plans, so it's out of the question for media or cloud apps.

That's what my proxy VPS is for. Basically cloudflare tunnels rebuilt. An encrypted, direct tunnel between my homelab and a remote server in a datacenter, meaning I expose no port at home, and visitors connect to that datacenter IP instead of my home one. There is also no one in between my two servers, so I don't give up any privacy. Comes with near zero bandwith loss in both directions too! And it requires near zero computational power, so it's all running on a machine costing me 3,50 a month.

639
submitted 8 months ago* (last edited 8 months ago) by 7Sea_Sailor@lemmy.dbzer0.com to c/selfhosted@lemmy.world

@selfhosted@lemmy.world

Mid 2022, a friend of mine helped me set up a selfhosted Vaultwarden instance. Since then, my "infrastructure" has not stopped growing, and I've been learning each and every day about how services work, how they communicate and how I can move data from one place to another. It's truly incredible, and my favorite hobby by a long shot.

Here's a map of what I've built so far. Right now, I'm mostly done, but surely time will bring more ideas. I've also left out a bunch of "technically revelant" connections like DNS resolution through the AdGuard instance, firewalls and CrowdSec on the main VPS.

Looking at the setups that others have posted, I don't think this is super incredible - but if you have input or questions about the setup, I'll do my best to explain it all. None of my peers really understand what it takes to construct something like this, so I am in need of people who understand my excitement and proudness :)

Edit: the image was compressed a bit too much, so here's the full res image for the curious: https://files.catbox.moe/iyq5vx.png And a dark version for the night owls: https://files.catbox.moe/hy713z.png

[-] 7Sea_Sailor@lemmy.dbzer0.com 29 points 9 months ago

Or take github out of the equation and directly use cloudflare pages. It has its own pros and cons, but for a simple static blog it'll be more than enough, and takes out the CNAME hassle.

[-] 7Sea_Sailor@lemmy.dbzer0.com 23 points 9 months ago

Completely off topic, but can anyone pinpoint this Christmas market? Looks hella cozy, but I don't recognize the buildings around it.

[-] 7Sea_Sailor@lemmy.dbzer0.com 49 points 10 months ago

Just another day on which I as a European am absolutely shocked how shit the quality of life in the US is.

6

Hello SelfHosters! After getting myself a wonderfully large NAS and spending a couple days thinking about how to link up the different services, I turn to you for advice. This is my situation:

I've been operating a cheap VPS for a while now, which runs a bunch of services that require neither lots of storage nor compute (webserver, vaultwarden, gitea and so on). But I refuse to pay the price for a large capacity / powerful remote machine for stuff like Jellyfin or Immich, especially because I want these things to be available to me in the local network no matter the network state (internet drops frequently here). Therefor, I've setup a ~50TB NAS, on which I want to both store and backup larger data packets, as well as operate some storage/traffic heavy applications (Jellyfin, Immich, Nextcloud, ...).

What I'm struggling with is the networking of things. My VPS sits behind a Cloudflare Proxy, and I like it that way. All services are managed via domains and accessible from anywhere via that. I neither want nor need isolation of these services by a VPN. I want to continue this way with the new homelab, but am unable to directly expose ports on my home connection, or to get a static IP. For additional complication, traffic from these data-heavy applications cannot run through Cloudflare due to their limitations on the free plan. Finally, in a perfect world, I would be able to manage the domain names for services on the Homelab in the Nginx Container on the VPS, so that everything is centralized and I don't have separate management interfaces.

My first idea was to connect the VPS and the Homelab with a Wireguard tunnel, but since this would route traffic through Cloudflare, it wouldn't work.

network layout with a tunnel

I then read about Tailscale, and that I could link up the Homelab and VPS in a tailnet, setting up the node on the VPS as subnet router for the docker network on the homelab, which would bring me to something along these lines:

network layout with a direct connection

In a perfect world, the Nginx container on the VPS would be able to seemlessly direct traffic to both services running on the VPS and the Homelab, and data coming from the homelab would be routed directly to the client, while VPS data would continue running through Cloudflare. This would work without the client having to connect to any VPNs or mesh networks, the domain name would have to be enough.

Maybe I'm overcomplicating things. Please don't feel obligated to copy-paste guides, I'll happily read external ressources that you can recommend. I'll also provide clarifications in the comments as needed. Any pointers how you people solve this would be much appreciated.

[-] 7Sea_Sailor@lemmy.dbzer0.com 35 points 1 year ago* (last edited 1 year ago)

a tweet, screenshotted and reposted on tumblr, then screenshotted and reposted on instagram. the lifecycle of memes...

[-] 7Sea_Sailor@lemmy.dbzer0.com 63 points 1 year ago

The people who researched this topic and wrote that article are most probably not the ones working on the browser. As any company, Mozilla has departments.

[-] 7Sea_Sailor@lemmy.dbzer0.com 33 points 1 year ago

The review embargo was lifted with the start of the early access, meaning that all the regular review channels that received review copies have already posted their content.

[-] 7Sea_Sailor@lemmy.dbzer0.com 48 points 1 year ago

The gripe with golf usually lies within the incredibly high amounts of water needed to keep the courses green.

[-] 7Sea_Sailor@lemmy.dbzer0.com 37 points 1 year ago

I've seen this mentality in other threads and I'll repeat it here - the smaller userbase makes me feel like my comments, thoughts and opinions are actually seen, that I don't type them out for nothing. I never interacted on reddit, but do a lot more so here.

[-] 7Sea_Sailor@lemmy.dbzer0.com 24 points 1 year ago

Keep in mind you can always block communities you're not interested in to prevent them from appearing in any feed. I've already blocked plenty of communities to make the "All" post list digestable.

[-] 7Sea_Sailor@lemmy.dbzer0.com 28 points 1 year ago* (last edited 1 year ago)

I've done this a couple of times, and let me tell you, it's a journey.

General info

when I did this, I stored all my games on a generic drive that I wanted to easily access from both windows and Linux. Lutris / Wine would usually expect every game to sit in its own prefix, but since every prefix uses multiple hundreds of MB and makes folder structures annoying to navigate, I instead opted to use my default prefix (~/.wine) for literally everything. While this probably has downsides, it worked for me most of the time.

In this default prefix, through the wineconfig, I added my data drive as an additional D: mount to make Installation paths identical to how they'd be on windows, even if it doesn't really matter. I also mounted library folders like "Documents" to the same folder Windows would access to (hopefully) use the same save files between Windows and Linux. For games saving to AppData, I had to create manual links from the main folder on the data drive into the AppData folder in the wine prefix.

Installing Games

I'll assume you're either getting clean steam files from "the forum" or using repacks that need installing. In the latter case, I'd usually not bother adding the installer to lutris, it seemed more effort than needed. I'd rather open the terminal, navigate to ~/.wine, put the installer .exe in the same folder, and run something along the lines of WINEPREFIX=$(pwd) installer.exe. Specifying the prefix made sure that no new prefix would be created. Obviously you can also run the same command anywhere else on the filesystem, just remember to actually specify the prefix you want to use.

At that point, the installer should hopefully open. Proceed like usual and specify the installation path (in my case something like "D:/Games/Name of Game" or whatever). Best case scenario, everything works. Worst case, something breaks or fails, at which point id just boot into a windows install I had on the side, installed there, then booted back to Linux. You could probably achieve the same with a vm, but I never tested that.

Running games

Once you've survived the installation, you can add the game to your lutris library. Remember to set the wine prefix to the default one. You'll also want to mess around with different runners ("wine" basically never, "lutris-wine" sometimes, "proton" or "proton-ge" for steam games, and there's plenty more) and environment variables (enabling DXVK and DXVK_ASYNC for performance and other stuff). Since every game is totally different and requires different flags, I skipped all tinkering and went straight to https://www.protondb.com, where you can look up the game and the additional info other people use on the game. Transfer that info into your lutris game settings, and then hopefully things work.

What if they don't

Oh man, this happened a lot. Let me preface that I was on arch, so my troubles might not apply to you. When games don't launch, you can right click the game in lutris and look into the wine logs, where you'll most often find some form of error. Sometimes it's file access permissions (save location read only, game exe not executable, or whatever else), wrong or missing environment variables, or (for me this was the most frequent) problems with some media decoding component of the system that simply couldn't decode the media files no matter how many additional codec packages I installed.

At some point I just gave up and went back to windows. Gaming on Linux is a fucking handful and, for someone with a full time job and at most 2-3 hours of game time per day, spending 2 thirds of that trying to get shit to run wasn't a good investment of my time once the novelty of "wow I'm doing such cool and nerdy stuff" wore off. So I'm hoping this helps you and your experience will be better than mine.

I didn't proof read this, so no guarantee for perfect grammar or content. In addition, some helpful subreddits are /r/LinuxCrackSupport, /r/CrackSupport/ and to an extent /r/linux_gaming/. You can find some limited degree of help and information there too.

Let me know if you have further questions.

Edit: corrected helpful subreddits

view more: next ›

7Sea_Sailor

joined 1 year ago