No description
- CSS 56.9%
- HTML 32.7%
- Just 5.2%
- Dockerfile 5.2%
| .forgejo/workflows | ||
| archetypes | ||
| layouts | ||
| static | ||
| .dockerignore | ||
| .gitignore | ||
| Dockerfile | ||
| hugo.toml | ||
| Justfile | ||
| nginx.conf | ||
| package-lock.json | ||
| README.md | ||
| renovate.json | ||
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; theananketheme is only pulled in becausehugo.tomldeclares it.Dockerfile— multi-stage: builds the static site with Hugo, serves it fromnginx:alpineon port 8080.nginx.conf— serves the built site with SPA-style fallback + cache / security headers.Justfile—just build,just run,just dev,just clean..forgejo/workflows/— CI builds the image; Release builds and pushesgit.navicore.tech/navicore/navicore-homepage:<tag>(and:latest) onv*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.