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>
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
- Nextcloud Official Website
- Nextcloud Docker Documentation
- Nextcloud Admin Manual
- LDAP Integration Guide
- OIDC Login Plugin (pulsejet)
- Sociallogin Plugin (Official)
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).