• 0 Posts
  • 7 Comments
Joined 3 years ago
cake
Cake day: June 15th, 2023

help-circle
  • You can do what you want with IMAP too.

    I use isync, it’s a CLI tool that can sync between IMAP accounts or between IMAP and local plain storage and it has the option to delete messages over a certain age after it copies them.

    Is there a set up where some remote service handles email exchange, and you just sync with it

    Any regular email provider can do this as long as it offers IMAP. I use email clients with my provider’s IMAP but I also use isync on the server to periodically pull all email locally and delete messages older than 30 days. I’ve also installed a local private IMAP server and a private webmail client on top of that private IMAP, which I use to search through old emails.

    This way I normally use the “live” mailbox with my PC/mobile devices, and use the private webmail when I need to search for anything over 30 days old.

    What I do is not “selfhosted email”, technically speaking, because I rely on the live IMAP and SMTP from a provider. But I can switch provider at any time because all my email is @ my custom domains, so I can simply point my DNS to another provider and update my apps to use the new provider’s IMAP/SMTP server.


  • It does, there’s a lot of features and UI added on top of it because it’s primarily an enterprise-oriented service and large companies tend to have a lot more complex usage scenarios than self-hosters.

    Headscale is a FOSS reimplementation from scratch of some of the Tailscale proprietary features. It’s inteded as a fallback option for Tailscale users in case the Tailscale service ever enshittifies, and also as a canary for ongoing verification of the Tailscale claim that the client plane functionality is entirely FOSS and above-board.

    Speaking of which, Tailscale today is a great example of a company using FOSS well. They are able to provide commercial services and have proprietary code while at the same time opening the client-facing code so users can see for themselves their privacy is cryptographically proven. They also cooperate very well with Headscale and provide a generous gratis service tier.


    • I’ve taken the opportunity to update most of my hosted services to newer image versions.

      They’re all in Docker and behind private access (Tailscale, mTLS, IP whitelist etc.) so I’m not usually too worried. I update images manually whenever I can find time on a slow weekend, so this wasn’t strictly speaking related to the recent vulnerabilities. Volume data and container definitions are backed up automatically once a day and I also take manual copies of the old images when I update them.

    • I’ve switched to new major versions of Immich and Jellyfin in the process and I’m very pleased with the new releases, amazing great work from the developers, they’ve been killing it lately.

    • I’ve been tinkering with some custom images that I use for various things like syncing specialized data (logs off FTP services, archive email over IMAP from my mail provider, grab Garmin data copies, run monitors and log parameters to Influx, run port forwarders etc.)

      I typically want to lock down this kind of images as much as possible, so I tweak them towards running with an unprivileged user, remove all caps and only grant strictly necessary ones, make the storage read-only inside the container etc.

    • Some needs have been recurring inside this type of containers, like having a decent process manager to keep some things running and restart them, or having a decent cron service. So I’ve been toying with the idea of making a “universal” image for this kind of thing and maybe publishing it for others to use as a base too. If I get around to it I’ll be announcing it here.


  • I mean, “plain WG” doesn’t have the ability to connect multiple sites seamlessly, nevermind from behind NAT. That’s what Headscale/Tailscale do, they enable multiple WG backends to connect together on the fly into a common VLAN, with almost zero extra config.

    It may seem overkill if you only want to connect two sites but once you solve this problem for 2 it’s basically also solved for N so why not take advantage of the capability.



  • Wireguard may be more obviously public, but they both technically are, right? Otherwise accessing a node just wouldn’t be possible.

    There is something exposed to the Internet in both cases, yes, but it works very differently.

    With WG it’s a client-server pattern; the server exposes a port, waits for authorized clients to connect, and when a client connects successfully the server routes their connections into the private LAN with everything that entails.

    With TS the public part is a supplier of control configurations and client pairing service. The pairing service needs to be contacted by two authorized clients in order to negotiate a connection between them. Once that’s done, it’s the clients that route each other’s connections into their respective LANs, the pairing server is not involved anymore.

    In other words the TS public surface is not WG, it’s their (proprietary) client verification and matching service. The WG connections between clients happen later, privately.

    To me, separating client authentication from routing and transport looks like a better design, because it’s multi-layered. You get the normal WG authentication and another layer on top.

    If you don’t need something specific that tailscale offers, then wireguard offers probably better security.

    “Security” is a relative term. It’s better to think in terms of attack surface, exposure, whether attacks are targeted or not etc. Which are all ongoing factors.

    Both TS and WG are popular and being used by lots of people but it’s also important for them to be actively maintained, independently audited, maintain transparency etc.


  • Also, I’ve never been able to understand how something exposed to the entire internet (a WG server) is considered more secure than something that only connects peers privately to each other.

    The attack surfaces are nothing alike.

    Even if you limit access to WG with IP blocking there’s still no comparison to something you can’t access at all from outside.