Skip to content
@walheimlab

Walheim Lab

A kubectl-style CLI for managing Docker-based homelab infrastructure across multiple machines

Walheim

A kubectl-style CLI for managing Docker-based homelab infrastructure across multiple machines.

Overview

Walheim provides a familiar Kubernetes-like interface for deploying and managing applications in your homelab. Use whctl (Walheim Control) to manage namespaces, apps, secrets, and configuration across your physical machines.

Key Features:

  • kubectl-style CLI interface (whctl get, whctl apply, etc.)
  • Context-based configuration for multiple environments
  • Docker Compose as the application definition format
  • Kubernetes-style Secret management with automatic injection
  • SSH-based deployment to remote machines
  • Namespace = physical machine mapping

Installation

gem install walheim

Quick Start

1. Create Your First Context

A context points to a data directory containing your homelab configuration:

# Create a context for your homelab
whctl context new homelab --data-dir ~/my-homelab

# The data directory will be created if it doesn't exist

2. Create a Namespace

Namespaces in Walheim represent physical machines:

# Create a namespace for a production server
whctl create namespace production \
  --hostname prod.example.com \
  --username admin

3. Deploy an Application

# Import an existing docker-compose.yml
whctl import app nginx -n production -f docker-compose.yml

# Deploy the app to the namespace
whctl apply app nginx -n production

Pinned Loading

  1. walheim-rb walheim-rb Public

    Walheim client CLI implementation in Ruby

    Ruby 1

Repositories

Showing 3 of 3 repositories

Top languages

Loading…

Most used topics

Loading…