`bond` is a 0..1 factor for how strongly a service is tied to the overall integration: bond: 1 = always required, bond: 0 = omittable. Groundwork for tooling that later scores service importance and decides what can be dropped. Named `bond` (not `bound`) to avoid clashing with the resource bounds/limits. Add test_service_bond.py (lint): every enabled + shared service must declare a valid `bond` (number in 0..1). Seed `bond: 1` as a placeholder on all 638 enabled+shared service entries across 88 roles, to be refined later. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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-opentalkis deployed alongside. - Coexists with Nextcloud: Runs in parallel with
web-app-nextcloudon 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).