- RouterOS Script 49.5%
- CSS 28.5%
- HTML 22%
| assets | ||
| branding | ||
| docs | ||
| env.example | ||
| infrastructure/manannan | ||
| services | ||
| templates | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
Mo Ḃrú
A documented Infrastructure as Code reference implementation for a self-hosted platform.
Mo Ḃrú is a personal infrastructure project that demonstrates production-oriented engineering practices through Infrastructure as Code, comprehensive documentation, security-first design, and reproducible deployments.
Rather than mirroring a specific homelab, this repository presents a curated reference architecture derived from a real deployment. Its purpose is to document architectural decisions, deployment patterns, operational practices, and reusable implementation examples without exposing operational details.
Philosophy
Is ar scáth a chéile a mhaireann na daoine.
"People live in one another's shelter."
The Mo Ḃrú project embraces openness, careful documentation, continuous learning, and long-term maintainability. It aims to demonstrate not only how infrastructure can be built, but also how it can be understood, reviewed, maintained, and shared.
Project Goals
- Demonstrate Infrastructure as Code practices.
- Build reproducible Docker Compose deployments.
- Document architectural decisions through ADRs.
- Keep configuration externalised and version controlled.
- Follow security-by-default principles.
- Produce documentation suitable for long-term maintenance.
Platform Principles
- Infrastructure as Code
- Documentation First
- Security by Default
- Least Privilege
- Reproducibility
- Operational Simplicity
Why Irish Names?
Every service is named after a figure, place, object, or expression drawn from the Irish language, early Irish tradition, and historical literature.
The naming convention provides memorable service names while giving the platform a consistent identity without relying on product names.
| Service | Purpose | Technology |
|---|---|---|
| Lia Fáil | Password Management | Vaultwarden |
| Ogma | Source Code Management | Forgejo |
| Camall | Reverse Proxy | Caddy |
| Manannán | Network Gateway | MikroTik RouterOS |
Further information about the naming philosophy is available under docs/naming/.
Repository Structure
| Directory | Purpose |
|---|---|
assets/ |
Logos, diagrams, screenshots, and other static assets |
branding/ |
Design system, visual identity, semantic design tokens, and service themes |
docs/ |
Technical documentation, architecture, ADRs, runbooks, diagrams, and naming documentation |
env.example/ |
Example environment files for each service |
infrastructure/ |
Platform-wide infrastructure, networking, DNS, gateway configuration, remote access, and backups |
services/ |
Service-specific Docker Compose files and documentation |
templates/ |
Templates for documentation, ADRs, and service definitions |
Branding
The branding directory contains the canonical visual identity of the Mo Bhrú platform.
Rather than styling each application independently, Mo Bhrú defines a shared design system that is implemented consistently across all services.
The branding architecture follows three layers:
Design Principles
↓
Design Tokens
↓
Service Implementations
Design Principles
High-level decisions describing the intended visual identity of the platform.
These documents explain why design decisions exist rather than how they are implemented.
Design Tokens
Semantic definitions for reusable design elements such as colours and, in the future, typography.
Tokens describe the purpose of an element rather than a specific implementation.
Service Implementations
Each service maps its native theming system to the shared Mo Bhrú design tokens.
Current implementations include:
- Landing page
- Ogma (Forgejo)
Future implementations may include:
- Lia Fáil (Vaultwarden)
- Gamall (Authentik)
- Other self-hosted services
Principles
Infrastructure
- Infrastructure as Code (IaC)
- Documentation-first
- Security by default
- Least privilege
- Reproducibility
- Version-controlled infrastructure
Design
- Semantic design tokens
- Accessibility first
- Dark-first with full light theme support
- Service-independent branding
- Consistent visual language
- Readability over decoration
Documentation
The repository contains:
- Architecture documentation
- Architecture Decision Records (ADRs)
- Docker Compose reference implementations
- Environment file templates
- Service documentation
- Security review documentation
- Naming documentation
- Configuration guidelines
- Sanitised infrastructure reference configurations
Platform Components
| Service | Purpose | Technology | Status |
|---|---|---|---|
| Lia Fáil | Password Management | Vaultwarden | ✅ |
| Ogma | Source Code Management | Forgejo | ✅ |
| Manannán | Network Gateway | MikroTik RouterOS | ✅ |
| Camall | Reverse Proxy | Caddy | ✅ |
| Goibniu | Collaboration and file management | Nextcloud | ⚪ |
| Brigid | Photo management | Immich | ⚪ |
| Badb | Video surveillance | Frigate | ⚪ |
| Gamal | Identity and authentication | Authentik | ⚪ |
Roadmap
Planned
- File collaboration platform
- Photo management platform
- Network video recorder
- Backup strategy
- Monitoring and observability
- Identity management
Disclaimer
This repository intentionally omits infrastructure-specific information, credentials, network topology, deployment secrets, and operational data.
Its purpose is to demonstrate engineering practices rather than reproduce a production environment.
It is intended as a reference implementation and educational resource for Infrastructure as Code, self-hosting, and operational documentation.
Related Repository
The live Mo Ḃrú platform is managed through a separate private repository containing deployment-specific configuration, operational documentation, runbooks, and infrastructure code.
This public repository provides a curated, sanitised reference implementation focused on architectural decisions, deployment patterns, Infrastructure as Code practices, and reusable operational documentation.
License
This project is licensed under the GNU General Public License v3.0 (GPL-3.0).
It documents the deployment, configuration, and operation of several open-source projects. Each third-party application referenced in this repository remains subject to its own licence and copyright.
This repository contains original documentation, deployment examples, and reference configurations created for the Mo Ḃrú project.