- Static public IP addresses for ingress cost money from the cloud provider, they're not cheap either
- Having a public IP makes the ports open to attackers, using Tailscale the attacker has to hack your tailnet before they can hack your server
- You have to buy a DNS name for your public IP, you don't need one if you use Tailscale thanks to MagicDNS
- Tailscale has a bunch of nice features like Let's Encrypt integration, OAuth support, Tailscale SSH, etc. that make the experience quite nice overall
This is also common for people inside China who need to access external internet because:
1. All the VPN providers are blocked anyway
2. You have to disguise your traffic to look like non-VPN commercial traffic, anything that looks obviously like an outbound VPN gets blocked by the Great Firewall
When they're paying $125k instead of the market rate of $200k + equity, absolutely.
Six figures isn't what it used to be. I know families making low six figures who are struggling financially because the cost of living is so high now, especially food, gasoline, healthcare, and housing.
Golly gee if only that was a sign that the market is being highly distorted by the high six figure salaries, therefore demonstrating that there's no wage suppression...
> I know families making low six figures who are struggling financially because the cost of living is so high now, especially food, gasoline, healthcare, and housing.
Let's be very honest here: the only two in there that have massively increased are housing (due to the aforementioned non existent wage suppression) and healthcare (because america can't into healthcare). Families making 50k do more than fine when it comes to food and gasoline, merely because they don't have 4k of rent to pay.
You must be living under a rock if you think the price of gas or food hasn't changed recently, or that $50k is easy for a family to live on in the US. Or that the price of gas is currently caused by high wages.
And no, I don't live in a major city where rent is $4k.
Yes I think companies should be able to hire anyone and at same conditions to all. At least in IT, I don't see country demarcations as much of an issue until it is artificially made into an issue.
If you're privacy conscious, please be aware that Tailscale by default is creating behavioral metadata from all of those computers for the Room 641As of the world about everything you do on your supposedly “private” network: https://tailscale.com/docs/features/logging
“This includes real-time events for open and close events for every inter-machine connection (TCP or UDP) on your network.”
Once you get to N = >10 devices, and expect some degree of decentralized communication between them you find yourself maintaining N^2 entries. Every change to the set of public keys, require you updating N entries. Things get worse once you want consistent rules on what-device-should-access-what.
I initially used WireGuard, but as my home lab scaled, it became unwieldy. Some people could work around these limitations with bash scripts, but if you have an heterogeneous environment (esp iOS clients), making programmatic configuration changes to WireGuard becomes trickier.
Today I use Tailscale (with Headscale as the control plane) for all users, and WireGuard as a emergency access to key servers.
Does headscale fully replace the corporate tailscale network? I've been looking at replacing my home wireguard if I can self-host tailscale but haven't had the free time to really figure out how much privacy I can retain by using headscale.
It definitely can. By default it ships with the normal Tailscale DERP map but it also ships with a default-off DERP server. You can turn that on and set your DERP map to only include that one server (or you can fan out a couple if you want). At that point you're not using Tailscale assets at all.
For much the same reason most people choose Windows or Mac over Gentoo. Most people set up something like Tailscale to accomplish something rather than create a project and ongoing maintenance burden for themselves, and setting up Wireguard is not terribly friendly to the uninitiated.
WireGuard is one of the easiest things to set up. The total amount of reading you'd need to do to set up WireGuard amounts to half of a page. I spent more time figuring out what firewall rules are needed for WireGuard traffic than actually setting up WireGuard, it's so simple.
I'm going to disagree with you there. It's been a while since I set up anything with WireGuard but "easy" is not a word I would apply to it. A simple tunnel or VPN configuration was close to that but a network comparable to a Tailnet got pretty involved to do properly. By contrast Tailscale was effortless.
Needing to do additional things like figure out firewall rules is exactly what I'm talking about. I enjoy tinkering for fun most of the time but I'm generally looking to tinker on something specific, not every step along the way.
It's also removed the difficulty of configuring a mikrotik router as well. Mikrotik has a cloud router instance which is much easier to deal with I think than linux. Mostly because there's a UI interface for Mikrotik that makes it a little easier to inspect what's going on.
One of my pet projects I need to get back to is an SDN to make configuration for mikrotik routers easier (particularly with VLAN's, wireguard or VPNS, or routing configuration between ports).
Winbox is nice in a sense because it tells you the true configuration. But what I really want is something that can start with a network diagram (e.g.) and then get the current state of the router, and then validate that against the network config.
> Reliable NAT traversal on top of wireguard is their moat
And a damned good one at that. I can spend five minutes on a (family) nontechnical user's device and set it up to be able to access the parts of my network it needs to get to, and it's easy enough to use that I can walk them through the troubleshooting over the phone if it ever goes awry. Regardless of where they are or I am.
> How does wireguard helps you with NAT traversal?
It does not. You need a public endpoint, but presumably the $5 VPS or the "homelab" provides that, or it's of little use for things like email, Web, or game servers.
This. Wireguard is a single short text file with keys. It's simple and robust, and setting it up on a client like a laptop or a phone is equally easy. Tailscale or Headscale (the self-hosted version) are massively overengineered for something as basic as accessing your Linux ISOs from your phone.
I'll argue though that the convenience and autonomic management make a big difference in that case because if your Wireguard configuration is busted you might need a working Wireguard to log into your homelab and fix it.
Of course the default behavior that Tailscale forces you to reauthenticate periodically can cause the same problem unless... you turn it off. You know things like that always happen at the worst time.
That's true, but the $5 VPS should have a public IP, either v4 or v6. Other devices can route their traffic through it, and then every device can reach other devices, regardless of NAT.
It better have v4 if you ever want to use it while traveling. v6 is still not widely enough available on public Wi-Fi networks and even many mobile operators.
On some OSes you could probably also use some additional 4->6 tunnel, but that probably doesn't work stacked under Wireguard on iOS and Android.
Yes, but only if the VPS becomes a bottleneck. Otherwise self-hosting Headscale does not seem worth it. My guess is that the threshold is at dozens of devices in simultaneous use.
What's the advantage of Tailscale anyway? I guess ease of use compared to say setting up IPSEC? I haven't played with it yet but from what I read it's just wireguard with a bit of proprietary "one click and sell your soul" magic around it?
Tailscale automates wireguard key distribution and then layers routing, DNS, network ACLs, and other niceties on top.
For example, you can create a token that grants VPN access with inbound SSH as the only allowed traffic. Add that as a secret to GitHub Actions and now you can ad-hoc debug failing CI via `tailscale ssh`.
You can ask an LLM to set up a wireguard network for you with an idempotent bash script to deploy everything. You'll need a $5 VPS to bounce everything through. Works an absolute treat.
I saw all the Netbird recs here so looked into it briefly. Depends I guess on what you use Tailscale for. Tailscale Funnel is easy and stable. Self-hosted on Netbird is ... a bit more involved.
> connection data for troubleshooting you can turn off. No privacy issue there.
You can't turn off the centralised element of Tailscale though, i.e. IP tracking etc.
So for the privacy conscious Tailscale remains a poor choice. Especially as they operate under US jurisdiction:
- "Tailscale US Inc., a Delaware corporation with registered address at 447 Sutter St Ste 405 #543, San Francisco, CA 94108, USA"
- "For any dispute not subject to arbitration you and Tailscale agree to submit to the personal and exclusive jurisdiction of and venue in the federal and state courts located in New York, NY".
So CLOUD, PATRIOT and friends very much apply to Tailscale.
You may jest "but its only metadata", but you can do a lot with metadata, especially if its all nicely attractively centralised like Tailscale.
> What is Tailscale getting that my ISP and google/Facebook via their pixels and tracking scripts aren't?
Tons more. A lot could be written about, but a few "for starters" things to think about:
- The web is decentralised. And a lot of the web trackability can be dealt with in a dozen different ways. But Tailscale is centralised and all the data nicely structured (stable node keys etc.) and "ready to go" for metadata analysis.
- Tailscale have "behind the firewall" visibility at a far greater level, it enables building of a topology map and associated flows.
- Tailscale visibility is perhaps most concerning in relation to metadata surrounding mobile devices. Where is the device ? Is it in use ? Is it near other devices (from the same customer / other customers) ? etc. etc. etc.
Yes, `--no-logs-no-support` exists for the Tailscale client — but that's per-device, per-platform inconsistent (as the docs show), forfeits support, and doesn't change the fact that coordination traffic, the DERP relays, and the control plane still run through Tailscale. You can't opt out of the centralized control plane at all.
I think you are overestimating how decentralized the web is. Tailscale (could) collect a different kind of data than e.g. Google, and I believe it's far less harmful for the average user. If you are a journalist or persecuted by a government then sure, Tailscale is bad news.
But if you think Tailscale is bad for mobile devices because they might be able to tell that you're near another Tailscale user, that is absurd. If you have a need to be physically untrackable, the only solution is to leave your tracking device at home.
"We kill people based on metadata." - NSA Chief Gen. Michael Hayden, 2014[1]
In case you were not aware, spooks have focused on metadata analysis over "full take" (data) analysis for a very long time because they are far more effective and require less data to analyse. This has been the case at least since the early 2000s with Stellar Wind but arguably even the Stasi worked this way -- they cared a lot more about who you were talking to than what you were talking about. The Snowden revelations in 2013 talked almost entirely about metadata-only systems that were being used to invasively surveil the world.
If your point was more "I have nothing to hide" then you can find plenty of articles online to disabuse you of that notion. There's even a Wikipedia article about it[2].
Can you be on the internet and avoid the collection of metadata that can eventually be accessible for the NSA or other TLA? You have an ISP which logs everything, same for your destination endpoint, and those logs are already being correlated.
Can I even hide from NSA level adversaries without employing extreme methods? Assuming "no", then for this particular threat model do the tools employed next matter?
There is some evidence that Tor has posed significant problems for three-letter-agencies in the past, so it's not like there is nothing to be done at all.
But there is a bigger point to be made: in my experience most privacy activists argue that taking an absolutist stance personally is counter-productive -- just because it is almost impossible to completely eliminate risks from your life does not mean you should give up and not try to minimise them. And of course, the goal for most people isn't to protect against targeted attacks (since that means you already need to take fugitive-on-the-run-level precautions), it's to avoid becoming a target in the first place.
What I mean to ask was related to the mention made above, that Tailscale shouldn't be used by privacy conscious people.
> If you're privacy conscious, please be aware that Tailscale by default is creating behavioral metadata from all of those computers for the Room 641As of the world about everything you do on your supposedly “private” network
Is Tailscale creating additional metadata that doesn't already exist in "concentrated" form with my ISP? As a regular person trying to live a normal "internet enabled" life (self hosting a few things, sharing things with family or friends....) are there alternatives to Tailscale that leave substantially fewer traces for "Room 641s" and other similar entities, and doesn't just move the metadata collection to the hosting provider or the ISP?
And finally, does disabling logging in Tailscale mitigate those concerns? After all Tailscale will always be a target for data collection whether they cooperate or not by virtue of where they placed themselves. Similar to Cloudflare probably.
> Is Tailscale creating additional metadata that doesn't already exist in "concentrated" form with my ISP?
Yes, for connections between any pairs of machines that were previously entirely behind your NAT, unless you use bare LAN IP addresses for everything. Tailscale takes over DNS resolution very aggressively, so any use of short hostnames will have them resolve to Tailscale's CGNAT range instead even if they're on the same network.
Most privacy activists are already taking an absolutist stance.
Reality is, for normal people there's no point where worrying about spooks and taking actions to protect themselves is reasonable. As you say, there's nothing one can do against a targeted attack. But same is true for broad, untargeted sweeps - if they really care, they will find you anyway, and attempting to reduce your data exposure just flags you as an anomaly, making you more interesting, not less.
The whole "privacy vs spooks" threat analysis is not relevant to regular people.
My point is I don't care. It's not a thing worth caring about.
I don't argue "I have nothing to hide", even uttering this phrase is giving in to privacy paranoia.
In reality, I have plenty to hide. But those who I want to hide it from, don't have access to the metadata you mention - and those who do have access, couldn't give less of a damn about the things I want to hide.
That's a really uncharitable take. Yes there's client logging by default, but those who are privacy conscious probably also continued to read the very next few sentences in the same section of the docs you quoted, showing precisely how to opt out.
I picked up a new hobby of buying Linux ISOs from thrift stores. I usually get them for $1/each. Up to 300 now - all mine. Jellyfin is great to organize them
I have some Linux ISOs I ripped myself, but it can be especially hard to find older ISOs from other countries - you usually can't find them on normal websites. It's really nice to have them on my own server and not worry about them disappearing someday.
I’ve been collecting a lot of post-war Italian neorealism Linux ISOs and running a DHT indexer has made it pretty easy to find distros that may be out of print.
I used to have a substantial collection of very rare Euro/US short and performance art films on DVD that were lost to the sands of time during a period of my life where my work led me to be mostly nomadic. In retrospect, I wish I would have ripped the collection onto a hard drive as most of them are completely irreplaceable now on DVD.
$1 won't get you Linux ISOs up to modern display standards. Great if that works for you but the high end is more like $20+ (emphasis on the +, taxes and shipping not included) per Linux ISO so its understanding why many might prefer sharing them digitally. And that's before getting into cases where the Linux ISO vendors don't even want to give you the specific version you want.
Did you see the 'thrift store' part of his comment? I do the same thing as him, and depending on the location around town, an ISO on a DVD can be as little as 50 cents, and a modern Linux ISO on bluray, including 4K (though rare I see those) are rarely over maybe $3.
Blu rays aren't bad either. The glory days were back when Netflix was cheap and there was an oversupply (in that era I built up a library of hundreds), but even today you can get most things in 1080p for $10 or less.
If you don't think 2 hours of professionally produced content is worth $10, well that's why AI isn't the only thing destroying art and culture.
The issue with Blu-rays is they are costly to rip. Basically, the only software that let you do it right now is MakeMKV, and it's proprietary. I believe that the VLC team is working on some open-source solutions, but last time I checked, it was only able to read old Blu-ray (which is understandable, they have to care about potential copyright and drm issue, unlike the people behind makemkv).
So if you want to rip recent Blu-ray, you will need to buy makemkv (they do have a 1-month trial tho). But worse, if you want to rip 4k Blu-ray, you will need a specific br-drive that makemkv support (as I understand, they make custom / modified firmware for some drives, allowing to read the protected data). The issue is that there is barely anyone still making br drives and whenever makemkv support one it goes out of stock and/or become extremely expensive on the second hand market.
This is really annoying me because I know this is the end of the physical market for movie. I fully expect Blu-ray to completely die off in a few years. Movie will probably only be available through streaming services, which means it will be harder and harder to get a good quality encoding.
With recent codecs (av1, h265, will see how av2 does), the quality that streaming services is okay, but we are far from what a full Blu-ray dump allows today.
MakeMKV has an effectively perpetual free trial right now. It's not like old shareware were you have to pay after a month but rahter that you have to feed it a new free activation key every month and maybe wait a couple of days for one to be posted.
That can change (and the official communication is that its only free while in beta) but my guess is that the free beta is the main thing holding back alternatives. MakeMKV does solid work but it's not rocket science and a lot of parts (like all the complementary LibreDrive / UHD firmware work) doesn't even have a paid license check at all.
> I fully expect Blu-ray to completely die off in a few years.
I don't. It might continue to shrink and thereby get more expensive but the distributor market is still very healthy and has more active competition than movie production itself. The biggest danger is disc production but I don't think its impossible to shift that over to a BD-on-USBFlash or whatever else is convenient if needed.
I'm back in to collecting physical media as well. I get my wife to use her Facebook account to find stuff on marketplace. Lightly used bundles can get movies down to like a dollar per.
1080p doesn't really say much when that could be an old DVD-era master with questionable color correction crammed onto a BD25 disc with other features/extras vs a modern archival-quality master professionally encoded to 40+ GB.
I hate blueray. At least for having physical copies. Too many times I've tried watching something I own only to have it fail due to my player not having current decryption keys. Perhaps it's more of a player issue and less of a disc issue, but it's still a problem with the overall format.
The one time I actually bought a Bluray, I couldn't play it because of fricking Region Coding. Like this is the 2020s and you still have to deal with that BS?!
In France many public libraries let you rent them for free (or a ridiculously low annual subscription); you take them home, copy them, return them, and it costs nothing.
Some of ours in the US even have video games. The one I go to even has tools and all sorts of other interesting physical objects. People really need to visit their libraries, they’re already paying for it via taxes.
a few months back I opened up a streaming service that I pay for to watch a old TV show. I was _enraged_ to find out that they put ADS WHERE COMMERCIALS USED TO BE. I thought the whole point of paying was to avoid ads!
so now I visit my used Blu-Ray/DVD store about once a month. they always have buy two/get one free, and the prices are ridiculously low.
is it a better solution? I don't know, but I do know that I don't have to watch those ads anymore.
I started picking them up from the library. Goodwill wants like five bucks a disk now. Library has them for .25 to a dollar each. Or free if you just check them out.
Joking aside, a few early commercial Linux distro (Red Hat, Yellow Dog, SuSe, Corel Linux) had really nice packaging and media artworks. I'd love to collect them.
The two things that torrents are best at are downloading Linux ISOs and pirating content. So using qbittorrent to download Linux ISOs is usually code for piracy, since torrenting Linux ISOs is legal and piracy is not :)
Very common on Slashdot fifteen or twenty years ago. The Pirate Bay trial was a big story back then, for instance, and there was advocacy from the copyright cartels to ban the bittorrent protocol. Another hot story was when Comcast dropped customers for using too much data despite being on “unlimited” plans, justified because only a pirate would download so much. Hence, “You can’t do that, I use bittorrent to download my Linux ISOs!”
It really was common in the early 2000s for Linux distros to provide torrent downloads. Internet speeds were such that downloading peer‐to‐peer could be significantly faster, and (probably more importantly) it saved the distro mirrors a lot of bandwidth. I think this practice has mostly died out among newer distros, but distros from the era such as Ubuntu or Arch still provide them.
My exact setup. Main repo on a second internal disk, one replica on an external disk, second replica in backblaze. Replicas are kept in sync with `restic copy`. Backup integrity gets checked automatically with `restic check`. It all works great.
I am honestly not sure. I use GG photo because that what i use first and i was too lazy to investigate better deal. Also, i know Google does really well at keeping my data available, which is what you want for backup.
Yeah, I know multiple people who have irreversibly lost their Google or MS account. One day everything you had with them (emails, files, etc.) is just gone forever. Don't use them as a primary storage service (work the "may disappear at any time" risk into your backup/storage strategy)
I didn't check ToS of proton drive, but in my experience, every cloud storage has requirement about what kind of data is allowed to store(after all, they dont want to accidentally store illegal stuff).
I have an encrypted offsite backup. A lot of people I know with home servers work out a deal with a family member to have cross-backups with each other.
Sadly I don’t have a family member that I can trust with that, but I do put an encrypted copy on AWS glacier and I have an encrypted volume in Dropbox.
Yes, my spouse has access to my password storage, which has all the decryption keys. Whether she remembers how to do it is a different question. :). Maybe I should write it down, or show one of my kids...
Raid is not a backup :( For the really important data (photos, documents, ecc) a small 1GB raspberry pi + USB external HDD works great as a Borg server for daily backup, there is no need for a full NAS when you can store all important data in less the a handful of terabytes
I’m not implying Raid 5 on its own is a complete backup.
Within a storage array though it does provide redundancy at that level, and generally speaking most people don’t access a raid or NAS at a shell level only where they drop rm -fr’s
Separate and offsite backups are non negotiable, however running a raid 5 locally can greatly reduce storage rebuild/restore time, if a single drive fails the rest of the raid continues to work fine until replaced.
Out of curiosity: why use Gitea for personal projects when you can put up raw git repos and run the git-daemon that comes with git? Super lightweight, really functional. Add _cgit_ if you need to be able to view the repos online. Simple and does not require upkeep like gitea (which seems to break with every update and is really heavy).
Like I said, this is on an old desktop PC that I shoved some spare SSDs into. I have a few thousand Linux ISOs on there. I have an rclone job running regular encrypted offsite backups as well, so that my Linux ISOs are safe from hardware issues.
Which is only marginally more effecient than the H.264 encoding that many of them are delivered in. And the biggest shiniest Linux ISOs already use H.265 out of the box.
They're compressed in x265, most web browsers can decompress that natively ;) Heck, when you watch something on YouTube you are decompressing the content ont he fly
Since Linux ISOs demand random access for a good user experience most of the relevant compression formats support that and so compressing as a blob wouldnt't really get you much but also not prevent individual access.
You lost me with the quotes. Why are Linux ISOs needing such broad distribution that mirrors won't handle? Those mirrors might be on full self driving cars taking people to the movies or a concert, right?
This isn't really anything new it just seems like a new API but you could do the exact same thing with just a little bit of prompt engineering all the way back when GPT-3 was first released. Am I missing something?
No amount of prompt engineering will give you the true probabilities for the model producing a certain response; this is something you can only get by inspecting the internal state at inference time.
Does this give you the true probabilities for a certain response either? How does it work exactly? The probability of an overall positive answer isn't just the probability that the next token is "Yes"
For most use cases is that actually needed though? Just having it choose between predefined responses seems like enough but I'm curious about specific use cases because I do feel like I'm missing something
This is useful for classification problems; any time you need to write software that looks at some fuzzy data and needs to make a probabilistic decision. It's far more cost-efficient and performant to use this type of model instead of an LLM.
Before now you had to train a model on your specific classification problem, now these new models don't require any specific training at all to do pretty well on novel problems.
I understand but you can already do that with an LLM, it just comes down to your prompting. It is not exactly the same, but I was asking for a specific use case where that really matters
Becuase it is multiple orders of magnitude slower and more expensive to do it with an LLM. Look at Typesafe's Doom demo where they run complex queries tens of times per second for around $7 an hour.
There are classes of problem where this shifts the economics from "paying a human to do this is cheaper than AI" to "the software is now cheaper than the human"
I've asked twice now about what I'm missing and for a specific use case where you can't just do this with a regular LLM call and nobody has replied that so if you have the answer that would be great. Looking for something specific instead of just it's faster or cheaper which is definitely nice but I'm just not seeing what this opens up that was not previously possible
I don't have as deep an understanding as most people here, but I have a mental model of it, so I may be able to help more, ironically.
Yes, you could ask an LLM to choose between 4 options, and sure have it include a confidence score. But at the end of the day it's still LLM-ing and outputting tokens based on the total probability of the chain of tokens that precedes it to figure out what's most likely to come next.
This taps into a lower level of the model, skipping that tedious token generation step, and exposes you to more raw output from the model, e.g. the actual probabilities involved in answering the question.
It still needs to "think like an LLM" to interpret the question, so it's in the same family, but the thought process gets short-circuited once the question is understood and the raw weights are then extracted as pure, weighted probabilities.
Why would you want to use it? What does it enable beyond a traditional LLM?
(a) It's much more efficient (read: cheaper and faster), and not by a %, but an order of magnitude or two. This makes it practical to be used when an LLM isn't, due to its speed and accuracy, which opens up new use cases.
(b) By getting the raw options and weights, you're not getting the LLM's "spin" on the output, nor hallucination risk — instead, you're using an MRI to pull out exactly what it's thinking before the bullshit verbalization engine kicks in.
Does that help? Please correct me if I'm wrong or went too far in simplifying it, but that's my high-level understanding. I hope this helps.
You’re getting answers, you just don’t like them. It’s faster and cheaper. And if you were to ask an LLM to give you a confidence score it would just be a fabrication.
I was curious about specific use cases because at the end of the day in either way you are relying on an LLM to interpret the query so whether you use a probability threshold or prompting techniques it would be a similar result, so yes this new method is much, much nicer but doesn't open up brand new use cases from what I see
It is an absolute requirement if you want to build something that (1) uses a classifier as part of a larger system, (2) can be let off the leash with no human supervision and (3) is not an AI slop demo that will be [dead] and [flagged] in seconds after being posted to HN.
For instance if you have a predictive model for market prices that is not calibrated that's... nice. If you have a calibrated model you can add a Kelly better and you have a trading strategy that makes money. Similarly if you are classifying articles or images or other contents to make a feed you might believe that 70% or 95% or some other level of precision is "good enough" and you can set the knob and turn on the cruise control.
It's more specific than smarts; DND has three separate stats representing your mental skills. Loosely, Intelligence is academic knowledge, Wisdom is practical understanding of the world, and Charisma is personal influence.
The parent comment is arguing you can't coast by with low WIS and CHA anymore.
- Lots of ISPs use CGNAT which means you can't always have direct access, especially on mobile. Tailscale solves that via DERP (https://tailscale.com/docs/reference/derp-servers)
- Static public IP addresses for ingress cost money from the cloud provider, they're not cheap either
- Having a public IP makes the ports open to attackers, using Tailscale the attacker has to hack your tailnet before they can hack your server
- You have to buy a DNS name for your public IP, you don't need one if you use Tailscale thanks to MagicDNS
- Tailscale has a bunch of nice features like Let's Encrypt integration, OAuth support, Tailscale SSH, etc. that make the experience quite nice overall