You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Docker Compose: missing tls=true label when certificateType is "none" with HTTPS enabled #4018
When configuring a domain on a Docker Compose application with HTTPS enabled and certificateType set to None, Dokploy does not generate the tls=true Traefik label on the websecure router. This causes Traefik to not terminate TLS for that domain, resulting in a 404 for all HTTPS requests, even though the container is running correctly and the custom certificate is being properly used.
Upload a custom certificate in Settings → Certificates
Create a Docker Compose application
Add a domain with: HTTPS: ON / Certificate: None
Deploy the stack
Access the domain over HTTPS
Current vs. Expected behavior
The generated Docker Compose labels should include:
if(entrypoint==="websecure"){if(certificateType==="letsencrypt"){labels.push(`traefik.http.routers.${routerName}.tls.certresolver=letsencrypt`);}elseif(certificateType==="custom"&&customCertResolver){labels.push(`traefik.http.routers.${routerName}.tls.certresolver=${customCertResolver}`);}// Missing: else if (certificateType === "none") { ... }}
Interestingly, regular (non-compose) applications handle this case differently in packages/server/src/utils/traefik/domain.ts, though they set tls = undefined which isn't quite right either for the custom certificate use case.
Activity
dosubot commentedon Mar 17, 2026
Hi @luigigorlero! I'm Dosu and I’m helping the dokploy team.
Thanks for the detailed report! I can confirm this is a bug in Dokploy's label generation.
The issue is in
packages/server/src/utils/docker/domain.ts- whencertificateType="none", the code doesn't add any TLS labels:Interestingly, regular (non-compose) applications handle this case differently in
packages/server/src/utils/traefik/domain.ts, though they settls = undefinedwhich isn't quite right either for the custom certificate use case.The fix would be adding:
This enables TLS without specifying a cert resolver, allowing Traefik to use the custom certificate you uploaded.
To reply, just mention @dosu.
Share context across your team and agents. Try Dosu.
djleonskennedy commentedon Mar 27, 2026
This appears to be a high-severity issue. Do we have any forecast for when it will be fixed?
luigigorlero commentedon Mar 27, 2026
Is it ? It’s a Traefik misconfiguration that is workaroundable with a patch to your compose.
fix(compose): add tls=true label for certificateType 'none' with HTTP…
fix(docker): add tls=true label when certificateType is 'none'
fix: scope tls fix to compose labels, leave traefik file config uncha…
fix: add tls=true label for domains when certificateType is none (#4018…
🚀 Release v0.29.5 (#4475)
🚀 Release v0.29.6 (#4514)
🚀 Release v0.29.8 (#4562)
chore(release): 0.37.0 [skip ci]