tiennm99 0134b64cde feat: add gitea mirror maintenance skill
Adds a skill to audit the local Gitea mirror stack for repos whose pull
failed, then clean up only what is safe to delete.

Detection combines four signals, since none is sufficient alone: the Gitea
API (empty repos with no completed initial pull), an upstream reachability
probe, the mirror app database, and the gitea container log. The container
log reflects a retention window rather than history, so it is never the
sole basis for deletion.

Deletion is gated on a contradiction between Gitea and the mirror app:
a repo that is empty while the app records the pull as finished. Repos the
app is still cloning or has queued look identical by API fields alone
(empty, zero size, no mirror timestamp), so they are excluded to avoid
destroying work in progress. Repos that still hold content are reported
for retry and never deleted, so a transient fetch error cannot cost a
mirror.

Deleting a broken repo also resets its mirror-app row to pending;
without that the app never re-pulls it and the mirror is lost instead of
restored. Cleanup is dry-run by default and warns on a stale plan.
2026-07-26 19:43:50 +07:00
2025-04-07 12:44:18 +07:00
2025-03-25 21:58:42 +07:00
2023-12-23 08:15:16 +07:00
2024-05-03 16:38:43 +07:00
S
Description
Docker Compose files for the services I self-host — Gitea mirror, Couchbase, code-server, Grafana Alloy, coding-agent UIs and more — deployed through Coolify and Dokploy
Apache-2.0
435 KiB
0 Stars 1 Watchers 0 Forks
Languages
Shell 89.9%
Dockerfile 10.1%