--- date: 2025-4-02 updated: 2025-04-02 author: "Michael Housh" --- # Homelab Documentation Documentation about how the homelab is setup. ## Containers Services run inside of docker containers that are spread between several servers, which run them. The containers are deployed using a container orchestrator, currently using [komo](https://komo.housh.dev). All of the services have a corresponding repository for their configuration that is hosted on an [internal git server](https://git.housh.dev/homelab). The configuration will consist of a docker compose file (generally named `compose.yaml`). There is often an `example.env` file for the service, these are examples for documentation and variable naming purposes. The environment variables themselves are setup in the container orchestrator for the service. ### Container orchestrator The container orchestrator is where the actual configuration for the service is done. It configures which physical server that the service will run on, it is responsible for pulling the proper container images, pulls the configuration / `compoose.yaml` file from the repository, sets up environment variables, and deploys the service onto the server. It also has some features for monitoring CPU and Memory usage of the servers.