Skip Navigation

Testing vs Prod

I've been slowly moving along in this self-hosting journey and now have a number of services that I regularly use and depend on. Of course I'm backing things up, but I also still worry about screwing up my server and having to rollback/rebuild/fix whatever got messed up.

I'm just curious, for those of you with home labs, do you use a testing environment of some kind or do you just push whatever your working on straight to "production

  • edit: grammar
10 comments
  • Sir, every professional developer knows there's never time and people to maintain the testing environment so testing is done in production! That testing environment you're dreaming of is missed shareholder value.

  • For services only I depend on, I have production-only. Since I can only inflict damage on myself, and can often work around problems.

    For the XMPP server my friends and family also depend on, I have a dedicated nonprod VPS. My services are driven by ansible playbooks, so I'll tweak the playbook with whatever change I want to make works in nonprod, before running the same playbook against prod.

    Whenever there's a new Debian Stable release, I'll rebuild the servers completely, to try and prevent "drift" between the nonprod and prod versions (not that I change things often enough for this to become a big problem). This is also the big test of my backups, which so far haven't been needed in a "real" emergency 🤞

  • My latest project runs on a VM I use vscode's ssh editing feature on. I edit the only copy of the file in existence (I have made no backup and there is no version control) and then I restart the systems service.

    So what if I mess it up? Big deal. The discord bot goes down for a few minutes and I fix it.

    Same goes for the machine configs. Ideally the machines are stable, the critical ones get backups, and if they aren't stable then I suppose the best way to fix it would be in prod ( my VMs run debian, they're stable).

10 comments