diff --git a/assets/css/components.css b/assets/css/components.css
index 4f2ed13..0d45f24 100644
--- a/assets/css/components.css
+++ b/assets/css/components.css
@@ -1,4 +1,8 @@
-.sidebar-head h2 { margin: 0 0 .25rem; font-size: 1.125rem; }
+.sidebar-head h2 {
+ font-size: 1.125rem;
+ margin: 0 0 .25rem;
+ text-transform: capitalize;
+}
.sidebar-links {
list-style: none;
@@ -20,6 +24,7 @@
line-height: 1.15;
padding: 0.5rem 0.625rem;
text-decoration: none;
+ text-transform: capitalize;
transition: background 0.2s ease, color 0.2s ease;
}
diff --git a/assets/css/layout.css b/assets/css/layout.css
index 0c984c6..22eacdb 100644
--- a/assets/css/layout.css
+++ b/assets/css/layout.css
@@ -65,6 +65,7 @@ body {
color: var(--muted);
text-decoration: none;
border: 0.0625rem solid transparent;
+ text-transform: capitalize;
transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}
diff --git a/assets/css/typography.css b/assets/css/typography.css
index 195935f..7d60ba7 100644
--- a/assets/css/typography.css
+++ b/assets/css/typography.css
@@ -21,6 +21,7 @@ h1, h2, h3, h4, h5, h6 {
h1 { font-size: clamp(2rem, 3vw, 2.5rem); }
h2 { font-size: clamp(1.625rem, 2.4vw, 2rem); }
h3 { font-size: clamp(1.375rem, 2vw, 1.625rem); }
+summary h3 { display: inline-block; }
h4 { font-size: clamp(1.25rem, 1.8vw, 1.375rem); }
p { margin: 0 0 0.875rem; color: var(--text); }
diff --git a/content/infra-workflow.md b/content/infra-workflow.md
index 3bfbfda..73429eb 100644
--- a/content/infra-workflow.md
+++ b/content/infra-workflow.md
@@ -9,18 +9,22 @@ nav: 1
# Cloudflare Pages Workflow
## Overview
+
This note captures the build and deploy flow for the static notes site. The site compiles Markdown into static HTML under the `dist/` directory.
## Build steps
+
1. Install dependencies: `npm install`.
2. Generate the site: `npm run build`.
3. Upload the `dist/` output to Cloudflare Pages.
## Environment
+
- Node 20+ is recommended.
- CI uses `npm ci` and `npm run build` from the default branch.
## Tips
+
- Keep content in `content/` with front matter to expose metadata.
- The build bundles a `search-index.json`; avoid storing secrets in front matter.
- Regenerate locally before pushing to preview changes.
diff --git a/content/servers.md b/content/servers.md
new file mode 100644
index 0000000..09e4871
--- /dev/null
+++ b/content/servers.md
@@ -0,0 +1,254 @@
+---
+title: My Servers
+section: network
+summary: My Servers.
+tags: [hardware, servers, infrasctructure]
+nav: 1
+---
+
+All hosts running Docker containers utilize Portainer for container management and Watchtower (nickfedor fork) for automated container updates.
+
+## Local Servers
+
+
+Banshee
+
+- **Role**: Primary server for media and backups.
+- **Specs**:
+ - System: Asus PRIME A320M-K
+ - CPU: AMD A10-9700 RADEON R7 4C+6G (4) @ 3.500GHz
+ - GPU: NVIDIA GeForce GTX 1650
+ - RAM: 16GB DDR3
+ - Storage: 256GB SSD + 18TB HDD (LVM)
+ - SSD: ADATA SU635 - 256GB
+ - HDD0: Seagate Barracuda ST8000DM004-2U9188 - 8TB
+ - HDD1: Seagate Enterprise ST6000NM0004-1FT17Z - 6TB
+ - HDD2: Seagate IronWolf ST4000VN008-2DR166 - 4TB
+- **OS**: Ubuntu 22.04.5 LTS
+- **Address**: 192.168.2.51
+- **Services**:
+ - **System**:
+ - OpenSSH for remote access
+ - Samba for file sharing
+ - **Media**:
+ - Plex Media Server
+ - Emby Media Server
+ - Calibre Web Automated (Docker)
+ - YTDL (Docker)
+ - **Backup**:
+ - Duplicati for automated backups to B2 (Docker)
+ - **Other**:
+ - Ollama (Docker)
+ - Open WebUI (Docker)
+ - KaraKeep (Docker)
+
+
+
+
+ Scylla
+
+- **Role**: Media acquisition server.
+- **Specs**:
+ - System: Supermicro X9SCM-F
+ - CPU: Intel Xeon E31270 (8) @ 3.800GHz
+ - GPU: None
+ - RAM: 16GB DDR3
+ - Storage: 160GB HDD + 18TB CIFS
+ - HDD0: Western Digital Caviar Blue WD1600AAJS-61WAA0 - 160GB
+ - CIFS: Mounted from Banshee
+- **OS**: Ubuntu 24.04.3 LTS
+- **Address**: 192.168.2.9
+- **Services**:
+ - **System**:
+ - OpenSSH for remote access
+ - Samba for file sharing
+ - **Media Acquisition** (all Docker unless otherwise noted):
+ - **Searching**:
+ - Sonarr
+ - Radarr
+ - OpenBooks
+ - Searcharr (Telegram bot)
+ - Prowlarr
+ - **Downloading**:
+ - Transmission
+ - qBittorrent
+ - SabNZBd
+ - **Other**:
+ - Komga
+ - Your Spotify
+
+
+
+
+ Charybdis
+
+ Currently decommissioned awaiting rebuild.
+
+- **Role**: Virtual server hypervisor.
+- **Specs**:
+ - System:
+ - CPU:
+ - GPU:
+ - RAM:
+ - Storage: HDD + 18TB CIFS
+ - HDD0:
+ - CIFS: Mounted from Banshee (Backups only)
+- **OS**: Proxmox 9.1
+- **Address**: 192.168.2.4
+- **Services**:
+ - **System**:
+ - Proxmox VE for virtualization
+ - OpenSSH for remote access
+
+
+
+
+ Hydra
+
+- **Role**: Miscellaneous service host.
+- **Specs**:
+ - System: Dell OptiPlex 790
+ - CPU: Intel i3-2120 (4) @ 3.300GHz
+ - GPU: None
+ - RAM: 8GB DDR3
+ - Storage: 500GB HDD
+ - HDD0: Hitacho Travelstar HTS725050A7E630 - 500GB
+- **OS**: Ubuntu 24.04.3 LTS
+- **Address**: 192.168.2.23
+- **Services**:
+ - **System**:
+ - OpenSSH for remote access
+ - **Other** (all Docker unless otherwise noted):
+ - Uptime Kuma
+ - CommaFeed
+ - OpenGist
+ - Adminer
+ - phpMyAdmin
+
+
+
+## Remote Servers
+
+
+ Cyclops
+
+- **Role**: General purpose cloud server.
+- **Host**: DigitalOcean
+- **Specs**:
+ - System: Droplet 20171212
+ - CPU: DO-Regular (1) @ 1.995GHz
+ - GPU: None
+ - RAM: 1GB
+ - Storage: 25GB
+- **OS**: Ubuntu 24.04.1 LTS
+- **Address**:
+- **Services**:
+ - **System**:
+ - OpenSSH for remote access
+ - **Other**:
+ - FreshRSS (Docker)
+
+
+
+
+ Cerberus
+
+- **Role**: VaultWarden host.
+- **Host**: DigitalOcean
+- **Specs**:
+ - System: Droplet 20171212
+ - CPU: DO-Premium-Intel (1) @ 1.995GHz
+ - GPU: None
+ - RAM: 2GB
+ - Storage: 50GB
+- **OS**: Ubuntu 22.10
+- **Address**:
+- **Services**:
+ - **System**:
+ - OpenSSH for remote access
+ - **Other**:
+ - VaultWarden (Docker)
+
+
+
+
+ Huginn
+
+- **Role**: Gitea host.
+- **Host**: Hetzner
+- **Specs**:
+ - System: CX33
+ - CPU: Intel Xeon (Skylake, IBRS, no TSX) (4) @ 2.095GHz
+ - GPU: None
+ - RAM: 8GB
+ - Storage: 80GB
+- **OS**: Ubuntu 24.04 LTS
+- **Address**: 5.75.135.182 / git.keithsolomon.net
+- **Services**:
+ - **System**:
+ - OpenSSH for remote access
+ - **Other**:
+ - Gitea (Docker)
+
+
+
+
+ Muninn
+
+- **Role**: Proxmox Backup Server host.
+- **Host**: Hetzner
+- **Specs**:
+ - System: CX43
+ - CPU: Intel Xeon (Skylake, IBRS, no TSX) (8) @ 2.095GHz
+ - GPU: None
+ - RAM: 16GB
+ - Storage: 160GB
+- **OS**: Debian GNU/Linux 13 (trixie)
+- **Address**: 91.98.117.95 / pbs.keithsolomon.net
+- **Services**:
+ - **System**:
+ - OpenSSH for remote access
+ - **Other**:
+ - Proxmox Backup Server 4.1.0
+
+
+
+
+ Tengu
+
+- **Role**: Coolify host.
+- **Host**: Hetzner
+- **Specs**:
+ - System: CPX21
+ - CPU: AMD EPYC-Rome (3) @ 2.445GHz
+ - GPU: None
+ - RAM: 4GB
+ - Storage: 80GB
+- **OS**: Ubuntu 24.04.2 LTS
+- **Address**: 95.216.185.185 / coolify.keithsolomon.net
+- **Services**:
+ - **System**:
+ - OpenSSH for remote access
+ - **Other**:
+ - Coolify
+
+
+
+
+ Harpy
+
+- **Role**: Windows VM.
+- **Host**: VPS Hosting Service
+- **Specs**:
+ - System: Windows VPS - Standard
+ - CPU: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
+ - GPU: None
+ - RAM: 8GB
+ - Storage: 120GB
+- **OS**: Windows Server 2022 Standard
+- **Address**: 23.94.37.56 / winserve.keithsolomon.net
+- **Services**:
+ - **System**:
+ - Windows RDP for remote access
+
+