Files
ResumeSite/site/lighthouserc.json
cesnimda 9088dcffb9 feat: Docker images, compose stacks, nginx config, Gitea CI
- site image: multi-stage node build -> unprivileged nginx (non-root, read-only)
- nginx: CSP + security headers, immutable asset caching, revalidated HTML,
  canonical trailing slash, preserved /Linkedin 301, legacy-WP 410s, custom 404
- externalise theme-init so CSP uses script-src 'self' (no inline hash)
- prod + dev compose; .env.example; relay Dockerfile fixed (image ships app user)
- Gitea Actions: quality, e2e, lighthouse budgets, relay build, image push on main
- verified: both images build; relay healthz 200; site serves EN/NO with CSP + redirect

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 06:21:35 +02:00

21 lines
691 B
JSON

{
"ci": {
"collect": {
"staticDistDir": "./dist",
"url": ["http://localhost/index.html", "http://localhost/projects/jobtrack/index.html"],
"numberOfRuns": 1
},
"assert": {
"assertions": {
"categories:performance": ["error", { "minScore": 0.95 }],
"categories:accessibility": ["error", { "minScore": 1 }],
"categories:seo": ["error", { "minScore": 1 }],
"largest-contentful-paint": ["error", { "maxNumericValue": 1800 }],
"cumulative-layout-shift": ["error", { "maxNumericValue": 0.02 }],
"total-blocking-time": ["error", { "maxNumericValue": 100 }],
"unused-javascript": "off"
}
}
}
}