Core Services Map

Summary

This note maps the main service roles inside the homelab. The goal is to make the environment easier to understand by showing what each core service is for, rather than only where it runs.

Why this matters

  • labs become harder to maintain when service roles are implied but never written down
  • troubleshooting gets faster when you know which service owns which responsibility
  • a service map helps separate shared infrastructure from experiments and one-off tests

Environment / Scope

ItemValue
Topichomelab service roles
Best use for this noteunderstanding the purpose of core lab services
Main focusservice ownership, role clarity, dependency thinking
Safe to practise?yes

Core idea

Think about the lab like a small stack of service roles:

platform
-> network and access
-> compute and workload hosting
-> monitoring and logging
-> app or project services

The useful question is not only “where does this run?” but also “what responsibility does this service own?”

Typical service groups

Service groupResponsibility
Gateway / network edgerouting, firewall, DHCP, upstream connectivity
Proxmox hostworkload hosting, snapshots, platform layer
Monitoring / loggingvisibility, alerting, troubleshooting evidence
Reverse proxy or service entry pointcontrolled access to internal services
Storage / NAS layerpersistent files, backups, or shared storage
Project-specific serviceslearning workloads, apps, experiments, tools

Practical questions this should answer

  • which services are part of the lab platform itself?
  • which services only exist to support one project or test?
  • what breaks if one core service goes down?
  • which services should stay stable, and which are safe to experiment with?

Everyday examples

SituationWhy the service map helps
dashboard is unreachablecheck whether the entry-point service or the app service owns the problem
alerts stop appearingmonitoring service role becomes an obvious place to look first
new project needs storageeasier when storage is already treated as a separate service role
backup discussion gets confusingservice map makes core versus optional workloads clearer

Common misunderstandings

MisunderstandingBetter explanation
”Every running thing is just another VM or container”service role matters more than runtime type alone
”If it works now, its role is obvious”role confusion usually appears later during troubleshooting
”Service maps are only useful in big environments”even small labs benefit from written responsibility boundaries
”Infrastructure and project services can be mixed freely”that usually makes later maintenance harder

Decision test

Before adding or changing a service, ask:

  1. is this a platform service or a project service?
  2. what responsibility does it own?
  3. what depends on it?
  4. what evidence would show it is healthy or broken?
  5. should this stay stable, or is it safe to experiment with freely?

Key takeaways

  • a service map explains responsibility, not only placement
  • role clarity makes troubleshooting and documentation easier
  • core services should be understandable before the lab grows wider