Visitar URL original
GitHub - chezmoidotsh/arcane: Personal homelab infrastructure as-code · GitHub
Skip to content
chezmoidotshPublic

About

Personal homelab infrastructure as-code

Resources

Stars

4 stars

Watchers

0 watching

Forks

Latest commit

 

History

3,545 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arcane Logo Arcane Logo

「 Arcane 」

Arcane - My homelab infrastructure as-code


ℹ️ About

Welcome to the repository for my personal homelab infrastructure. This monorepo contains all the code and configurations for managing my homelab, including various services and tools. This repository will probably never be finished, as I'll always be adding new services or tools to my homelab, where I'd like to make improvements on them.

[!NOTE] Why the name Arcane? For two reasons:

  1. Because of the very definition of "arcane": "a mysterious operation whose secrets should only be known to the initiated". I find this definition perfectly represents this project and its content, as nobody really understands it 😅.
  2. As a tribute to the Arcane animated series, which left a lasting impression on me.

[!CAUTION] This repository is a work in progress and currently in a proof of concept phase to find the way I want to manage this homelab. It is not yet ready to be reused or forked.

🚀 Getting Started

Prerequisites

Installation

[!NOTE] This repository uses mise to manage the development environment.

# Clone the repository
git clone https://github.com/chezmoidotsh/arcane.git

# Install the development environment
mise install

📁 Project Structure

├── .github
│   └── assets                      # Repository assets (images, video, etc.) used in the documentation.
├── catalog                         # Catalog of reusable components
│   ├── pulumi                      # Pulumi components and stacks
│   ├── flakes                      # Nix flakes for OCI images
│   ├── kustomize                   # Kustomize bases
│   └── talos                       # Talos configuration patches
├── docs                            # Documentation
│   ├── archives                    # Finished or obsolete documents
│   ├── assets                      # Diagrams and icons used by the pages and READMEs
│   ├── decisions                   # Architecture Decision Records (ADR)
│   ├── experiments                 # Experiment write-ups and their code
│   ├── guides                      # Bootstrap and disaster-recovery guides
│   ├── incidents                   # Post-mortems
│   ├── procedures                  # Operational procedures
│   └── reference                   # Network, IPAM and configuration reference
├── projects                        # Infrastructure projects
│   ├── chezmoi.sh                  # Shared resources
│   ├── hass                        # Home Assistant configuration
│   ├── kazimierz.akn               # Kazimierz cluster configuration
│   ├── lungmen.akn                 # Lungmen cluster configuration
│   ├── rhodes.akn                  # Rhodes cluster configuration
│   ├── rimbilliton.akn             # Rimbilliton Minecraft host (OCI VPS, NixOS)
│   └── shodan.akn                  # Shodan cluster configuration
├── scripts                         # Utility scripts
├── .mise.toml                      # Development environment configuration
├── CHANGELOG.md                    # Project history and evolution
└── README.md                       # Project documentation

🗺️ Roadmap

[!NOTE] I'm currently trying to find a way to manage my homelab infrastructure as code. This roadmap is a work in progress and will be updated as I find new ways to improve my homelab. All the history of my choices and changes will be documented in the CHANGELOG.

  • Try using docker-compose and scripts to manage all containers in the homelab (See CHANGELOG)

  • Try using Pulumi to manage the infrastructure (See CHANGELOG)

  • Try using Helm to manage the Kubernetes applications and Terraform to manage the infrastructure (See CHANGELOG)

  • Secure Internet Access: Ensure the homelab is accessible from the internet securely.

  • Project Shodan: Implement the AI stack.

  • Energy Efficiency: Reduce energy consumption (KEDA -> scaling to 0, start/stop servers at night).

  • Resilience & DRP: Rework resilience and Disaster Recovery Plan (especially recovery of critical elements like personal documents).

🛡️ License

This repository is licensed under the Apache-2.0.

[!CAUTION] This is a personal project intended for my own use. Feel free to explore and use the code, but please note that it comes with no warranties or guarantees. Use it at your own risk.

About

Personal homelab infrastructure as-code

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages