ligbox-ops-platform/docs/vms/CT130.md
Ligbox Spec Hub 6c94a77277 feat(forgejo): 47 milestones por spec + sync issues
Script sync-forgejo-milestones.py; redirect /milestones no Forgejo;
docs CT130 e spec-driver-sync actualizados.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 17:07:24 +00:00

104 lines
3.5 KiB
Markdown

# CT130 — Ligbox Spec Hub
| Item | Valor |
|------|-------|
| **IP LAN** | `10.10.10.130` |
| **SSH WAN** | `95.216.14.146:2530` |
| **Hostname** | spec-hub |
| **OS** | Debian 12 LXC |
| **Recursos** | 2 vCPU · 4 GB RAM · 40 GB |
## Papel
**Fonte de verdade Git + Obsidian + Portal** — centraliza specs, vault e código de **todas** as VMs.
| URL | Serviço |
|-----|---------|
| https://spec.ligbox.com.br | Portal hub |
| https://spec.ligbox.com.br/specs/ | Browser Spec Kit |
| https://spec.ligbox.com.br/vault/ | Browser Obsidian |
| https://git.spec.ligbox.com.br | Forgejo Git |
| https://git.spec.ligbox.com.br/ligbox | **Org Ligbox** (repos) |
| https://git.spec.ligbox.com.br/ligbox/ligbox-ops-platform | **Repo principal** |
| https://git.spec.ligbox.com.br/ligbox/ligbox-ops-platform/issues | **Issues** (sync `tasks.md`) |
## Stack local
```
/opt/ligbox-spec-hub/
├── forgejo/ # Git server
├── portal/ # nginx + Docsify
├── repos/ligbox-ops-platform/ # clone principal
├── obsidian-vault/ # vault Obsidian
└── docker-compose.yml # forgejo + spec-portal
```
## Repos Forgejo (org `ligbox`)
| Repo | Conteúdo | Issues |
|------|----------|--------|
| [`ligbox-ops-platform`](https://git.spec.ligbox.com.br/ligbox/ligbox-ops-platform) | Monorepo — **todas** VMs | [852 issues](https://git.spec.ligbox.com.br/ligbox/ligbox-ops-platform/issues) (sync `tasks.md`) |
| [`obsidian-vault`](https://git.spec.ligbox.com.br/ligbox/obsidian-vault) | Notas, LAPTOP, anais | — |
**Navegação Forgejo:** a homepage `/?repo-search-tab=organizations` sem login mostra landing vazia.
Usar directamente: **https://git.spec.ligbox.com.br/ligbox** ou **Explore → Repositories**.
**Sincronizar issues** (após alterar `tasks.md`):
```bash
python3 scripts/sync-tasks-to-forgejo-issues.py
```
## Git workflow (2026-07-02)
| Branch | Papel |
|--------|-------|
| **`develop`** | Trabalho diário (default) |
| **`main`** | Produção — **só via Pull Request** |
- **PR #853** — workflow activado
- **Proteção `main`:** push directo bloqueado
- **Doc:** `docs/GIT_WORKFLOW.md`
- **Pull requests:** https://git.spec.ligbox.com.br/ligbox/ligbox-ops-platform/pulls
## Utilizadores
| User | Senha | Admin | Org `ligbox` |
|------|-------|-------|----------------|
| roger | 805353 | ✅ | ✅ Owners |
| ligboxadmin | 805353 | ✅ | ✅ Owners |
| mini | 805353 | — | ✅ Owners |
**Importante:** utilizadores têm de estar na org `ligbox` (team Owners) para ver repos no dashboard Forgejo.
Script: `scripts/setup-forgejo-org-access.sh`
**Homepage Forgejo:** `LANDING_PAGE = /ligbox/ligbox-ops-platform` + templates custom em `/opt/ligbox-spec-hub/forgejo/custom/templates/`:
| Rota global | Redireciona para |
|-------------|------------------|
| `/` | repo principal |
| `/issues` | `.../ligbox-ops-platform/issues` (852) |
| `/milestones` | `.../ligbox-ops-platform/milestones` (47 specs) |
**Milestones:** `python3 scripts/sync-forgejo-milestones.py` (após novas specs).
## Spec
- **031** — spec-hub-portal
## Regra anti-drift
```bash
# VM122/112/123 — NUNCA rsync solto
git pull https://git.spec.ligbox.com.br/ligbox/ligbox-ops-platform.git
# Ver deploy/manifest.yaml para tag pinada
```
## Sync pendente (Roger)
| VM | Acção |
|----|-------|
| VM112 | Pull deploy/vm112-* + push estado actual |
| VM123 | Pull deploy/vm123-* + console template |
| VM104 | Documentar integração (sem código Ligbox) |
| VM122 | `git remote add hub git.spec...` + pull |