8
submitted 1 day ago by Campers@lemmy.world to c/selfhost@lemmy.ml

I am trying to plan my home lab to satisfy two different needs:

  1. I want a stable environment where I will put a relatively expensive NAS and maybe some other Zima boards.
  2. I also want to try new versions and configurations in an env where I can break stuff BEFORE trying things on my Production environment. I would also like to use that environment to try other things like playing with Kubernetes, Docker, Iceberg, etc. I am a backend software engineer so this is very useful to me. Besides being fun.

So, I am just trying to gather ideas on how to configure this both in terms of software and hardware.

top 18 comments
sorted by: hot top controversial new old
[-] WhiteOakBayou@lemmy.world 4 points 21 hours ago

Identical or very similar set up for production and testing. Testing doubles as on site back up for me.

[-] Campers@lemmy.world 1 points 19 hours ago

Oh... That sounds risky!

But, with no experience doing it, I may be missing something.

Have you had no issues with this approach?

[-] WhiteOakBayou@lemmy.world 1 points 17 hours ago

No issues and it's something I've done for a long time but it is adding extra overhead for a problem that using docker has largely solved for me re stable environments.

[-] vk6flab@lemmy.radio 4 points 22 hours ago

Depends entirely on what "Production" means. In a corporate environment it means something completely different from a homelab

If you're doing this for real, you'd have two identical environments.

If it's playing with Docker or Kubernetes, you don't need anything more than a VM with Linux and Docker.

If you want to get serious, you can also set up a sandbox on EC2.

[-] Campers@lemmy.world 1 points 19 hours ago

I was not clear on why I wanted a production environment. The reason is that I want enough stability in it to be used by family and friends. Preferably without breakages. Immediate usages will be as shared storage, e-book management, game centre to run Minecraft for my kind who lives far away from me., etc. Also, the list of services I will make available in production will vary throughout time.

This is why I mentioned a NAS in production. So that the hardware storage just works. But, at the same time, I really do not have the budget to buy two similar NAS and test things in Sandbox.

I really get your point about having two different envs if I want to have perfect stability. But I was trying to figure out if I could make the Sandbox env a little bit less costly but go 80% of the way in terms of catching issues before breaking Production.

I may just buy a lower model of the same brand but lets see if other people suggest another approach.

[-] Zachariah@lemmy.world 4 points 23 hours ago

cheaper NAS by the same company
populate it with only 1-2 drives

[-] Campers@lemmy.world 2 points 19 hours ago

Good point. I need to consider doing this to make troubleshooting easier.

Also curious if someone had any RAID related issues. Which you will not catch with a 1 or 2 disk NAS since you cannot have RAID 5 there.

[-] Zachariah@lemmy.world 2 points 19 hours ago

Seems pretty unlikely that any testing would depend on the RAID level. That should be transparent to 99% of things you’d do. But you should be able to predict when it does affect something.

[-] just_another_person@lemmy.world 2 points 20 hours ago

Why would you only need a NAS in one environment? If everything is otherwise the same, and the function of the NAS is just hosting a similar service integration with less actual binary object data, then you make that same integration point available point in both environments to be able to test that portion.

If this is just homelab stuff, you don't need two environments like this, you just need a way to switch contexts and rollback between two places. This is not what staging environments are for.

[-] Campers@lemmy.world 1 points 19 hours ago

No. I really need Production to be stable because other people will be using it. And I do not want my own playing around to cause issues.

I am really considering both @slazer2au@lemmy.world idea of a smaller NAS from the same company and @Zachariah@lemmy.world idea of just creating a new volume in the same NAS.

[-] just_another_person@lemmy.world 1 points 18 hours ago

Well the NAS itself isn't the integration point is what I'm saying, the data is, right? So have a folder on your NAS for staging, and another for production, and make the connection to that data the integration point that is accounted for in your dotenv or whatever you're planning on using to control this

The only downside there is the single point of failure being the NAS, but having two separated NAS boxes by environment won't solve for a production outage anyway because each environment still has a single point of failure even if you have two NAS.

Just get it running as above first. Figure out that actual breaking points in your flow after using it for awhile.

[-] killeronthecorner@lemmy.world 1 points 19 hours ago

If you're very concerned just have your prod environment and kick up test services in docker containers and test your tweaks and changes there.

Doing this ad-hoc will be easier and more practical than trying to maintain two full environments like you're a series B startup finding it's feet!

[-] just_another_person@lemmy.world 1 points 19 hours ago

That will have a host of other issues that is not super fluid to work with while trying to maintain similar environments. Most notably the networking.

[-] killeronthecorner@lemmy.world 1 points 17 hours ago

If this causes networking issues, your setup is already too complicated to manage through a flat set of docker containers. That's not a bad thing, this just isn't the horse for that course so to speak.

[-] just_another_person@lemmy.world 1 points 17 hours ago

Not causing network issues, but for a layman that isn't familiar with managing multiple environments already, controlling a multi-env containerized environment is going to be a nightmare if solely just using containers as a staging environment. It doesn't map to what his prod env (non-container) would be, and it's not going to catch problems which would arise from his prod environment anyway if looking at from an integration standpoint.

[-] killeronthecorner@lemmy.world 1 points 17 hours ago

I feel like that's a lot of assumptions based on OP's brief, but I don't disagree with anything you said.

[-] slazer2au@lemmy.world 3 points 23 hours ago

I would make a new volume on the nas for testing purposes. Give it enough space to hold some data but no where near enough for your production data.

[-] Campers@lemmy.world 1 points 19 hours ago

That is an interesting proposition. And it is a bit cheaper then buying a second NAS while still possibly catching many issues.

Have you done this, out of curiosity?

this post was submitted on 06 Apr 2025
8 points (90.0% liked)

Self Hosted - Self-hosting your services.

12522 readers
20 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules

Important

Beginning of January 1st 2024 this rule WILL be enforced. Posts that are not tagged will be warned and if not fixed within 24h then removed!

Cross-posting

If you see a rule-breaker please DM the mods!

founded 4 years ago
MODERATORS