Another Lemmy thread led me to thinking about getting a cheap VPS for my homelab. I’m double-NATted by my ISP, so I can’t do traditional port forwarding. I’d like to get a cheap VPS, install Tailscale on it, and access my homelab from anywhere without having to have Tailscale on every device I use (at work where I can’t install it, for example).
I found a cheap VPS company and the plan I was looking at gives 1000 GB bandwidth per month. Some of the things I want to access are media servers (Navidrome and Jellyfin). So if I set up the VPS with nothing but a reverse proxy and Tailscale, will all my Jellyfin traffic go through the VPS and count as bandwidth used?
will all my Jellyfin traffic go through the VPS
Yes
and count as bandwidth used?
Yes, twice (download from home to the server, and upload from the server to the client)
I do the same thing - I have a 3TB limit, but usually only use 300GB, sharing Jellyfin to a dozen or so users.
Edit: I’m sure there are plenty of good VPS providers out there, I personally have been using NerdRack for a few years now (got a VPS on special and the rate is locked as long as I keep it). Looks like they’ll do $11/year right now for a KVM VPS that’s sufficient.
Can vouch for Racknerd.
Thank you for answering very clearly. That’s what I was expecting to hear. I was also looking at Nerdrack. It’s very interesting to hear your bandwidth numbers, I would only be serving to three users, so I’d likely be looking at much less than your 300 GB, which is very good to know!
I am thinking about trying my hand at Tailscale, and have been tempted to click through to the Server Host offering on the LowEndBox $2 list.
LEB Special – 2GB KVM VPS
- 1x vCPU Core
- 2GB RAM
- 30GB High Performance Storage
- 1000Mbps Unmetered Port
- Full Root Access
- 1 Dedicated IPv4 Address
- KVM/Virtualizor
- Available in Multiple Locations
- Pricing: $21.88/year (75% off)
- Coupon Code: 2LEBA
- [ORDER HERE]
There’s a smaller one in the $1 list, also with allegedly unmetered bandwidth.
Server Host LEB – 1GB KVM VPS
- 1x vCPU Core
- 1GB RAM
- 15GB High Performance Storage
- 1000Mbps Port
- Unmetered Bandwidth
- Full Root Access
- 1 Dedicated IPv4 Address
- KVM/Virtualizor
- Linux O/S
- Available in Multiple Locations
- Pricing: $11.00/year (80% off)
- Coupon Code: 1ALEB
- [ORDER HERE]
Can confirm, but depending on the VPS, your traffic may only be metered in one direction. Mine only meters egress, not ingress, so it’s not too bad if I want to use my media server.
This would depend on whether the limit is defined as ingress or egress or both. For example AWS has free ingress traffic from the internet but there is a cost for egress traffic to the internet.
A better solution would be to find a unmetered service, which means that you have a fixed transfer speed (e.g. 500 Mbit) but have unlimited bandwidth. OVH offers this in their VPS products.
Yeah, video streaming is not a good thing to put on a limited bandwidth server either directly or as a VPN or proxy passing data.
Best bet would be if you can set up a reverse proxy on your router and have that accept all inbound requests and direct to the correct internal server and port.
I have been using OVH for years now, both VPS and dedicated hosts. The VPS offerings are all unmetered!
FYI, Tailscale has the Funnel feature, so you can access your TS network without a client. Check it out.
I’ve been using Tailscale for awhile now and had no idea Funnel existed. I’m sitting behind CG-NAT and that is the kind of solution I’ve been after for my media server. Thank you so much for the heads up.
Using it now for just jellyfin and it works well, but at this point it’s still in beta and there’s a maximum of three ports available.
will all my Jellyfin traffic go through the VPS and count as bandwidth used?
Yes.
How/why are you double NAT’d? Is it the ISP’s fault, or did you setup your own router behind their NAT’d handoff? If the latter, you can work around this.
Some other options to deal with the former:
- Talk to them about running their handoff device in passthrough mode, or turn it on yourself (lookup the model and see instructions)
- Get a static IP for your router on their network (not applicable to CGNAT)
Regarding Tailscale: you shouldn’t need a VPS for this. Even though you’re stuck with dNAT, the Tailscale client should be able to figure out a way to communicate with you wherever you are with DERP servers. Install on your phone, then a machine at home, and try it out.
It’s the ISP. I’ve asked about it, they won’t let me do anything about it unless I sign up for a business account at triple the price.
And no, I don’t need a VPS strictly for Tailscale, but i do want to access my tailnet from machines where I cannot install Tailscale (at work and on a roku tv in a remote location, specifically).
I don’t know where you work but don’t access your tailnet from a work device and ideally not their network.
Speaking to roku, you could buy a cheap raspberri pi and usb network port. One port to the network the other to roku. The pi can have a tailscale advertised network to the roku, and the roku probably needs nothing since everything is upstream including private tailscale 100.x.y.z networks which will be captured by your device in the middle raspberri pi.
I guess that’d cost like 40 ish dollars one time.
DynamicDNS will get you there without having to pay for VPS host traffic prices for ingress though.
This won’t work, your wan ip isn’t dynamic, it’s on the ISP NAT network and your resulting ip to public services is shared across many customers. CG-NAT.
It will with Tailscale though, as OP mentioned using. Tailscale clients reach out to DERP endpoints to create the routes they need to communicate with other clients. dNAT wouldn’t matter.
Source: don’t this with Tailscale vanilla and Headscale