Skip to content
Why DevOps Needs a Website

Why DevOps Needs a Website

February 14, 2025

DevOps teams ship code, infrastructure, and processes. But knowledge—how we do things, why we chose tool X, what we learned from incident Y—often lives in wikis, Notion, or scattered docs. A dedicated website changes that.

Why a Website?

  • Credibility — A polished site signals professionalism. Recruiters, partners, and the community take you seriously.
  • Discoverability — Google indexes your content. Engineers find your guides when they search “how to set up Traefik with Docker.”
  • Ownership — You control the content, the design, the URLs. No vendor lock-in.
  • Documentation hub — Tutorials, runbooks, architecture docs in one place, linked and searchable.
  • SEO and backlinks — Quality content attracts links; authority compounds.

General Problems Setting Up a Website (and Documentation Site)

1. Hosting & TLS

  • Problem: Where do you run it? Shared hosting, VPS, Kubernetes, serverless?
  • TLS: Certificates, renewal, HTTP→HTTPS redirect.
  • Cost vs. simplicity: Managed hosting is easy but pricey; self-hosting is cheap but requires ops.

2. Content Management

  • Problem: How do you write and publish? WYSIWYG editor, Markdown, headless CMS?
  • Versioning: Git-based workflows vs. database-backed CMS.
  • Collaboration: Who can edit? Review workflow?

3. Documentation Sprawl

  • Problem: Confluence, Notion, Google Docs, READMEs—content ends up everywhere.
  • Finding things: Search across tools is painful.
  • Consistency: Different formats, broken links, outdated info.

4. Build & Deploy

  • Problem: Manual FTP uploads, custom scripts, or proper CI/CD?
  • Preview: How do you test before production?
  • Rollback: What if a deploy breaks something?

5. Performance & Scale

  • Problem: Dynamic sites can be slow; static sites scale effortlessly.
  • CDN: Do you need one? How do you invalidate cache?

Approaches We Could Have Used

    flowchart TD
    Start[Need: DevOps Website] --> A{Content type?}
    A -->|"Blog + docs"| B{Complexity?}
    A -->|"Docs only"| C[Docusaurus / MkDocs]
    B -->|"Simple"| D[Static: Hugo / Jekyll]
    B -->|"Dynamic"| E[Next.js / Headless CMS]
    B -->|"Internal wiki"| F[Confluence / Notion]

    D --> G[Our choice]
    G --> H[Hugo + Hextra]
    H --> I[Docker + Traefik]
  
ApproachProsCons
Hugo / Jekyll (static)Fast, secure, no runtime, Markdown, Git-basedNo WYSIWYG; rebuild on change
Docusaurus / MkDocsDoc-focused, versioned docs, searchMore opinionated; heavier
Next.js / AstroReact ecosystem, flexibleJavaScript runtime; more moving parts
Headless CMS (Strapi, Sanity)Non-technical editors, API-drivenBackend to run, cost, vendor dependency
Confluence / NotionCollaborative, easy to startNot your domain; export limits; cost at scale
Wiki (MediaWiki, BookStack)Familiar, multi-userRequires DB, hosting, maintenance

What We’re Proceeding With

We chose Hugo + Hextra + Docker + Traefik:

  1. Hugo — Single binary, fast builds, Markdown, no database.
  2. Hextra — Modern docs theme: search (FlexSearch), dark mode, Mermaid, sidebar.
  3. Docker Compose — One command to run the whole stack; reproducible.
  4. Traefik — Reverse proxy with Docker labels; automatic service discovery, TLS, no Nginx config edits.

Why This Stack?

  • Dev-friendly: Edit Markdown, save, see changes. No npm watch or complex toolchain.
  • Ops-friendly: Containers, labels, certs in one place. Easy to move to Kubernetes later.
  • Content-friendly: Sections (blog, projects, tutorials), taxonomies (tags, tools), related links.
  • Future-friendly: Static output can go to S3, Netlify, or any CDN; Traefik can front multiple services.

Pros and Cons

Pros

BenefitDetails
SpeedStatic HTML; no server-side rendering; CDN-cacheable
SecurityNo database, no app server; smaller attack surface
CostCheap or free hosting; no runtime fees
ReproducibilityDocker Compose; same setup on any machine
Version controlContent and config in Git; full history
ExtensibilityCustom layouts, shortcodes, Mermaid diagrams

Cons

DrawbackMitigation
Rebuild on changeHugo is fast; incremental builds help
No WYSIWYGMarkdown is quick to learn; editors like VS Code help
Learning curveHugo templates, Hextra config—docs and tutorials available
Self-hostingCan deploy to Netlify/Vercel for zero-ops alternative

Architecture at a Glance

    sequenceDiagram
    participant User
    participant Traefik
    participant Hugo

    User->>Traefik: HTTPS (443)
    Traefik->>Traefik: TLS termination
    Traefik->>Hugo: HTTP (1313)
    Hugo->>User: HTML/CSS/JS
  

Next Steps