On this page
4 min read

Day 3 - Git repos, km0digital.com domains, and autoagents loop

OpenCloud Git repository, migration to km0digital.com, multilingual FAQ, mobile navigation, switchLocaleHref, and the autoagents loop in both repos.

Introduction

Day 3 (operational window 26–27 May 2026, ~12 h on the Debian VPS) consolidates two fronts on the same host: OpenCloud gets its own Git repository with versioned deployment and a cutover plan to cloud.km0digital.com, and the corporate site migrates from km0.amvara.de to km0digital.com with product improvements.

Both repos introduce the same autoagents loop (GitHub Issues → tasks → cursor-agent), and OpenCloud adds automatic Redmine closing notes when archiving tasks.

Summary

Day milestones

  • OpenCloud: first Git commit of KM0 assets (km0-opencloud); templates aligned to cloud.km0digital.com; Collabora Online via WOPI; autoagents loop; redmine_sync.py on CLOSED-* archive.
  • Corporate site: migration to km0digital.com; blog slugs day-*; multilingual FAQ; footer semver; email “coming soon” modal; mobile hamburger menu; switchLocaleHref; version 1.1.4.
  • Shared: Cursor rules, autoagents/SKILL.md, scripts/git-sync-main.sh, docs/agent-loop.md.

Architecture

Coexistence on one 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

Git repository (km0-opencloud)

Initial commit (f454889, 26 May 21:13 CEST) at git@github.com:AMVARA-CONSULTING/km0-opencloud.git, branch main. Versioned (63 files), including:

  • overrides/opencloud-compose/ - CSP, external-proxy overlay, OIDC patch.
  • dex/ - Dex compose, KM0 theme, login templates.
  • nginx/ - vhost template for cloud.km0digital.com.
  • host-www/opencloud-auth/ - hybrid login (login.html, auth JSON).
  • scripts/ - backups, apply-opencloud-compose-overrides.sh.
  • docs/ - runbook, Redmine summary.
Outside Git (server only): upstream clone opencloud-compose/, live .env, OAuth secrets, Docker volumes, and /etc/letsencrypt/.

OpenCloud

Domain migration and autoagents

Commit 0b27952 (27 May 00:06 CEST): alignment of OC_DOMAIN, Dex issuer, nginx server_name, and templates to cloud.km0digital.com. New script scripts/issue-cloud-km0digital-cert.sh (DNS check + Certbot webroot).

The autoagents loop was added (version 1.0.2): orchestrator autoagents-loop.sh, coder/tester/closer/committer agents, gh_issue_sync.py, and move-agent-task-to-done.sh. Commit 7203b6f (00:37 CEST): redmine_sync.py publishes a Textile summary to Redmine when archiving CLOSED-* tasks.

OpenCloud

Collabora Online (WOPI)

Day 2 kept the stack core-only; during day 3, Collabora Online was wired to OpenCloud through WOPI so Office documents can be opened and edited in the browser at cloud.km0digital.com.

  • In-browser editing: thanks to Collabora, users can edit Office files such as XLSX, PPT, and DOCX without desktop apps.
  • Simultaneous co-editing: multiple users can work on the same document at the same time; changes sync in real time through the WOPI bridge.
  • Stack: Collabora container on the OpenCloud Compose network; WOPI discovery and CSP updates in the external-proxy overlay; Nginx routes the editor under the cloud vhost.

Corporate site

Content, hostname, and product

  • Blog slugs: dia-*day-* across all locales (src/content/doc/{ca,de,en,es}/).
  • Hostname migration (bdc9e2c, 23:42 CEST): main URLs https://km0digital.com (ES at /), /ca/, /en/, /de/, blog at /doc/; 301 redirect from km0.amvara.de.
  • FAQ (23ec0bf): multilingual section with #faq anchor; footer semver from package.json; “coming soon” modal for the email service.
  • Navigation (e5cfa57, 1.1.3): hamburger menu in Header.astro; switchLocaleHref / stripLocalePrefix in src/i18n/paths.ts to switch language without losing blog entry or hash.
  • Documentation (67b62cc, 1.1.4): simplified README; smoke task CLOSED-4 validated the pipeline (loopback + production HTTP 200).

Autoagents

Closed tasks (km0-web)

  • FAQ (GitHub #1): FAQ section, 4 locales.
  • Language (GitHub #2): switchLocaleHref.
  • Mobile menu (GitHub #3): hamburger navigation.
  • Smoke (test): autoagents loop - PASS on :9180 and production.

Site version progression: Astro 5 baseline on :9180 → 1.1.3 (FAQ, semver footer, modal, mobile nav, locale) → 1.1.4 (README/docs).

Verification

Reference checks

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

Secrets (.env, Redmine/GitHub keys, OAuth) are not part of this entry; they live only on the server and in the team's private operational documentation.

Next step

Day 4

Day 4 replaces Dex's static password store with an LDAP connector to OpenCloud's IDM, so any directory user can sign in with the same credentials as in Settings. In the meantime, explore the services or the day 4 story.