• 0 Posts
  • 16 Comments
Joined 3 years ago
cake
Cake day: April 27th, 2022

help-circle



  • tl;dr Duplicity does full or incremental backups, BorgBackup only does full backups but with deduplication.

    After the first backup with Duplicity, you can choose to do an incremental backup which will only store the data that has changed since the last backup. This saves time and disk space but you have to do slow full backups regularly. See question 3 of the FAQ.

    BorgBackup alway does a full backup. But it divides all data into chunks or blocks (don’t know what they call it exactly at the moment). It then hashes those chunks and stores them in a content-addressed storage layer. So it basically works like Git under the hood (plus encryption). If a chunk doesn’t change between backups it‘s already there and does not have to be stored again. A backup is always a full index of the data.

    With today‘s fast processors and hashing algorithms, a backup with Borg should be just as fast as an incremental backup with Duplicity. If you ask me deduplicated backups are just plain superior.

    Another tool that works like BorgBackup is Restic, which I prefer. Both are good choices that I would trust with my data.



    • Update frequently.
    • Use HTTPS. Redirect all HTTP traffic to HTTPS. If you use Caddy as a reverse proxy, this is pretty easy to set up. You‘ll want to get a domain name though.
    • If you use systemd, then systemd-analyze security (with man systemd.directives) is your friend. Be as restrictive as possible without breaking functionality.
    • Consider putting services like Jellyfin or Nextcloud in their own containers/VMs.

    You don‘t need Cloudflare. I don‘t know why half the commenters in this thread recommend it. Cargo cult? You don‘t need DDOS protection. Nobody does DDOS attacks on random home servers. You don‘t need to hide your IP address either. Just make sure that you only expose port 80 and 443 to the internet and nothing else, and don‘t expose the admin interface of your router to the internet.

    Alternatively as others have suggested, if you‘re not sure about your ability to secure everything, only expose your services over a Wireguard VPN. You don‘t really need Tailscale if you only want to manage a handful of devices, and you also don‘t need Tailscale‘s mesh networking for your use case.




  • I don‘t know what specifically you would like to know and what your background is, so I will just elaborate a bit more.

    The basic idea is that the VPS, which is not behind a NAT and has a static IP, listens on a port for WireGuard connections. You connect from the NAS to the VPS. On the NAS you configure the WireGuard connection with “PersistentKeepalive = 25”. That makes the NAS send keepalive packets every 25 seconds which should be enough to keep the connection alive, meaning that it keeps a port open in the firewall and keeps the NAT mapping alive. You now have a reliable tunnel between your VPS and your NAS even if your IP address changes at home.

    If you can get a second (public) IP address from your provider you could even give your NAS that IP address on its WireGuard interface. Then, your VPS can just route IP packets to the NAS over WireGuard. No reverse proxy needed. You should get IPv6 addresses for free. In fact, your VPS should already have at least a /64 IPv6 network for itself. For an IPv4 address you will have to pay extra. You need the reverse proxy only if you can‘t give a public IP address to your NAS.

    Edit: If you have any specific questions, feel free to ask.







  • foonex@feddit.detoSelfhosted@lemmy.worldWhat are YOU self-hosting?
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    1 year ago

    When I looked around for CalDAV solutions the last time Nextcloud was the only one that allowed me to share calendars with my SO. Nextcloud isn‘t very taxing on my system because it doesn‘t do anything most of the time.

    Do you know about problems reaching the big player mailservers?

    Honestly, I don‘t know. I have never had a confirmed case of an email being rejected or classified as spam. There were some cases of not getting an answer to an email. But that could also be explained by shitty customer service.

    It is tricky to setup everything correctly if you are trying to do it all on your own but SNM holds your hand for setting up DKIM, SPF and DMARC. That‘s where some people may have problems. Also, forget about setting up a mail server at home with any IP address you get from your internet provider.


    • Plex and Jellyfin for movies and TV shows. I want to switch from Plex to Jellyfin but it is not quite there yet. It‘s very little effort to keep Jellyfin running in parallel though. I am keeping it around to regularly compare the two and re-evaluate.
    • Tube Archivist for archiving and watching YouTube videos.
    • Miniflux for reading feeds.
    • Nextcloud, mainly for calendars and contacts; occasionally for sharing files with others.
    • Syncthing for syncing files.
    • Financier for budgeting.
    • Paperless-ngx for managing documents.
    • Qbittorrent for downloading and sharing Linux ISOs.
    • Prowlarr for searching Linux ISOs.
    • Copyparty for sharing Linux ISOs with friends.
    • Shaarli for saving bookmarks.
    • Jekyll for statically generating my personal blog.
    • Caddy as HTTP server / reverse proxy for all of the above. Automatically provisions certificates from Let‘s Encrypt.
    • PostgreSQL as database for Nextcloud and Miniflux.
    • Simple Nixos Mailserver for emails with Postfix, Dovecot and rspamd.
    • Dehydrated for getting certificates from Let‘s Encrypt for the mail server.
    • Btrbk and Restic for backups.

    Most of this stuff runs on my server at home (ASRock J4105-ITX, 8 GB RAM , 250 GB SSD, 18 TB HDD). The mail server and the blog run on a cheap VPS (1 vCPU, 2 GB RAM, 20 GB SSD). Both servers run NixOS.