[Feature] Native Cloudflare Access (Zero Trust) for published domains
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 37.4k
- Forks
- 3k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 73
Description
What problem will this feature address?
Cloudflare Tunnel (#4309) can publish a domain, but it provides no authentication — anyone with the URL can reach the app. Many self-hosters want to gate internal apps behind Cloudflare Access (Zero Trust) without writing any auth code in the app itself.
Describe the solution you'd like
Build on the Cloudflare Tunnel integration (#4309) to optionally place a published domain behind a Cloudflare Access self-hosted application:
- Per published domain, create a
self_hostedAccess application bound to the host (configurable session duration). - Attach a configurable allow policy via
POST /accounts/{account_id}/access/apps/{app_id}/policies(include rules:email/email_domainto start). - A toggle + simple policy editor in the domain dialog; admin-gated; audit-logged.
- Idempotent create/update/delete tied to the domain lifecycle (including parent cascade deletes); seat-limit warning (Zero Trust free plan = 50 users).
- Tests for the application/policy payloads and cleanup.
Describe alternatives you've considered
Manually creating Access applications/policies in the Cloudflare Zero Trust dashboard after publishing via tunnel — it works, but it is manual, error-prone, and not discoverable from Dokploy.
Additional context
Depends on #4309 (Cloudflare Tunnel). Intended as a focused follow-up PR against canary. Happy to align on the policy model / UX before implementing.
Will you send a PR to implement it?
Yes
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The payload names no repository files or tests; start by reading the Cloudflare Tunnel integration in issue #4309 and the published-domain dialog and lifecycle entry points. Done means optional per-domain Access application and allow policy support, admin-gated UI, audit logging, idempotent cleanup, seat-limit warning, and payload and cleanup tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- authentication, cloud, full-stack, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100