# Explorer Monorepo — Gitea Push **Last Updated:** 2026-02-10 **Status:** Explorer monorepo uses Gitea as its primary integration remote. **virtual-banker** is not part of and not referenced by explorer-monorepo; it lives as a separate repo in the projects directory (`/home/intlc/projects/virtual-banker`) and on Gitea as [d-bis/virtual-banker](https://gitea.d-bis.org/d-bis/virtual-banker). --- ## Push all projects (including virtual-banker) To push **every** repo under the projects directory (including **virtual-banker**, **proxmox**, **explorer-monorepo** only via proxmox, etc.) to Gitea in one go, from the **proxmox** repo root: ```bash cd /path/to/proxmox # GITEA_TOKEN from .env or export bash scripts/dev-vm/push-all-projects-to-gitea.sh ``` - **Discovered repos:** Direct children of `PROJECTS_DIR` (default `/home/intlc/projects`) that have a `.git` directory. - **virtual-banker** is included because it lives at `/home/intlc/projects/virtual-banker`. - **explorer-monorepo** is **not** a direct child; push it separately (see “How to push explorer-monorepo” below) if needed. --- ## Why explorer-monorepo isn’t pushed by the usual script - **explorer-monorepo** is a **submodule** of the proxmox repo (`explorer-monorepo` → `https://gitea.d-bis.org/d-bis/explorer-monorepo.git`). - **push-all-projects-to-gitea.sh** only considers **direct children** of `PROJECTS_DIR` (default `/home/intlc/projects`), i.e. sibling repos like `proxmox`, `dbis_core`, not subdirectories/submodules inside proxmox. - So explorer-monorepo is never discovered or pushed by that script. --- ## How to push explorer-monorepo to Gitea ### 1. Create the repo on Gitea (if it doesn’t exist) From the proxmox repo root, using the same token and org as elsewhere: ```bash GITEA_TOKEN=xxx bash scripts/dev-vm/gitea-create-orgs-and-repos.sh --dry-run # optional: check list GITEA_TOKEN=xxx bash scripts/dev-vm/gitea-create-orgs-and-repos.sh # creates d-bis/explorer-monorepo if missing ``` (`explorer-monorepo` is already in the default `REPO_NAMES` in that script.) ### 2. Add Gitea remote and push from the submodule From the **explorer-monorepo** directory (submodule has its own `.git`): ```bash cd /home/intlc/projects/proxmox/explorer-monorepo # Optional: load Gitea env from proxmox root [ -f ../.env ] && set -a && source ../.env && set +a # Add Gitea remote if not already present git remote get-url gitea 2>/dev/null || \ git remote add gitea "https://gitea.d-bis.org/d-bis/explorer-monorepo.git" # Push current branch (e.g. main) BRANCH=$(git branch --show-current) git push "https://${GITEA_TOKEN}@gitea.d-bis.org/d-bis/explorer-monorepo.git" "$BRANCH" --set-upstream ``` Use the same **GITEA_TOKEN** as for other Gitea operations (e.g. from proxmox `.env` or Gitea → Settings → Applications). ### 3. If you get HTTP 413 on push If the repo is large and the push fails with **HTTP 413**, follow [GITEA_LARGE_PUSH_HTTP_413.md](GITEA_LARGE_PUSH_HTTP_413.md) to raise `HTTP_MAX_REQUEST_BODY` in Gitea and `client_max_body_size` in NPMplus for `gitea.d-bis.org`. --- ## After pushing - In Gitea, add labels per [GITEA_ORG_STRUCTURE.md](GITEA_ORG_STRUCTURE.md): e.g. `project/explorer`, `domain/blockchain` / `domain/web` as appropriate. - The proxmox repo now points at Gitea for this submodule by default. After cloning or after remote changes, run `git submodule sync explorer-monorepo` so local submodule config follows `.gitmodules`.