Nextcloud Documentation
repository·master·Indexed 20 days ago
https://github.com/nextcloud/documentationOfficial documentation for Nextcloud, including Users', Administration, and Developers' manuals. This documentation covers the installation and configuration of AI as a Service providers (OpenAI, Replicate, IBM watsonx), the Nextcloud Assistant, AI backend apps for machine translation, speech-to-text, and image generation, and the Context Agent for executing actions across Nextcloud apps like Deck, Talk, Mail, and Calendar.
What's inside Nextcloud Documentation
- The Nextcloud desktop client is available for Windows, macOS, and Linux. Its primary function is to keep files synchronized between your local computer and your Nextcloud server.
Overview of the Context Agent app
masterThe
context_agentapp enables AI agent functionality within Nextcloud's "Chat with AI" feature. It serves as the backend for theNextcloud Assistant app.Key capabilities include:
- Tools: Virtual integrations that allow the AI Assistant to interact with other Nextcloud apps and perform actions based on chat instructions.
- MCP Server: Exposes all available tools via a Model Context Protocol (MCP) server, allowing you to connect third-party AI agents to your Nextcloud tools.
Overview of Nextcloud Server Administration
masterNextcloud is an open-source platform for file synchronization and content collaboration. The Server Administration Guide is designed for users who need to:
- Install Nextcloud Server
- Administer and manage a Nextcloud instance
- Optimize server performance
Nextcloud Server runs on Linux and consists of a backend server, a responsive web client, cross-platform desktop clients (Windows, macOS, Linux), mobile clients (Android, iOS), and an app ecosystem.
Overview of Collabora Online support in Nextcloud
masterNextcloud provides full support for
Collabora Onlineas an office solution. Users can integrate Collabora Online in two ways:- Self-hosted server: Connecting to an external Collabora Online server instance.
- Built-in CODE (Collabora Online Development Edition) server: Using the dedicated Nextcloud server app that provides the Collabora engine directly within your Nextcloud environment.
For specific implementation details, refer to the installation, configuration, migration, and troubleshooting guides.
Choose an authentication mechanism for External Storage
masterNextcloud external storage backends support various authentication schemes (passwords, OAuth, tokens, etc.). When configuring a mount point, you must select an authentication mechanism that matches the backend's requirements. Mechanisms are categorized into Special, Password-based, and Public-key types.Choose a Nextcloud installation method
masterNextcloud can be installed using several methods depending on your requirements:
- Nextcloud All-in-One (AIO): Official automated installation providing easy deployment and maintenance. Includes Office, Backup, and Imaginary.
- Snap Package: Community-maintained production-ready stack with automatic HTTPS certificate management and updates.
- Nextcloud VM Appliance (NcVM): Community-maintained virtual machine for fast deployment on Ubuntu or as a standalone VM.
- NextcloudPi: Community-maintained Debian-based scripts for automated installation of apps like Collabora, OnlyOffice, and Talk.
- Docker Image: Community-maintained image for micro-service environments. Available in two versions: Apache (includes Apache web server) and FPM (requires you to provide web, database, and other services).
- Manual Source Installation: Installing from a
.tararchive using a classic LAMP stack (Linux, Apache, MySQL/MariaDB, PHP). This is the recommended method for manual setups.
How the Automatic Updater works on different operating systems
masterThe Automatic Updater provides features and bug fixes for the Nextcloud synchronization client. Its behavior depends on the host OS:
- Windows: The client checks for and downloads updates automatically. If an update is downloaded, a silent update occurs before the next launch, followed by a restart. Administrative privileges are required for updates to succeed.
- macOS: Uses the Sparkle framework bundled in the App Bundle. It checks for updates on launch and presents a pop-up for one-click installation. If Sparkle is not bundled, a notification will open the download page in a web browser.
- Linux: The client does not perform updates itself; users must use their system's package manager. The client only provides notifications when a new version is available.
On all platforms, you can view the current update status in the client under
Settings -> General -> Updates.Supported application deployment modes
masterNextcloud currently supports two primary methods for orchestrating application deployments as Docker containers via the Docker Deploy Daemon:
- Docker Deploy Daemon (Docker Socket Proxy): Uses a proxy to manage Docker socket access.
- Docker Deploy Daemon (HaRP): Requires the
AppAPI HaRPcomponent.
Administrators are responsible for the security configuration of the connected Docker daemon. The deployment schemes provided are examples of possible configurations.
Use the OCS Translation API
masterThe OCS Translation API enables translating strings between different languages.
Base URL:
<nextcloud_base_url>/ocs/v2.php/translation/Authentication Requirement: All calls to OCS endpoints must include the header
OCS-APIRequest: true.Automated tagging of files
masterThe Files Automated Tagging app allows you to assign collaborative tags to files and folders automatically based on predefined rules. This functions similarly to Nextcloud's Access Control system.
Key Use Cases
- Indirectly assigning restricted/invisible tags: Users can upload files that automatically receive tags they cannot remove. This is critical for enforcing retention policies and access control, as it prevents users from bypassing security measures by simply deleting a tag.
- Automated workflows: You can trigger actions (such as
convert to PDF) based on the tags assigned to a file.
What is Dependency Injection in Nextcloud
masterDependency Injection (DI) is a design pattern where an object's dependencies are provided from the outside (usually by a container) rather than being instantiated internally. In Nextcloud, the App Framework uses a container to assemble applications, which promotes modularity, testability, and decoupling from internal server details.
Key Benefits:
- Testability: Easily swap real services with mock objects for unit testing.
- Maintainability: Centralized object creation means changes to a dependency's construction only need to be updated in one place.
- Explicitness: Dependencies are clearly defined in constructors or method signatures.
- Resource Efficiency: Reduces memory and resource usage by managing service lifecycles.
Overview of Nextcloud event mechanisms
masterNextcloud uses events to facilitate communication across its ecosystem, including internal server operations, server-to-app communication, and inter-app communication. There are three primary mechanisms for handling events:
- OCP event dispatcher: Used for core server event dispatching.
- Hooks: A mechanism for intercepting or reacting to specific execution points.
- Public Emitter: A mechanism for broadcasting events to external consumers or apps.