Issue `#8` is the remaining CI/security automation task.

Current state:
- Repo-side workflow already exists at `.gitea/workflows/security.yml`
- Runner setup notes already exist at `.gitea/README.md`
- The missing piece is operational: a Gitea Actions runner is not configured, so the workflow does not execute

Your job:
1. Re-verify the current repo state before changing anything.
2. Review:
   - `.gitea/workflows/security.yml`
   - `.gitea/README.md`
3. Add the minimal files, scripts, or compose service needed to make Gitea runner setup easy for this environment.
4. Document exact setup steps for running a Gitea Actions runner against this Gitea instance.
5. If live access is available, verify the runner can register and that the workflow actually executes.
6. Do not mark issue `#8` complete unless workflow execution is confirmed. Otherwise keep it `Partial` or `Blocked`.

What `#8` means:
- Automatically run dependency audits
- Automatically scan for tracked secrets/runtime DB files
- Automatically check Dockerfiles for non-root `USER` and `HEALTHCHECK`

Important constraints:
- Do not overstate completion
- Separate repo-side completion from operational completion
- If a runner token or Gitea admin action is required, document that as a manual step
- Do not change admin credentials during this pass

Expected output:
- `Completed:`
- `Partial:`
- `Blocked:`
- `Manual ops actions:`
