Rant: I keep seeing people run their whole stack on a single Raspberry Pi and then act surprised when an SD card dies and six months of data and config evaporate. Selfhosting is awesome, but if you actually depend on services (Nextcloud, homeserver, backups, VPN) you need a tiny bit of ops discipline, not just duct-taped enthusiasm.

Reality check and a practical plan I actually use: run a small hybrid setup so failures are contained and restores are trivial.

Hardware picks (budget to sensible):

  • Budget: reused Intel NUC i3/i5 with 16 GB RAM and an NVMe SSD for the orchestrator. Cheap, low-power, and reliable. Use a Pi for low-risk experiments only.
  • Storage: Odroid HC4 or an entry-level mini NAS with SATA bays for bulk storage. Prefer drives in a simple mirrored pool - ZFS if you want checksums and snapshots.
  • For production-y reliability: small rack 1U or a used Supermicro with ECC RAM and an E3 CPU if you plan ZFS and many VMs.
  • UPS: a small APC/back-UPS with USB shutdown support. Test it quarterly.

Software stack I run and recommend: Proxmox as the hypervisor, LXC containers for lightweight system services, Docker for apps that expect it, Traefik as the reverse proxy, Unbound for local DNS, WireGuard for remote access. Use Nextcloud or Syncthing for file sync, Postgres for databases, and MinIO or an S3-compatible object store for backups/uploads.

Backup and restore policy (do this, now):

  • Files: Borgmatic with encrypted backups, rotated, stored locally and mirrored offsite with rclone to an S3 target.
  • Databases: regular logical dumps (pg_dump/mysql dump) pre- and post-backup to ensure consistent snapshots. Run these with cron or systemd timers.
  • Images: monthly full disk image with Clonezilla or a simple image tool so you can rebuild a dead disk quickly.
  • Test restores monthly. A backup that you never restore is just noise.

Operational rules and troubleshooting cheats:

  • Staging host: have one small “canary” VM/container where you apply updates first. If it survives a week, roll to prod.
  • Version pinning: pin docker images and keep a changelog. Don’t auto-update everything blindly.
  • Monitoring: run simple Prometheus + Grafana or even a tiny healthcheck script that alerts to failing services, full disks, and high load.
  • Common fixes: if Traefik gives 502, check backend container health and socket permissions; if ZFS reports I/O errors, isolate the drive and scrub the pool; if Docker volumes have permission issues, check UID/GID and use chown -R on the mounted path from the host.
  • Time: ensure NTP/chrony is working. Time skew breaks cert renewals and DB replication.

Final note: treat your home services like a small business - SLAs, backups, canaries, and a maintenance window. It makes selfhosting feel slightly less like playing with Lego and way more like owning your data for real. What did you learn the hard way when your single point of failure finally failed?

    • afk_strats@lemmy.world
      link
      fedilink
      English
      arrow-up
      16
      ·
      edit-2
      6 hours ago

      I’ve been on the internet a long time and this made me say “what the fuck” out loud

      Edit: not sure whether I should ask what this all is or if ibshpuld complement you on your “output”

        • FauxLiving@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          35 minutes ago

          It gets weirder the longer you look at it.

          Sure, let’s just say the guy was overzealous with the (silicone caulk? lol) adhesive compound. Maybe the white cord is DC power, replacing the battery… but the red wire that’s right beside the ‘power’ wire is a USB cable plugged into the phone’s USB port.

          What is plugged into the other end? It’s Zalgo isn̴̝̂’̶̯̾ṭ̷̆ ̶̫̈i̷̹̚t̴̩̉?̶͊͜

          • poVoq@slrpnk.net
            link
            fedilink
            English
            arrow-up
            1
            ·
            12 minutes ago

            Probably some hack to make it look to the OS like it is charging the battery.

            But yeah, why all the silicone? 😱