feat: add packaging, deployment, error pages, and project docs

Phase 7 — Polish:
- Error page template with styled 404/403/500 pages
- Error rendering helper on Renderer

Phase 8 — Packaging & Deployment:
- Containerfile: multi-stage build, non-root user, health check,
  OCI labels with build date and git revision
- Makefile: build, test, cross-compile, deb, rpm, container,
  tarballs, checksums targets
- nfpm.yaml: .deb and .rpm package config
- systemd service: hardened with NoNewPrivileges, ProtectSystem,
  ProtectHome, PrivateTmp, RestrictSUIDSGID
- Default environment file with commented examples
- postinstall/preremove scripts (shellcheck validated)
- compose.yaml: example Podman/Docker Compose
- Caddyfile.example: subdomain, subpath, and remote proxy configs
- CHANGELOG.md for release notes
- CLAUDE.md with architecture, conventions, and quick reference

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ole-Morten Duesund 2026-03-29 16:34:32 +02:00
commit 1fc42bf1b2
16 changed files with 435 additions and 2 deletions

View file

@ -0,0 +1,18 @@
{{define "content"}}
{{with .Data}}
<article>
<hgroup>
<h1>{{.Code}}</h1>
<p>{{.Message}}</p>
</hgroup>
{{if eq .Code 404}}
<p>Siden du leter etter finnes ikke. Den kan ha blitt flyttet eller slettet.</p>
{{else if eq .Code 403}}
<p>Du har ikke tilgang til denne siden.</p>
{{else}}
<p>Noe gikk galt. Prøv igjen senere.</p>
{{end}}
<p><a href="{{basePath}}/">Tilbake til forsiden</a></p>
</article>
{{end}}
{{end}}