Files
computer-playbook/roles/web-app-nextcloud
kevinveenbirkenbachandClaude Fable 5 699008a168 fix(web-app-nextcloud): mount the infinito config dir as a bind, not a swarm config
infinito_conf's source is a DIRECTORY (volumes/infinito, rendered from
config/*.j2), but a Docker Swarm config object is a single file, so
docker stack deploy aborted the whole nextcloud stack with
'read .../infinito: is a directory'. Compose only tolerated it by
emulating configs: as bind-mounts. Declare it as type: bind read_only
so a directory payload mounts correctly in both modes; the single-file
nginx_conf and nextcloud_includes stay config objects.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 21:41:42 +02:00
..

Nextcloud

Description

Elevate your collaboration with Nextcloud, a vibrant self-hosted cloud solution designed for dynamic file sharing, seamless communication, and effortless teamwork. Nextcloud offers a full suite of integrated tools (including LDAP and OIDC authentication, Redis caching, and automated plugin management via OCC) to empower a secure, extensible, and production-ready cloud environment.

Overview

This role provisions a complete Nextcloud deployment using Docker Compose. It automates the setup of the Nextcloud application along with its underlying MariaDB database and configures the system for secure public access via an NGINX reverse proxy. The deployment includes automated configuration merging into config.php, health check routines, and integrated support for backup and recovery operations.

Features

  • Fully Dockerized Deployment: Simplifies installation using Docker Compose for the Nextcloud application and its MariaDB backend.
  • Secure Access: Integrates with an NGINX reverse proxy for encrypted, high-performance access.
  • Robust Authentication: Supports LDAP and OIDC for secure identity and access management.
  • Automated Configuration Management: Uses additive configuration files to dynamically merge system settings into config.php.
  • Integrated Backup & Recovery: Provides built-in support for backup and restoration operations to safeguard your data.
  • Extensible Plugin Framework: Easily manage and configure hundreds of Nextcloud plugins using the OCC command line tool.

Addons

The config-bearing Nextcloud apps are declared in meta/addons/ under the unified addon contract (requirement 026). Each declaration carries its full occ config:app:set payload under config:. The enable-only appstore apps stay under nextcloud.plugins in meta/services.yml.

Addon Mechanism Default state Bridges
sociallogin plugin enabled when the SSO OIDC plugin selector picks it sso → web-app-keycloak
user_ldap plugin enabled with the ldap service ldap → svc-db-openldap
bbb plugin enabled with the bigbluebutton partner bigbluebutton → web-app-bigbluebutton
onlyoffice plugin enabled with the onlyoffice partner onlyoffice → web-svc-onlyoffice
richdocuments plugin enabled with the collabora partner collabora → web-svc-collabora
spreed plugin enabled with the talk service talk, coturn
whiteboard plugin required (always installed) none (self-hosted backend)
xwiki plugin enabled with the xwiki partner xwiki → web-app-xwiki

The SSO (sociallogin) and LDAP (user_ldap) login surfaces are covered by the OIDC/LDAP Playwright specs (requirements 017/018).

Documentation

A detailed documentation for the use and administration of Nextcloud on Infinito.Nexus you will find here.

Further Resources

Credits

Implemented by Kevin Veen-Birkenbach. Part of the Infinito.Nexus Project and maintained by Kevin Veen-Birkenbach. Licensed under the Infinito.Nexus Community License (Non-Commercial).