lerko96 5dea6121a3 docs(homelab): trim operational detail from network table and ADRs
Pure copy edit. Page now publishes the reasoning behind decisions, not
the operational specifics (IPs, subnets, ports, hardware fingerprints,
build pipeline mechanics). Reasoning preserved in every ADR.

- VLAN table: drop Subnet column; replace numeric VLAN IDs with tier names
- ISP gateway ADR: drop carrier and gateway model
- Caddy ADR: tighten DNS-01 framing to internal-services exposure; SSL → TLS
- WireGuard ADR: drop port, VPN subnet, throughput numbers, tier enumeration
- Pi-hole ADR: drop host IP and VLAN ID; sharpen trade-off
- N100 ADR: drop core/clock and precise throughput; rename to "Mini-PC"
- Postgres+Redis ADR: drop apps LXC IP
- Gitea CI/CD ADR: drop runner version, build image, host IPs, deploy mechanics
- Authentik ADR: unchanged
2026-04-26 23:19:16 -04:00
2026-04-20 00:34:50 +00:00

Tyler Koenig portfolio

Personal portfolio site. Live at lerkolabs.com — self-hosted.

Source: gitea.lerkolabs.com/lerko/portfolio

Stack: Next.js 16 · React 19 · TypeScript · Tailwind v4


Branches

  • dev — source code; pushing here updates lerkolabs.com
  • master — reserved for future GitHub mirror; don't touch manually

Commands

npm run dev      # dev server at localhost:3000
npm run build    # static export into out/

Deploy

git checkout dev && git merge <branch> && git push gitea dev

Push to dev triggers Gitea Actions (.gitea/workflows/deploy.yml):

  1. Builds the static site (npm run build)
  2. rsyncs out/ to the portfolio LXC
  3. Rebuilds and restarts the Docker container serving lerkolabs.com

Project layout

src/
  app/
    layout.tsx          # root layout, fonts, ThemeProvider
    page.tsx            # home: hero, skills, project cards
    homelab/page.tsx    # homelab page: VLANs, services, ADRs
    archive/page.tsx    # older projects grid
    globals.css         # full design system (Tailwind v4 CSS-first, all tokens here)
  components/           # Nav, Footer, Hero, ThemeScript, etc.
  context/
    ThemeContext.tsx     # dark mode provider + useTheme hook
  data/
    projects.ts         # all projects, featured + archive split
    services.ts         # homelab services with categories
public/                 # static assets copied into out/ on build

Tailwind v4 is CSS-first — no tailwind.config.ts. All custom tokens live in globals.css under @theme {}.

Description
Tyler Koenig portfolio
https://lerkolabs.com
Readme 45 MiB
Languages
TypeScript 93.5%
CSS 5.3%
JavaScript 1.1%
Dockerfile 0.1%