feat(proxy): make the Traefik certificate resolver configurable per server

Coolify always added tls.certresolver=letsencrypt to generated HTTPS
routers, so Traefik logged errors when the proxy used its own
certificates (for example Cloudflare Origin CA) without that resolver.
Add a server setting (default letsencrypt) in the proxy page and API.
An empty value omits the resolver from resource labels, the Coolify
dashboard routes, and the catch-all router.

Closes #12138
This commit is contained in:
Andras Bacsai
2026-10-11 10:19:40 +02:00
parent d4502bc514
commit af589f6da4
13 changed files with 339 additions and 28 deletions
+27 -1
View File
@@ -16670,6 +16670,14 @@
"type": "boolean",
"example": false
},
"traefik_certificate_resolver": {
"description": "Traefik certificate resolver for generated HTTPS routers. Null when the proxy uses its own certificates.",
"type": [
"string",
"null"
],
"example": "letsencrypt"
},
"configuration": {
"description": "Docker Compose proxy configuration when stored in the database. Only present with read:sensitive.",
"type": [
@@ -16704,7 +16712,7 @@
"Servers"
],
"summary": "Update server proxy",
"description": "Update proxy redirect settings, exact labels generation, and optionally the proxy type for a team-owned server.",
"description": "Update proxy redirect settings, exact labels generation, the Traefik certificate resolver, and optionally the proxy type for a team-owned server.",
"operationId": "update-server-proxy",
"parameters": [
{
@@ -16736,6 +16744,13 @@
"generate_exact_labels": {
"type": "boolean"
},
"traefik_certificate_resolver": {
"description": "Traefik certificate resolver for generated HTTPS routers (letters, digits, _ and -). Null or empty to use your own certificates. Redeploy resources to apply.",
"type": [
"string",
"null"
]
},
"proxy_type": {
"description": "Proxy type (case-insensitive).",
"type": "string",
@@ -16783,6 +16798,12 @@
"generate_exact_labels": {
"type": "boolean"
},
"traefik_certificate_resolver": {
"type": [
"string",
"null"
]
},
"configuration": {
"type": [
"string",
@@ -24387,6 +24408,11 @@
"off"
]
},
"traefik_certificate_resolver": {
"type": "string",
"nullable": true,
"description": "Traefik certificate resolver for generated HTTPS routers. Null when the proxy uses its own certificates."
},
"is_reachable": {
"type": "boolean"
},