Infrastructure as Code reference implementation for a self-hosted platform, documenting architecture, automation, and operational practices.
  • RouterOS Script 49.5%
  • CSS 28.5%
  • HTML 22%
Find a file
2026-08-22 22:07:17 +01:00
assets Align Manannan reference infrastructure 2026-08-16 15:02:01 +01:00
branding feat(landing): establish terminal-based visual identity 2026-07-23 22:24:14 +01:00
docs Align Manannan reference infrastructure 2026-08-16 15:02:01 +01:00
env.example docs(naming): standardise project name as "Mo Ḃrú" 2026-07-20 22:16:37 +01:00
infrastructure/manannan Align Manannan reference infrastructure 2026-08-16 15:02:01 +01:00
services Update Vaultwarden to 1.37.1 2026-08-22 22:07:17 +01:00
templates Document static landing page architecture 2026-07-04 18:34:38 +01:00
.gitignore docs: align public repository with private structure 2026-07-16 11:07:05 +01:00
LICENSE Establish public repository foundation 2026-06-30 15:03:09 +01:00
README.md Align Manannan reference infrastructure 2026-08-16 15:02:01 +01:00

Mo Ḃrú

GPL-3.0 Infrastructure as Code Documentation First Reference Implementation

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.