Skip to content

docs: shorten the README - #153

Merged
oleksandr-nc merged 2 commits into
mainfrom
docs/readme-shorter
Oct 27, 2026
Merged

oleksandr-nc merged 2 commits into
mainfrom
docs/readme-shorter

Conversation

@oleksandr-nc

Copy link
Copy Markdown
Contributor

The README had grown to about 7,400 words. Large parts repeated the Nextcloud admin manual (the three-host deployment, the daemon registration and its tests) and the developer manual (the ExApp start.sh and FRP steps), and the upgrade notes of 0.4.6 repeated its release notes. It is now about 4,000 words.

Changes

  • Every section is shorter; the reverse proxy examples, environment variables, Kubernetes RBAC manifests, route rules for ExApp authors and troubleshooting stay.
  • The three-host deployment and the ExApp image steps link to the admin and developer manuals.
  • The upgrade notes under HP_SHARED_KEY and HP_EXAPP_BIND_MOUNTS_* keep the recovery steps and link to the 0.4.6 release notes.
  • The route URL rules are shorter and say that a prefix route ^/x(/.*)?$ also covers /x.
  • Corrected: the ban counts refused requests and the statuses a route lists in bruteforce_protection; HP_SHARED_KEY may not contain " or \; a fixed --k8s_upstream_host skips the node lookup only when an ExApp is exposed; the Cloudflare route is exapps/*.
  • Headings that the admin manual links to are kept.

Signed-off-by: Oleksandr Piskun <oleksandr2088@icloud.com>
@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 39 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 36b5586a-a685-48c9-9ce8-163de0ffd82b
Commits

Reviewing files that changed from the base of the PR and between 3409dc8 and af05570.

Files selected for processing: 1
  • README.md
Walkthrough

The README is reorganized into concise setup and operational guidance. It updates deployment and reverse-proxy instructions, environment-variable references, Docker and FRP configuration, Kubernetes permissions, ExApp routing and migration, and local development and troubleshooting steps.

Priority: Normal

Merge Risk: Moderate · previous review 3409d

The documented FRP proxy setup and HTTPS test can fail. Correct the port guidance before merging.

Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed The title "docs: shorten the README" matches the main change. The README is reduced from about 7,400 words to about 4,000 by moving repeated admin and developer manual content into links. The raw summ…
Description check Passed The description states the PR's purpose: the README grew to about 7,400 words, and repeated admin and developer manual content was cut to about 4,000 words. It lists the retained sections, the upgrade…
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Documentation-only edits and deletions within survi…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title "docs: shorten the README" matches the main change. The README is reduced from about 7,400 words to about 4,000 by moving repeated admin and developer manual content into links. The raw summary confirms the README was reorganized into shorter sections. The title is specific and concise and follows a conventional commit prefix.

Full details: Description check

Explanation

The description states the PR's purpose: the README grew to about 7,400 words, and repeated admin and developer manual content was cut to about 4,000 words. It lists the retained sections, the upgrade-note changes, and several corrections. These match the raw summary, which reports reorganized setup guidance, removed deployment examples, and removed Kubernetes RBAC explanations and ExApp integration instructions.

Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2


Review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 1d080be0-3e35-4994-bf47-9ab1fbf8a12b
Commits

Reviewing files that changed from the base of the PR and between 440cfa3 and 3409dc8.

Files selected for processing: 1
  • README.md

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

Comment thread README.md
Comment thread README.md Outdated
Signed-off-by: Oleksandr Piskun <oleksandr2088@icloud.com>
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md
Comment on lines 382 to -764
docker build -t nextcloud-appapi-harp:local .
```

### Deploy HaRP Using the Locally Built Image

```bash
docker run \
-e HP_SHARED_KEY="some_very_secure_password" \
-e NC_INSTANCE_URL="http://nextcloud.local" \
-e HP_LOG_LEVEL="debug" \
-e HP_VERBOSE_START="1" \

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe good to leave the verbose start on since it's a local setup

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Back in #155.

Comment thread README.md
Comment on lines -732 to +374
1. **Install HaRP** on the same Docker Engine that you were using for DSP.
2. **Test Deployment on HaRP** with usual `TestDeploy` button.
3. **Set HaRP as the default deployment daemon** for ExApps.
4. **Remove the ExApps without deleting their data volumes**:
- **Terminal**: Do not use the `--rm-data` option when removing the app.
- **From UI**: Do not use the "Delete data when removing" checkbox.
5. **Install the ExApp**: Install removed ExApps, now they will be installed on `HaRP`.
6. **Remove DSP**: Now DSP (Docker Socket Proxy) can be safely removed.
1. Install HaRP on the Docker Engine that DSP uses, and check it with "Test deploy".
2. Set HaRP as the default deploy daemon.
3. Remove the ExApps but keep their data: no `--rm-data` in the terminal, no "Delete data when removing" in the web interface.
4. Install the ExApps again; they are now deployed through HaRP.
5. Remove DSP.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

previous instructions looked better I think

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Restored as they were in #155.

Comment thread README.md
The developer manual describes how to [adapt an ExApp to HaRP](https://docs.nextcloud.com/server/latest/developer_manual/exapp_development/development_overview/ExAppHarpIntegration.html): the `start.sh` entrypoint from `exapps_dev` and the FRP client in the image. DSP is deprecated and will be removed in Nextcloud 35; an ExApp with HaRP support still works with DSP, so one release serves both. For the routes in your `info.xml`:

## Nextcloud 32: Migrating Existing ExApps from DSP to HaRP
1. List in the `<verb>` of each route every HTTP method it serves, e.g. `GET,POST`. The first route whose URL and verb match a request decides its access level, `HEAD` is allowed wherever `GET` is, and a method that no route of the path lists gets `405 Method Not Allowed`. HaRP 0.4.7 and older, and HaRP with an AppAPI that does not send the verbs, match by URL only, so use different URLs where methods need different access levels.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and HaRP with an AppAPI that does not send the verbs

maybe AppAPI's version can be listed here too

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added in #155: AppAPI sends them from Nextcloud 33.0.11, 34.0.6 and 35.0.3.

@oleksandr-nc
oleksandr-nc merged commit 09a8222 into main Oct 27, 2026
18 checks passed
@oleksandr-nc
oleksandr-nc deleted the docs/readme-shorter branch October 27, 2026 12:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants