Nextcloud — Harp
Inside were not just audio files. There were version histories, side-by-side transcriptions, sonograms, and a sprawling, threaded chat.
Once HaRP is running, you need to configure your main reverse proxy (NGINX, Caddy, Apache, etc.) to forward /exapps/ traffic to the HaRP container. A typical NGINX configuration block might look like this:
(Docker Deploy Daemon) is a specialized Docker container designed to serve as a secure proxy between your Nextcloud server and External Applications (ExApps) managed via the AppAPI . harp nextcloud
Legacy Architecture (DSP): Nextcloud Server (PHP Stack) ──> Docker Socket Proxy ──> ExApp Containers * High resource overhead: All traffic passes through the PHP stack. * No native WebSockets support for real-time external app features. * Fragile networking requiring complex port exposures. Why HaRP acts as Docker Socket Proxy 2.0
When scaling up, resource-heavy AI tasks or LLMs can be moved to dedicated GPU-equipped hardware. HaRP facilitates this by allowing an external Docker host to securely communicate back over WAN via FRP certificates generated automatically inside the primary /certs/frp storage path. Finalizing Integration inside Nextcloud Admin UI Inside were not just audio files
Historically, administrators leveraging Nextcloud’s AppAPI were forced to implement a complex, security-sensitive tool known as . While DSP successfully allowed Nextcloud to orchestrate microservice containers, it suffered from two massive architectural pain points:
| Method | Time (Germany to Virginia) | Server Load | Bandwidth Cost | | :--- | :--- | :--- | :--- | | | 18 minutes | 100% CPU (PHP-FPM) | High (Server egress) | | Nextcloud + Harp | 6 minutes | 5% CPU (Signaling only) | Zero (P2P egress) | A typical NGINX configuration block might look like
HaRP is a specialized reverse proxy system designed to sit between your main web server (like Nginx or Apache) and individual External Apps. While traditional Nextcloud apps are written in PHP and run within the core server process, are standalone microservices—often written in Python, Rust, or Go—that run in their own Docker containers. HaRP serves two primary functions:
HaRP sits behind your main reverse proxy (e.g., Nginx, Apache) and acts as the specialized traffic controller for AppAPI.
Historically, managing these separate container runtimes relied on the . While functional, DSP suffered from critical flaws: