Files
computer-playbook/roles/web-app-opencloud
kevinveenbirkenbachandClaude Opus 4.7 5839626a75 fix(web-app-opencloud/playwright): bound Keycloak password Enter-press to 5s
The biber sso-login spec timed out at 300s per attempt (688.751s
across 3 retries) on job 77602110523 of run 26362676803. Trace
analysis showed a single action accounted for the entire test
budget: `Press "Enter" on input[name=password]` ran for 312.33s.

The race the existing comment already flagged: biber's first OIDC
hop triggers OpenCloud's lazy user provisioning, Keycloak unmounts
the password form sooner than admin's already-existing path, and
Playwright's `.press("Enter")` actionability retry waits for the now
detached input to come back. Without an action-level timeout the
retry inherits the test-level 300s budget, the `.catch(() => {})`
fires too late, and the subsequent banner assertion crashes with
"Target page, context or browser has been closed".

Bound the press to 5s so the catch can swallow the failure
immediately; the `leftKeycloak` promise (60s) then waits for the
real navigation, which the page-snapshot confirms always reaches
the Files view in time. Admin keeps its 2.96s happy path (5s is an
upper bound, not a baseline delay).

Static check only (per operator request).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 16:19:35 +02:00
..
…

OpenCloud

Description

OpenCloud is a sovereign self-hosted file sync, share, and collaboration platform maintained by the Heinlein Group. It is a fork of the OpenCloud Infinite Scale codebase and is published as the opencloudeu/opencloud container image.

Overview

This role deploys OpenCloud using Docker Compose in single-binary mode and exposes it under open.cloud.{{ DOMAIN_PRIMARY }} through the central reverse proxy. It wires the deployment to the shared Keycloak realm via OIDC, sources users and groups from the central svc-db-openldap directory, and runs side by side with web-app-nextcloud so both file platforms can coexist on the same host. For identity wiring details see IAM.md and LDAP.md.

Features

  • Sovereign File Sync and Share: Self-host file sync, shares, and collaborative spaces under your own domain.
  • Single Sign-On: Users authenticate once via Keycloak and reuse the session across the platform.
  • Central User Directory: Users and groups are read from a shared OpenLDAP backend, so accounts stay consistent across apps.
  • Auto-Provisioning: New OIDC users are created on first login with username equal to the LDAP uid, and group claims drive role assignment.
  • OpenTalk Cross-Launch: Start a video meeting in OpenTalk from a file context without re-authenticating when web-app-opentalk is deployed alongside.
  • Coexists with Nextcloud: Runs in parallel with web-app-nextcloud on a distinct canonical hostname.

Developer Notes

See IAM.md for OIDC discovery and verification commands, and LDAP.md for the directory binding and schema mapping. Open follow-up items are tracked in TODO.md.

Further Resources

Credits

Developed and maintained by Kevin Veen-Birkenbach. Learn more at veen.world. Part of the Infinito.Nexus Project. Licensed under the Infinito.Nexus Community License (Non-Commercial).