to manage external apps. However, DSP had limitations, particularly with real-time features like WebSockets.
Open your preferred web browser and navigate to https://yourdomain.com .
Traditionally, Nextcloud only supported applications written in PHP. The introduction of AppAPI and ExApps changed that, allowing you to install apps as independent Docker containers in virtually any programming language — Python, Node.js, Go, and more. But there was a catch: the legacy Docker Socket Proxy approach was complex, difficult to configure, and couldn't handle WebSocket traffic properly.
add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options "nosniff";
Fill in the values established during Step 2: Database User: nextclouduser Database Password: Your selected secure password Database Name: nextcloud Host: localhost harp nextcloud install
server signer\/user-gpc Use code with caution.
Run the built-in security script to lock down your database installation. Follow the prompts to set a strong root password, remove anonymous accounts, disable remote root logins, and drop the test database: sudo mysql_secure_installation Use code with caution. Step 3: Create the Nextcloud Database Log into the MariaDB shell as the root user: sudo mysql -u root -p Use code with caution.
If you want to run modern, high-performance applications alongside your Nextcloud—like AI backends or real-time collaborative tools—you’ll be dealing with the AppAPI and . However, the old ways of connecting Nextcloud to ExApps came with significant performance bottlenecks and configuration headaches. This is where HaRP changes everything.
sudo ufw allow 'Nginx Full' sudo ufw allow OpenSSH sudo ufw --force enable Use code with caution. to manage external apps
has become the recommended way to manage "ExApps"—external applications that run as microservices outside the main PHP stack.
To allow external traffic to reach your apps through HaRP, add a redirect in your main proxy (e.g., Nginx or Apache) to forward /exapps/ requests to the HaRP container at port 8780.
The HARP stack shifts away from traditional, heavy web stacks by prioritizing lightweight concurrency and high availability. ypertext Transfer Protocol Engine (Nginx or Caddy) A pplication Runtime (PHP-FPM 8.2 or 8.3) R elational Database (MariaDB or PostgreSQL) P roxy & Cache Layer (Redis)
Click the button.
docker run -d \ --name appapi-harp \ -e HP_SHARED_KEY="your_secure_password" \ -e NC_INSTANCE_URL="https://yourdomain.com" \ -p 8780:8780 -p 8782:8782 \ ghcr.io/nextcloud/nextcloud-appapi-harp:release Use code with caution. Copied to clipboard : Handles HTTP/WebSocket traffic. Port 8782 : The FRP server for ExApp tunnels. 2. Register the Daemon in Nextcloud Log in to your Nextcloud instance as an admin. Navigate to Administration settings > AppAPI . Click Register Daemon .
Add the following location block to your Nextcloud server configuration:
ProxyPreserveHost On ProxyPass / https://localhost:4443/ ProxyPassReverse / https://localhost:4443/
sudo apt update sudo apt full-upgrade -y add_header X-Frame-Options "SAMEORIGIN"