lemmyvore
@lemmyvore@feddit.nl
- Comment on PSA: eMudhra Intermediate CA Compromise 8 hours ago:
- Comment on Beginner looking for advice on open-source NAS hardware and OS for self-hosting 10 hours ago:
want to move away from US-based and other non-EU cloud providers
Which operating system would you recommend? I’ve been looking into TrueNAS Community Edition and OpenMediaVault, but I’m open to other suggestions.
Unraid is a very solid choice. You need to pay a yearly fee for the upgrades but it’s very easy to use and suited for more than just storage (but also makes storage very easy).
I’d prefer a compact, reasonably power-efficient, ready-made NAS rather than building a full PC, mostly due to limited space.
This goes against your preference for open software, because all ready-made compact NAS appliances will come with proprietary software and proprietary hardware… because that’s their business model, tying you to their products.
Regarding power, you’re not saving as much as you think when you consider that the HDDs will take the lion’s share. It doesn’t really matter if the base system consumes 4W or 20W in idle if the HDDs consume 15W/drive.
If you’re an experienced PC builder this is a no-brainer. Building a PC lets you replace components separately and get away with buying used and off-the-shelf.
Choose a case with the right amount of (dampened) HDD cages (I prefer Fractal Design but there are others) and a quality power supply. The motherboard should also have an appropriate amount of SATA connectors. The CPU is not terribly important and can be a decade old. In fact you can get away with buying a used kit. You don’t need a lot of RAM, even 8 GB will do (but if you can get 16 or 32 that’s nice too). Same for the system SSD, it can be as low as 64 GB or even lower.
How much hardware performance do I actually need?
Depends if you have specialized usage. For example if you want to do AI on the CPU. Or if you want to do video transcoding. If you don’t, anything will do.
Which software stack would you recommend?
A dedicated CalDAV/CardDAV server for contacts and calendar/tasks. Radicale and Baikal are the most popular.
Immich for photo organization (albums, sharing, face recog, semantic search) and photo backup. Basically it was designed to be a great Google Photos replacement.
Personally I would avoid Nextcloud, it’s a beast. I would definitely not tie important stuff like calendars into it. Strictly for files may wanna look at alternatives like Seafile or OpenCloud.
For file sync most people use Syncthing but I don’t like their mobile (non-official) support. Personally I prefer FolderSync + SSH.
If you get into media libraries then Jellyfin can cover video, audio and books too, but there are also other specialized ones for music and books.
What should I consider regarding backups and remote access?
Not sure why you’re conflating these two.
For remote access if you’re not behind CGNAT at the ISP then VPN (Wireguard or OpenVPN) and/or SSH is the most secure.
Tailscale is a good alternative, it works behind CGNAT too, and it has a bunch of other interesting features like exit nodes. Look into it. It’s a “mesh VPN” that uses open source clients with a central server that facilitates the pairing from behind NAT. The connections themselves are always private.
If you have to expose HTTP services over the Internet you must get a domain, reverse proxy, HTTPS certificates (with auto-renewal, most reverse proxies will help with this) and mTLS is the best security option. But keep in mind very few mobile apps support mTLS (Immich, DAVx5, Ntfy do).
For backups, first of all use a proper backup tool like Borg or Restic, not sync tools like Rsync. You want your backup tool to offer integrity checks, recovery, encryption, deduplication and compression, sync tools offer almost none of these.
Secondly, look into 3-2-1 backup strategy. Affordable backup methods for home use include backup “cold” HDDs, Blu Ray optical discs, and online storage subscriptions. Borg/Restic include support for transparent online backups too.
You don’t have to backup everything. Categorize your data and figure out some priorities. Usually the truly important data is not very large.
RAID and other forms of storage redundancy are NOT backup, they’re mostly about keeping services going during drive failures. If you have to work with limited amount of drives I would prioritize backup over redundancy.
Email:
You don’t have to self-host the sending and receiving of email to retain control over it. It’s in fact very hard to do that.
What you need is to choose a good domain for your @ addresses, on a long-lasting TLD (preferably an EU ccTLD, perhaps your own country’s), and an email provider (see the link at the top) that offers SMTP and IMAP without any shenanigans.
You can use IMAP to sync your online mailboxes constantly at home, and also use IMAP to check your online mailbox with any email client, and use the provider’s SMTP to send mail. Any decent provider will supply you with the DNS records that need to go into your domain setup so you can use them.
If you ever want to switch provider it’s as simple as signing up with another and changing your DNS records.
You can if you want self-host an IMAP server and a webmail client at home on top of your local email archive, so you can search through old emails, and so you can delete them from the online mailbox so you can reduce your online mailbox size (and perhaps pay less). Just as long as you don’t try to self-host the ability to send and receive.
Other things you might want to look for at a provider is alias capability, or at least a catch-all. Helps a lot if you give each different online account its own different email address, and never give out your real address (the one you use to login to the email server).
Most email providers will tax you per mailbox and for things like aliases. IMO that’s bullcrap. Personally I prefer a provider that allows for unlimited mailboxes and aliases and taxes for tiers of storage space and emails sent/received. Migadu is one such European example. For two people YMMV, either model might be ok. When you have more than two accounts the unlimited model can become much cheaper very fast.
Things you may not have considered:
Look into a reverse proxy and getting a domain + HTTPS certificates for it, and putting your services behind it at addresses such as
https://cal.example.com/. It will make your service consumption 100x better.Also consider your home router. Is it a capable one? Most people overlook this completely, but a good router can help immensely with self-hosting for things like DNS, VLANs, port forwarding, having stable IPs for servers etc.
If you need notifications, or sending messages+attachments across devices, or action buttons, Ntfy can either be self-hosted or used through their public service.
- Comment on PSA: PHP warns it plans to release 2 emergency patches imminently (today 14:00 UTC) 11 hours ago:
They took a lot longer than that on some past vulnerabilities, some of them sat unpatched for weeks or months. But it depends on the severity. A remote exploit of severity 9 will probably get expedited.
- Comment on Can you recommend me a free domain service? 1 day ago:
Yeah use the “Registry” link on their sidebar and sort by age. The oldest domains on there are not going anywhere.
- Comment on Can you recommend me a free domain service? 1 day ago:
*.dedyn.io registrations are discontinued right now unfortunately, following a wave of abusive registrations.
- Comment on Caddy and multiple subdomains/reverse proxies 1 day ago:
It’s a good idea to validate your config before reloading it (whether it’s by running
caddy reloador restarting/reprovisioning the container):[docker exec -it caddy-container] caddy validate --config /etc/caddy/Caddyfile - Comment on I'm upgrading from an old pc to a NAS with OMV. What about RAID? 2 days ago:
Why do we do this?
RAID comes down to reducing the risk of any single disk failure making you lose data. But you can also approach that with backups.
There’s also the secondary benefit of avoiding downtime but that’s questionable in a self-hosted setup, unless you’ve come to depend on services that can’t continue when the server is offline. In my case that’s not true because email is not self-hosted, things like calendar and contacts can function offline on the phone, just don’t have server sync for the duration, and things like photo archive aren’t essential (important yes, but not “can’t function daily without them”-essential).
Speaking of which, I think the first thing you should do is categorize your data by degrees of gravity along these two criteria: (1) how over would my life be if I lost this data and (2) how essential it is to my daily function.
It’s important to realize that these two criteria overlap but aren’t the same, first of all. Secondly, I think you’ll find that data criticality in regard to your life is maybe not what you expected. Truly essential things will probably end up being smaller than you think, and that makes them easy to back-up, making RAID maybe not such a must-have.
IMO it’s more important to set up a 3-2-1 backup strategy and consider your methods for achieving that than to have a RAID setup. Some cheap and effective methods are: backups to “cold” HDDs (which you keep in the closet, bring out once a month for a backup, and put back); backups to optical disc (Blu Ray); backups to online storage.
Please be aware that backups tools and copy/sync tools are different beasts. Rsync or rclone for example is not backup tools, they’re fancy copy tools. A true backup tool (borg, restic) will give you integrity checks (independent on the supposedly-still-pristine-source), deduplication, incremental backups, encryption (essential for online storage), recovery, adaptive compression etc. They also work transparently on top of regular filesystems and/or SSH, which lets you use generic online storage for backup. For example you can sync a local borg repo to a free Dropbox account, or use borg over ssh with a Hetzner storage box.
Personally I stay away from complicated array setups. I use pairs of HDDs in RAID1 and that’s all the RAID I need. RAID5 is a data loss waiting to happen because the long and intensive rebuild puts too much stress on the rest of the array members in case of one disk loss, so basically RAID6 is a must, but that makes things even longer and more complicated. ZFS is a very complex beast, it needs a lot of RAM to function efficiently, and the misconfiguration scenarios and subtle failure scenarios are terrifying. It’s also not going to solve any problem that you can solve with backups, which you should prioritize anyway.
Another thing that you must realize and commit to, with any approach that uses disks, is that any disk can fail at any time. Any of the backup drives, any of the live drives. You MUST always have at least one known good spare on hand. And I mean literally in hand, because if you have to go shopping in today’s day and age that means weeks away. Always have the spare local.
Also, don’t think this doesn’t include SSD’s, particularly system disks. Losing the M.2 that the server runs off can hurt like a bitch. Losing any of the fancy SSD’s in your desktop/gaming computer/laptop, even more so. But people often overlook those and hope for the best, when same logic applies: backup, and have a spare in hand.
- Comment on Which domain registry or specific TLD do you prefer, and why? 6 days ago:
Here are my basic criteria:
If you want the domain to be used long-term and tie your whole online identity around it, then stay away from all novelty domains. Only use top TLDs and ccTLDs.
Novelty domains can suffer unexpected price hikes across the registry or even be discontinued because they’re basically commercial ventures.
Particularly avoid premium TLDs, because the registry can choose to hike up the price of specific domains separately from the base domain cost, just because they look “premium”. You can have the domain priced up right from under you and come renewal time you have to match the new price or lose it.
The ccTLDs of the EU member countries are a very good idea if you’re an EU citizen because they have built-in privacy for individuals (they don’t publish their info in WHOIS) and are also subject to GDPR.
Your own country’s ccTLD would be an obvious fit but price may be a consideration, some are more expensive than others. As long as you’re an EU citizen you can shop around and get a domain from any other EU member afaik, as well as
.eu.I think
.de,.nl, '.frand.ro` are the cheapest, or at least they were last time I checked this a few years ago.Please note that
.detechnically requires a local German address for correspondence. You can choose to skip that but if the registry ever has reason to get in touch with you and you don’t have such an address it’s grounds for suspension. Some registrars (INWX for example) will supply their own German address for you for a small extra fee, but that brings the cost of the domain in line with the others so you might as well get a.nlto begin with. - Comment on What is your self hosted power draw? 1 week ago:
What’s a good smart plug to use?
I assume it’s a thing you place between the machine’s power cable and the wall, and can be queried over WiFi?
- Comment on What is your self hosted power draw? 1 week ago:
RRD
That’s a name I haven’t heard in a minute!
I see the rrdtool gallery is still up and my graph is still in there 🤭. (No it’s not the Christmas graph, that one’s insane.)
I’m using Influx nowadays but maybe I should revisit good old rrdtool for old times’ sake.
- Comment on Help with Getting My Reverse Proxy to Forward the Correct IP Address 1 week ago:
Need to edit the proxy host for Jellyfin in NPM (advanced tab) and send the X-Forwaded-For header to it.
proxy_set_header X-Forwarded-For $remote_addr;And also in Jellyfin settings you have to set the IP that it sees the reverse proxy coming from as a “known proxy”, so it knows it can trust that header when it comes from that IP.
- Comment on Help with Getting My Reverse Proxy to Forward the Correct IP Address 1 week ago:
Yeah that’s because most people are under the impression that Docker only allocates 172. addresses for its bridge network. I was under that impression too.
Turns out it also allocates 192.168 addresses.
Does it overlap my LAN? Is 192.168.65.X not distinguishable from my defined subnets with a 24-bit mask, now that I know where they’re coming from?
The problem is that the default says
192.168.0.0/16, so it can also generate overlapping addresses. The fact it generated a 192.168.65.x address instead of an 192.168.1.x address was pure luck.Somehow all of the tutorials I’ve found in the past months to set up services behind a reverse proxy never mentioned any of these gotchas with Docker and networks.
The common-sense assumption is that you will adjust your Docker daemon settings so that you prevent overlap with your LAN. (Also, I expect lots of tutorials aren’t that high quality to begin with.)
If you edit daemon.json like I explained and explicitly only put 172. ranges in there you should be safe from overlaps in the future.
- Comment on Help with Getting My Reverse Proxy to Forward the Correct IP Address 1 week ago:
Yep, you’ll have to fix that by telling your proxy to put the client IP in a header that the target app can recognize and use.
But, also, it’s a good idea to have Docker network ranges that don’t overlap your LAN. That would make me uncomfortable too.
You can also look into using IPv4 link-local addresses for Docker bridges (169.254.). Here’s an explanation: github.com/11notes/RTFM/blob/master/…/daemon.md#n…
That frees you from accidental overlaps with pretty much everything else, but it comes with its own gotcha: link-local isn’t routable. This can come back to bite you if you have an app that relies on announcing a public UDP ip:port to a peer and announces the link-local IP. When a peer tries to connect back, it won’t work. So you have to either tweak the app’s config to make sure you announce a non-169.254. IP, or put the app container on a bridge/macvlan network so it auto-detects and announces a routable IP. There’s all kinds of apps that can be affected by this kind of peer-to-peer behavior (file transfer apps, games, VoIP apps etc.)
But TBH I’ve been using link-local ranges for a while now and only got bitten once (Deluge).
- Comment on Help with Getting My Reverse Proxy to Forward the Correct IP Address 1 week ago:
Hope you saw my other comment. Docker now also makes 192.168. networks in addition to 172. I’ve explained how to edit your daemon.json to stop it from doing that.
- Comment on Help with Getting My Reverse Proxy to Forward the Correct IP Address 1 week ago:
I think I’ve figured it out. Apparently now Docker also adds an 192.168. range on top of 172. ranges for its bridge networks:
docs.docker.com/engine/network/#automatic-subnet-…
Copy that example to your
/etc/docker/daemon.jsonon the reverse proxy machine, without the 192.168 line, and restart docker, and the 192.168.65. addresses will go away.(Don’t forget to remove the trailing comma on the last address line.)
- Comment on Help with Getting My Reverse Proxy to Forward the Correct IP Address 1 week ago:
Well I’ll be damned, there’s a 192.168. tucked away at the end of the 172. ranges:
docs.docker.com/engine/network/#automatic-subnet-…
{ "default-address-pools": [ { "base": "172.17.0.0/16", "size": 16 }, { "base": "172.18.0.0/16", "size": 16 }, { "base": "172.19.0.0/16", "size": 16 }, { "base": "172.20.0.0/14", "size": 16 }, { "base": "172.24.0.0/14", "size": 16 }, { "base": "172.28.0.0/14", "size": 16 }, { "base": "192.168.0.0/16", "size": 20 } ] }
- Comment on Help with Getting My Reverse Proxy to Forward the Correct IP Address 1 week ago:
seems to have identified this as some NAT setting built in to Docker
TBH I also thought about it being the default range used by Docker for its bridge networks, but I was under the impression it uses 172. ranges by default. The official example on their site says it uses
172.30.0.0/16and172.31.0.0/16. Also I have an unmodified docker running on one of my machines and it allocated172.18.0.0/16for a bridge network.You can try to
docker network createa bridge network and see what range it gets, you’ll see if it gets a172.or a168..BTW I hope you’re looking at the docker on the reverse proxy machine, not on the jellyfin machine.
- Comment on Help with Getting My Reverse Proxy to Forward the Correct IP Address 1 week ago:
Is it?! I always thought that Docker uses 172.16.0.0/16 by default for its networks. Did that get changed at some point?
- Comment on Help with Getting My Reverse Proxy to Forward the Correct IP Address 1 week ago:
Just to understand better:
- When you say “when accessed from outside my home network”, what kind of access is that? Port forward? VPN?
- Is 192.168.1.1 your router?
- What’s your LAN netmask?
- NPM listens on 192.168.10.201 ports and Jellyfin/Komga on 192.168.10.202 ports?
- A connection from the outside comes through the router, gets forwarded to 192.168.10.201:443, the proxy sends it to 192.168.10.202:8096, and it shows up in the Jellyfin logs as coming from 192.168.65.1?
If all of the above is correct I would look at the network interfaces that are up on the mini-PC and the NAS, as well as inside the containers of the proxy and of Jellyfin, and see if there isn’t a 192.168.65.1 up on there somewhere for whatever reason.
You can also try making a manual request (wget, curl, nc) from the proxy container to Jellyfin and see what it shows up as.
May also want to see what’s the DNS situation in your LAN and on those machines. You mentioned “names” being used, how are those defined and resolved?
Last but not least are the containers you mentioned using docker bridge networks or ipvlan?
- Comment on Bitwarden Switches to Commercial License 1 week ago:
What is “the API”?
Good question. When you have multiple implementations of an API, the API (the authoritative version) is what gives the reference spec that all other apps must follow.
If the authoritative version will be fully implemented only by the closed backend and in the closed apps, it will cripple the FOSS backend and apps.
This is a common tactic used by companies that want to sideline the FOSS options and slowly make them irrelevant.
Yes, today all apps talk to both Bitwarden and Vaultwarden the same way. Be on the lookout in case that changes.
- Comment on Bitwarden Switches to Commercial License 1 week ago:
If there are two version of Bitwarden backend (closed and FOSS), and the closed one changes its API, and the closed Bitwarden apps also switch to the closed API, then what value does the FOSS API have anymore?
- Comment on Bitwarden Switches to Commercial License 1 week ago:
Both backend and frontend revolve around the API, and Bitwarden owns that not Vaultwarden.
If Bitwarden decides to modify the API so that only their closed-source backend has the full spec, and only gives that spec to their own apps, everything else (Vaultwarden and 3rd-party apps) will fall behind or become unusable.
- Comment on Bitwarden Switches to Commercial License 1 week ago:
The current FOSS backend used to be the center of the ecosystem. Going forward that may change. If it stops being that center and it becomes merely a token offering so Bitwarden can claim “we’re still doing FOSS” then it will become pointless.
Simply forking the backend is meaningless without the work to also drag along the entire ecosystem, or establish a new one. Forking a project takes time, effort, vision, persistence, determination.
- Comment on Bitwarden Switches to Commercial License 1 week ago:
Everybody can still fork/rename/publish the FOSS version
Yeah, but there’s no guarantee the FOSS version will be the same as the closed one.
- Comment on Bitwarden Switches to Commercial License 1 week ago:
Vaultwarden (and all the client apps) depend on Bitwarden for the API spec. If Bitwarden introduces closed features in the API that Vaultwarden can’t/won’t implement, but the client apps do, it will split the spec. They can also introduce API license keys, which would render Vaultwarden mostly irrelevant.
The only way for Vaultwarden to remain relevant going forward is to own it and split ways from Bitwarden. This would in turn mean that the FOSS client apps have to decide which to support. But I think the ecosystem is going to fragment eventually anyway, so the sooner every app decides which way they want to go, the better.
- Comment on Bitwarden Switches to Commercial License 1 week ago:
I just wish Syncthing didn’t have such a convoluted port usage, and also that its Android usage didn’t revolve around an unofficial app.
So I’ll stick to apps that do sync over SSH (using FolderSync atm).
- Comment on Anyone using 6-day certs yet? 2 weeks ago:
Yeah but if you want to use something different, or may need to use different web servers or proxies from time to time, it’s better to have the cert renewal stuff separated.
Also, for any provider that’s off the beaten path you have to build caddy yourself to include the right plugin and that’s just meh.
Caddy’s fine if you only use one provider and only Caddy all the time but other than that no.
- Comment on When a friend starts watching a movie you love on Plex but stops 30 minutes in 2 weeks ago:
That’s the tricky part about self-hosting and it doesn’t get addressed enough. There are virtually zero apps designed with user privacy in mind.
- Comment on Personal radio station 2 weeks ago:
Yeah if you put it behind a reverse proxy you have lots of options. Basic auth would be the most straightforward but you can also do mTLS with a custom self-generated CA fairly easily. Then there’s OAuth but the setup is usually more involved than either of the above.
Whatever you use you gotta have HTTPS working, that’s very important to keep it secured.
- Comment on Tasks app recommendation with notifications? 2 weeks ago:
I’m using a similar stack, Radicale on backend, DAVx5, and Calengoo as app.
Calengoo is not open source but you can buy it directly from the developer without Google integration. It’s the only calendar app I’ve found that also does tasks properly, in that if I dismiss a task without explicitly marking it completed the notification will come back. It looks a bit strange out of the box but it has multiple themes and it’s super configurable.
The one thing I don’t like is that it uses a direct connection to CalDAV to mark tasks completed, instead of going through DAVx5 (not sure if it’s a limitation in the Android chain or what).