En esta página
4 min de lectura

Día 3 - Repos Git, dominios km0digital.com y bucle autoagents

Repositorio Git de OpenCloud, migración a km0digital.com, FAQ multidioma, navegación móvil, switchLocaleHref y bucle autoagents en ambos repos.

Introducción

El día 3 (ventana operativa del 26 al 27 de mayo de 2026, ~12 h en el VPS Debian) consolida dos frentes que conviven en el mismo host: OpenCloud pasa a tener un repositorio Git propio con despliegue versionado y plan de corte a cloud.km0digital.com, y la web corporativa migra de km0.amvara.de a km0digital.com con mejoras de producto.

En ambos repos se introduce el mismo bucle autoagents (GitHub Issues → tareas → cursor-agent) y, en OpenCloud, notas de cierre automáticas en Redmine al archivar tareas.

Resumen

Hitos del día

  • OpenCloud: primer commit Git de activos KM0 (km0-opencloud); alineación de plantillas a cloud.km0digital.com; Collabora Online vía WOPI; bucle autoagents; redmine_sync.py al archivar CLOSED-*.
  • Web corporativa: migración a km0digital.com; slugs de blog day-*; FAQ multidioma; pie con semver; modal email «próximamente»; menú hamburguesa móvil; switchLocaleHref; versión 1.1.4.
  • Compartido: reglas Cursor, autoagents/SKILL.md, scripts/git-sync-main.sh, docs/agent-loop.md.

Arquitectura

Coexistencia en un solo host

Internet :443
    ├── km0digital.com          → nginx km0       → 127.0.0.1:9180  (km0-web Docker)
    └── cloud.km0digital.com    → nginx opencloud → 127.0.0.1:9200  (OpenCloud external-proxy)
                                      └── /dex/*  → 127.0.0.1:5556  (Dex OIDC)

OpenCloud

Repositorio Git (km0-opencloud)

Commit inicial (f454889, 26-may 21:13 CEST) en git@github.com:AMVARA-CONSULTING/km0-opencloud.git, rama main. Quedó versionado (63 ficheros), entre otros:

  • overrides/opencloud-compose/ - CSP, overlay external-proxy, parche OIDC.
  • dex/ - compose Dex, tema KM0, plantillas de login.
  • nginx/ - plantilla vhost para cloud.km0digital.com.
  • host-www/opencloud-auth/ - login híbrido (login.html, JSON de auth).
  • scripts/ - backups, apply-opencloud-compose-overrides.sh.
  • docs/ - runbook, resumen Redmine.
Fuera de Git (solo en servidor): clon upstream opencloud-compose/, .env vivos, secretos OAuth, volúmenes Docker y /etc/letsencrypt/.

OpenCloud

Migración de dominio y autoagents

Commit 0b27952 (27-may 00:06 CEST): alineación de OC_DOMAIN, emisor Dex, server_name nginx y plantillas a cloud.km0digital.com. Nuevo script scripts/issue-cloud-km0digital-cert.sh (comprobación DNS + Certbot webroot).

Se añade el bucle autoagents (versión 1.0.2): orquestador autoagents-loop.sh, agentes coder/tester/closer/committer, gh_issue_sync.py y move-agent-task-to-done.sh. Commit 7203b6f (00:37 CEST): redmine_sync.py publica en Redmine un resumen Textile al archivar tareas CLOSED-*.

OpenCloud

Collabora Online (WOPI)

El día 2 mantuvo el stack solo con core; durante el día 3 se conectó Collabora Online a OpenCloud mediante WOPI para abrir y editar documentos Office en el navegador en cloud.km0digital.com.

  • Edición en navegador: gracias a Collabora, los usuarios pueden editar ficheros Office como XLSX, PPT y DOCX sin aplicaciones de escritorio.
  • Coedición simultánea: varios usuarios pueden trabajar en el mismo documento a la vez; los cambios se sincronizan en tiempo real a través del puente WOPI.
  • Stack: contenedor Collabora en la red Compose de OpenCloud; descubrimiento WOPI y actualizaciones CSP en el overlay external-proxy; Nginx enruta el editor bajo el vhost cloud.

Web corporativa

Contenido, hostname y producto

  • Slugs de blog: dia-*day-* en todos los locales (src/content/doc/{ca,de,en,es}/).
  • Migración hostname (bdc9e2c, 23:42 CEST): URLs principales https://km0digital.com (ES en /), /ca/, /en/, /de/, blog en /doc/; redirección 301 desde km0.amvara.de.
  • FAQ (23ec0bf): sección multidioma con ancla #faq; pie con semver desde package.json; modal «próximamente» para el servicio de email.
  • Navegación (e5cfa57, 1.1.3): menú hamburguesa en Header.astro; switchLocaleHref / stripLocalePrefix en src/i18n/paths.ts para cambiar idioma sin perder entrada de blog ni hash.
  • Documentación (67b62cc, 1.1.4): README simplificado; tarea de humo CLOSED-4 validó el pipeline (loopback + producción HTTP 200).

Autoagents

Tareas cerradas (km0-web)

  • FAQ (GitHub #1): sección FAQ, 4 locales.
  • Idioma (GitHub #2): switchLocaleHref.
  • Menú móvil (GitHub #3): navegación hamburguesa.
  • Humo (test): bucle autoagents - PASS en :9180 y producción.

Progresión de versión del sitio: baseline Astro 5 en :9180 → 1.1.3 (FAQ, pie semver, modal, nav móvil, locale) → 1.1.4 (README/docs).

Verificación

Comprobaciones de referencia

cd /opt/km0-web
docker compose build && docker compose up -d
curl -sI https://km0digital.com/
curl -sI http://127.0.0.1:9180/en/doc/day-0/

cd /opt/opencloud docker compose -f opencloud-compose/docker-compose.yml ps curl -sI https://cloud.km0digital.com/login.html

Los secretos (.env, claves Redmine/GitHub, OAuth) no forman parte de esta entrada; viven solo en el servidor y en la documentación operativa privada del equipo.

Siguiente paso

Día 4

El día 4 sustituye el almacén estático de contraseñas de Dex por un conector LDAP contra el IDM de OpenCloud, de modo que cualquier usuario del directorio pueda iniciar sesión con las mismas credenciales que en Ajustes. Mientras tanto, explora los servicios o el relato del día 4.