Dokploy / Dokploy/dokploy

Wildcard domain support (*.example.com) not working

Open
#3,941 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

To Reproduce
Description

Wildcard domains (e.g., *.example.com) defined in the Domains section do not work. Navigating to sub.example.com is not routed to the correct service.

Root Cause

Dokploy generates Traefik router rules using Host() matcher which requires exact match. Wildcard routing requires HostRegexp() in Traefik v3.

Steps to Reproduce
  1. Add a domain with host *.example.com
  2. Enable HTTPS with Let's Encrypt
  3. Try to access app.example.com → not routed
Current vs. Expected behavior

Current:

  • Host(*.example.com) ← does not match sub.example.com

Expected:

  • HostRegexp(^.+.example.com$) ← matches any subdomain
  • Wildcard domains are routed correctly to the service
  • DNS Challenge is automatically used for wildcard SSL certificates
  • Users are guided to configure their DNS provider credentials
Provide environment information
- OS: Any (Linux VPS - Ubuntu 22.04+)
- Dokploy Version: All versions
- Deployment Type: Docker Swarm / Docker Standalone
- Traefik Version: 3.x (bundled with Dokploy)
Which area(s) are affected? (Select all that apply)

Traefik

Are you deploying the applications where Dokploy is installed or on a remote server?

Remote server

Additional context

Wildcard SSL certificates require DNS Challenge. The existing letsencrypt resolver uses HTTP Challenge which cannot issue wildcard certificates.

Will you send a PR to fix 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

Start in packages/server/src/utils/traefik/domain.ts around the Host() matcher and trace how wildcard domains and the existing letsencrypt resolver are configured. Done means subdomains route to the correct service, wildcard certificates use DNS Challenge, and users are guided to provide DNS provider credentials.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, typescript
Domain
devops, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.