Update index.html

This commit is contained in:
2026-06-21 01:34:59 +00:00
parent be07315b2b
commit 2d94331c4a
+169 -42
View File
@@ -8,99 +8,226 @@
</head>
<body>
<header class="hero">
<nav>
<nav class="nav">
<div class="logo">ByteGeist</div>
<div class="nav-links">
<a href="#architecture">Architecture</a>
<a href="#operations">Operations</a>
<a href="#security">Security</a>
<a href="#cicd">CI/CD</a>
<a href="#docs">Docs</a>
<a href="#development">CI/CD</a>
<a href="#recovery">Recovery</a>
</div>
</nav>
<section class="hero-content">
<p class="eyebrow">Self-Hosted Infrastructure Lab</p>
<section class="hero-grid">
<div class="hero-content">
<p class="eyebrow">Self-Hosted Infrastructure Platform</p>
<h1>Infrastructure, security, monitoring, and automation built from scratch.</h1>
<p class="subtext">
ByteGeist Cloud is a self-hosted homelab platform running on Ubuntu, Docker, Authentik,
Grafana, Loki, Prometheus, CrowdSec, Gitea, and Woodpecker CI.
ByteGeist Cloud is a self-hosted homelab platform running on Ubuntu, Docker,
Authentik, Grafana, Loki, Prometheus, CrowdSec, Gitea, and Woodpecker CI.
</p>
<div class="buttons">
<a href="https://wiki.casko.dev" class="btn primary">View Documentation</a>
<a href="https://git.casko.dev" class="btn secondary">View Git Server</a>
</div>
</div>
<div class="hero-image">
<img src="assets/images/portfolio-grafana-operations.png" alt="ByteGeist Grafana operations dashboard" />
</div>
</section>
</header>
<main>
<section class="stats">
<div><span>25+</span><p>Containers</p></div>
<div><span>26</span><p>Containers</p></div>
<div><span>20+</span><p>Services</p></div>
<div><span>SSO</span><p>Authentik</p></div>
<div><span>CI/CD</span><p>Woodpecker</p></div>
</section>
<section id="architecture" class="section">
<h2>Platform Overview</h2>
<section class="section intro">
<h2>What is ByteGeist?</h2>
<p>
ByteGeist uses Nginx Proxy Manager for routing, Authentik for identity, Grafana and
Prometheus for monitoring, Loki and Alloy for logs, and Woodpecker for automation.
ByteGeist Cloud is a self-hosted infrastructure platform built to practice real-world
Linux administration, Docker operations, networking, identity management, monitoring,
logging, security hardening, backup planning, disaster recovery, and CI/CD automation.
</p>
</section>
<div class="cards">
<div class="card">
<h3>Infrastructure</h3>
<p>Ubuntu 24.04, Docker, Docker Compose, Portainer, and Nginx Proxy Manager.</p>
<section id="architecture" class="section">
<div class="section-heading">
<p class="eyebrow">Architecture</p>
<h2>Platform Design</h2>
<p>
Traffic flows through Nginx Proxy Manager, authentication is centralized through
Authentik, and services are monitored, logged, backed up, and documented.
</p>
</div>
<div class="card">
<h3>Identity</h3>
<p>Centralized SSO using Authentik, OAuth2, OIDC, Forward Auth, and 2FA.</p>
<div class="feature-image wide">
<img src="assets/images/bytegeist-architecture.png" alt="ByteGeist architecture diagram" />
</div>
<div class="card">
<h3>Observability</h3>
<p>Grafana dashboards, Prometheus metrics, Loki logs, Node Exporter, and cAdvisor.</p>
</section>
<section id="operations" class="section">
<div class="section-heading">
<p class="eyebrow">Operations</p>
<h2>Monitoring & Logging</h2>
<p>
Grafana, Prometheus, Loki, Alloy, Node Exporter, and cAdvisor provide visibility
into system health, container workloads, and infrastructure logs.
</p>
</div>
<div class="screenshot-grid">
<article class="screenshot-card">
<img src="assets/images/portfolio-grafana-operations.png" alt="Grafana operations dashboard" />
<div>
<h3>Infrastructure Monitoring</h3>
<p>System health, uptime, memory, CPU, disk usage, and container metrics in Grafana.</p>
</div>
</article>
<article class="screenshot-card">
<img src="assets/images/portfolio-grafana-logs.png" alt="Grafana logs dashboard" />
<div>
<h3>Centralized Logging</h3>
<p>Loki and Grafana provide searchable logs for containers and infrastructure troubleshooting.</p>
</div>
</article>
</div>
</section>
<section id="security" class="section dark">
<h2>Security Controls</h2>
<div class="cards">
<div class="card">
<h3>SSH Hardening</h3>
<p>Password authentication disabled. ED25519 key-only access enforced.</p>
<div class="section-heading">
<p class="eyebrow">Security</p>
<h2>Identity & Threat Detection</h2>
<p>
Authentik provides single sign-on and access control while Fail2Ban and CrowdSec
detect and block hostile traffic.
</p>
</div>
<div class="card">
<div class="screenshot-grid">
<article class="screenshot-card">
<img src="assets/images/portfolio-authentik-applications.png" alt="Authentik application portal" />
<div>
<h3>Centralized Identity</h3>
<p>SSO, OAuth2, OIDC, Forward Auth, and 2FA protect access to internal services.</p>
</div>
</article>
<article class="screenshot-card">
<img src="assets/images/portfolio-crowdsec-decisions.png" alt="CrowdSec security decisions" />
<div>
<h3>Threat Detection</h3>
<p>Fail2Ban and CrowdSec detect brute-force attempts and automatically block attackers.</p>
</div>
<div class="card">
<h3>Access Control</h3>
<p>Services protected with Authentik SSO, 2FA, HTTPS, and reverse proxy policies.</p>
<p>CrowdSec detects brute-force behavior and creates firewall decisions to block attackers.</p>
</div>
</article>
</div>
</section>
<section id="cicd" class="section">
<h2>Automation &amp; CI/CD</h2>
<section id="development" class="section">
<div class="section-heading">
<p class="eyebrow">Development</p>
<h2>Git Hosting & CI/CD</h2>
<p>
Woodpecker CI is integrated with Gitea to run automated pipelines when code is pushed.
The first test pipeline successfully cloned a repository, executed build steps, and returned exit code 0.
Gitea hosts the code and infrastructure repositories while Woodpecker CI runs automated
pipelines triggered by repository activity.
</p>
</div>
<div class="screenshot-grid">
<article class="screenshot-card">
<img src="assets/images/portfolio-gitea-dashboard.png" alt="Gitea dashboard" />
<div>
<h3>Self-Hosted Git</h3>
<p>Gitea manages source code, project history, documentation, and infrastructure repositories.</p>
</div>
</article>
<article class="screenshot-card">
<img src="assets/images/portfolio-woodpecker-pipeline.png" alt="Woodpecker successful pipeline" />
<div>
<h3>CI/CD Automation</h3>
<p>Woodpecker successfully runs automated pipelines connected to Gitea repositories.</p>
</div>
</article>
</div>
</section>
<section id="docs" class="section">
<h2>Documentation &amp; Recovery</h2>
<section class="section">
<div class="section-heading">
<p class="eyebrow">Service Portal</p>
<h2>Centralized Dashboard</h2>
<p>
ByteGeist includes disaster recovery documentation, backup validation, service inventory,
restore procedures, and operational notes for maintaining the platform.
Dashy acts as the launchpad for the environment, organizing infrastructure,
observability, development, security, tools, and user services.
</p>
</div>
<div class="screenshot-grid">
<article class="screenshot-card">
<img src="assets/images/portfolio-cloud-dashboard-overview.png" alt="Dashy dashboard overview" />
<div>
<h3>Operations Portal</h3>
<p>Quick access to core infrastructure, observability, and development services.</p>
</div>
</article>
<article class="screenshot-card">
<img src="assets/images/portfolio-cloud-dashboard-services.png" alt="Dashy service catalog" />
<div>
<h3>Service Catalog</h3>
<p>Organized access to security tools, utilities, file management, and public sites.</p>
</div>
</article>
</div>
</section>
<section id="recovery" class="section dark">
<div class="section-heading">
<p class="eyebrow">Recovery</p>
<h2>Documentation & Disaster Recovery</h2>
<p>
ByteGeist includes documented restore procedures, backup validation, service inventory,
DNS information, and recovery priorities.
</p>
</div>
<div class="feature-image">
<img src="assets/images/portfolio-wiki-disaster-recovery.png" alt="ByteGeist disaster recovery documentation" />
</div>
</section>
<section class="section skills">
<h2>Skills Demonstrated</h2>
<div class="skills-grid">
<span>Linux Administration</span>
<span>Docker</span>
<span>Docker Compose</span>
<span>Reverse Proxies</span>
<span>SSL/TLS</span>
<span>DNS</span>
<span>SSO</span>
<span>OAuth2 / OIDC</span>
<span>Monitoring</span>
<span>Centralized Logging</span>
<span>CI/CD</span>
<span>Security Hardening</span>
<span>Threat Detection</span>
<span>Backup Strategy</span>
<span>Disaster Recovery</span>
<span>Technical Documentation</span>
</div>
</section>
</main>
<footer>
<p>ByteGeist Cloud • Built by Keith Casko</p>
<p>ByteGeist Cloud • Built and maintained by Keith Casko</p>
</footer>
</body>
</html>