my-homelab-configs/infra/gitea
juvdiaz 84b60979f2 Update debian ip 2026-06-26 22:50:19 -06:00
..
README.md Update debian ip 2026-06-26 22:50:19 -06:00
docker-compose.yml Bootstrap external Gitea 2026-05-27 14:15:10 -05:00

README.md

External Gitea

Gitea is bootstrap infrastructure, not a Kubernetes workload.

lab.sh deploy-gitea copies docker-compose.yml to the Debian host and runs Gitea as an always-on Docker Compose service. The current default stores data on the HP laptop NVMe under /data/homelab-gitea/data; Docker root is also expected to live on the /data storage path.

Defaults:

  • host: 192.168.100.73
  • user: jv
  • install dir: /data/homelab-gitea
  • HTTP port: 3000
  • SSH port: 32222
  • public root URL: https://lab2025.duckdns.org/git/

Kubernetes consumes Git from the Debian bare GitOps mirror at /home/jv/git-server/my-homelab-configs.git. Gitea is the human-facing Git service and remains available when the cluster is destroyed.

./lab.sh bootstrap-gitea-repo creates or validates the public Gitea repository, adds the Debian host deploy key when needed, and points the Debian checkout's gitea remote at:

ssh://git@192.168.100.73:32222/jv/my-homelab-configs.git

Argo CD does not read from the Gitea SSH port. It reads from the Debian bare GitOps mirror through gitops_repo_url, normally:

ssh://jv@192.168.100.73/home/jv/git-server/my-homelab-configs.git

The platform bootstrap registers that repo secret and updates argocd-ssh-known-hosts-cm. If Argo CD reports knownhosts: key is unknown, refresh the Debian host key in that ConfigMap and restart argocd-repo-server.

Backups are installed on the Debian host by lab.sh deploy-gitea and lab.sh backup-gitea. The timer runs gitea dump inside the Gitea container, copies the archive to Debian, and stores it under /home/jv/backups/gitea.