Files
homelab-infra/README.md
James Thompson fb31bcb0a3 Move around docs
2026-03-23 04:40:34 +00:00

47 lines
1.7 KiB
Markdown
Executable File

# homelab-infra
GitOps-managed infrastructure for homelab services using Docker Compose and Traefik for routing.
## Overview
This repository manages a homelab setup with multiple self-hosted services. It uses GitOps principles where infrastructure as code is version-controlled, and documentation is automatically generated from configuration files using MkDocs.
### Key Features
- **GitOps Workflow**: All infrastructure configurations are stored in Git
- **Automated Documentation**: MkDocs site built from actual config files
- **Service Management**: Makefile for easy service control
- **Environment Sync**: Pre-commit hooks ensure .env files stay in sync
- **Backup Integration**: Restic-based backups for data protection
## Services
Currently includes: Gitea (Git hosting), Nextcloud (cloud storage), Devbox (development container), Obsidian LiveSync (CouchDB), Traefik (reverse proxy), and Whoami (test service).
## Getting Started
1. Clone the repo
2. Copy environment templates: `make init-env`
3. Edit `.env` files with your secrets
4. Create Docker networks: `docker network create web`
5. Start services: `make up`
## Documentation
Full documentation is available at the [MkDocs site](https://homelab.sjhl.nz) or build locally with `make docs`.
## Directory Structure
```
homelab-infra/
├── Makefile # Service management commands
├── backup.sh # Restic backup script
├── docs/ # MkDocs documentation source
├── mkdocs.yml # MkDocs configuration
├── scripts/ # Utility scripts
└── [service]/ # Per-service configurations
├── docker-compose.yml
├── .env.example
└── README.md
```