Skip to content

docs(android): document Coolify pairing behind basic auth - #123

Merged
andrasbacsai merged 1 commit into
mainfrom
cursor/android-app-docs-f87a
Nov 15, 2026
Merged

andrasbacsai merged 1 commit into
mainfrom
cursor/android-app-docs-f87a

Conversation

@andrasbacsai

Copy link
Copy Markdown
Member

Why

Coolify's HTTPS hostname reaches this image through nginx, which asks for HTTP basic auth before the gateway sees the WebSocket. The official Android app can be given a public wss address while the gateway stays on loopback, and it still cannot send that nginx login.

Refs #118

What changed

  • Added a Coolify Android pairing page, on the same pattern as the Mac guide.
  • Linked that page from the README beside the Mac app links.

Scope

Covers the public WebSocket address, pairing URL setup, the two credentials, and interim options that leave basic auth in place. The Android client, nginx, and AUTH_PASSWORD behavior stay as they are.

Tradeoffs

The interim options are the phone browser, the Mac app's SSH transport, and Tailscale with its VPN-switching cost. Clearing the nginx password, and publishing the raw gateway port, were rejected.

Blast Radius

Documentation only. A deploy of this commit does not change a running gateway.

Verification

  • Read issue 118, upstream issue 122215, and PR 162247. The pull request is open, merged is false, and its last update was 2026-11-04 (rechecked 2026-11-15). GatewayProxyAuth.kt is HTTP 404 on the default branch, v2026.10.10, v2026.11.3, and v2026.11.5-beta.3.
  • Confirmed gateway.publicOrigin, the loopback QR error, and the --url override in OpenClaw v2026.11.3 (the fallback text is also in v2026.10.10). This repo has no dedicated env var for that key. Grep of scripts/configure.js, scripts/entrypoint.sh, and the Dockerfiles matches the keys, paths, and ports named in the page. Linked docs pages returned HTTP 200.
  • node scripts/utils.test.js passed 568. node scripts/nginx-bearer.test.js passed 128 after apache2-utils supplied htpasswd. node scripts/docker-cli.test.js passed 46. node scripts/image-update-guard.test.js passed 59.
Open in Web Open in Cursor 

Explain the public wss address, loopback-safe QR setup, and the nginx
login the official Android app cannot send yet.

Co-authored-by: Andras Bacsai <andrasbacsai@users.noreply.github.com>
@andrasbacsai
andrasbacsai marked this pull request as ready for review November 15, 2026 10:57
@andrasbacsai
andrasbacsai merged commit 32adb50 into main Nov 15, 2026
3 checks passed
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