Dokploy / Dokploy/dokploy

[Feature] Native Cloudflare Access (Zero Trust) for published domains

Open
#4,515 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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_hosted Access 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_domain to 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.