46 lines
1.6 KiB
Markdown
46 lines
1.6 KiB
Markdown
# External Gitea
|
|
|
|
Gitea is bootstrap infrastructure, not a Kubernetes workload.
|
|
|
|
`lab.sh deploy-gitea` copies `docker-compose.yml` to the Raspberry Pi and runs
|
|
Gitea as an always-on Docker Compose service. The current default stores data on
|
|
the Pi SD card under `/opt/homelab-gitea/data`; move
|
|
`LAB_GITEA_INSTALL_DIR` to an SSD mount when the SSD is added.
|
|
|
|
Defaults:
|
|
|
|
- host: `192.168.100.89`
|
|
- user: `jv`
|
|
- install dir: `/opt/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:
|
|
|
|
```text
|
|
ssh://git@192.168.100.89:32222/jv/my-homelab-configs.git
|
|
```
|
|
|
|
Argo CD does not read from the Raspberry Pi Gitea SSH port. It reads from the
|
|
Debian bare GitOps mirror through `gitops_repo_url`, normally:
|
|
|
|
```text
|
|
ssh://jv@192.168.100.68/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 Raspberry Pi
|
|
container, copies the archive to Debian, and stores it under
|
|
`/home/jv/backups/gitea`.
|