No description
  • CSS 56.9%
  • HTML 32.7%
  • Just 5.2%
  • Dockerfile 5.2%
Find a file
Ed Sweeney 24472b1f56
All checks were successful
CI / build (push) Successful in 21s
Release / docker (push) Successful in 37s
new graphics
2026-07-06 21:39:57 -07:00
.forgejo/workflows init 2026-07-01 07:53:55 -07:00
archetypes init 2026-07-01 07:53:55 -07:00
layouts new graphics 2026-07-06 21:39:57 -07:00
static new graphics 2026-07-06 21:39:57 -07:00
.dockerignore init 2026-07-01 07:53:55 -07:00
.gitignore init 2026-07-01 07:53:55 -07:00
Dockerfile no www 2026-07-01 09:13:44 -07:00
hugo.toml new graphics 2026-07-06 21:39:57 -07:00
Justfile init 2026-07-01 07:53:55 -07:00
nginx.conf init 2026-07-01 07:53:55 -07:00
package-lock.json new graphics 2026-07-06 21:39:57 -07:00
README.md init 2026-07-01 07:53:55 -07:00
renovate.json init 2026-07-01 07:53:55 -07:00

navicore-homepage

Ed Sweeney's homepage — a single-page Hugo site served as a containerized nginx image for the homelab k8s cluster.

Migrated from the archived GitHub Pages repo (navicore.github.io).

What's here

  • hugo.toml, layouts/, static/, archetypes/ — the Hugo site source. The landing page (layouts/index.html) is fully custom; the ananke theme is only pulled in because hugo.toml declares it.
  • Dockerfile — multi-stage: builds the static site with Hugo, serves it from nginx:alpine on port 8080.
  • nginx.conf — serves the built site with SPA-style fallback + cache / security headers.
  • Justfilejust build, just run, just dev, just clean.
  • .forgejo/workflows/ — CI builds the image; Release builds and pushes git.navicore.tech/navicore/navicore-homepage:<tag> (and :latest) on v* tags.

The ananke theme is fetched at build time inside the Docker image, so the repo no longer needs a git submodule.

Build / run

just build        # docker build -t navicore-homepage .
just run          # docker run -p 8080:8080 navicore-homepage

Build with a different base URL (e.g. when staging on another domain):

just build-url https://staging.example.com/

Deploy

Tag a release and the Forgejo workflow publishes the image:

git tag v0.1.0 && git push origin v0.1.0

Then reference git.navicore.tech/navicore/navicore-homepage:0.1.0 in the k8s manifest. The container listens on 8080.