Dokploy / Dokploy/dokploy

Support custom Traefik entrypoint for Preview Deployments

Open
#4,796 0 comments 1 reaction 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?

Preview Deployments always route through Traefik's default web/websecure entrypoints, with no way to override them.

Regular application domains already expose a Custom Entrypoint control (the useCustomEntrypoint toggle → domains.customEntrypoint), so if your Traefik static config defines additional or custom entrypoints (e.g. a dedicated listener/port), regular services can use them. Preview deployments have no equivalent, so their auto-generated domains are stuck on web/websecure.

Describe the solution you'd like

Add a Custom Entrypoint setting to an application's Preview Deployment configuration, applied automatically to every auto-generated preview domain — mirroring how previewPath, previewPort, previewCertificateType, and previewCustomCertResolver already work as parent-level defaults.

  • New previewCustomEntrypoint value on the application's preview settings.
  • createPreviewDeployment passes it into createDomain, and the existing manageDomain call writes it into the Traefik dynamic config (no manual step).
  • Preview Settings gets a Custom Entrypoint toggle + Entrypoint Name input matching the regular domain form. Empty/off reverts to the default web/websecure.
Describe alternatives you've considered
  • Per-preview override in the preview domain dialog — rejected, because preview domains are ephemeral and auto-created per PR, so a parent-level default is the practical fit (editing each PR's domain by hand doesn't scale).
  • Manually editing the generated Traefik dynamic config — not persistent; it's overwritten on the next deploy
Additional context

The backend already supports customEntrypoint on any domain; this only needs a parent-level default wired through the preview creation path.

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

Start with the existing regular-domain Custom Entrypoint control and the Preview Settings form, then trace createPreviewDeployment through createDomain and the existing manageDomain call. Add the previewCustomEntrypoint setting and pass it through the preview creation path. Done means the setting applies to every generated preview domain, while empty or disabled settings retain the default web/websecure entrypoints.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
backend, devops, frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.