diff --git a/apps/dokploy/components/dashboard/application/domains/columns.tsx b/apps/dokploy/components/dashboard/application/domains/columns.tsx index 518063835..b88443dcc 100644 --- a/apps/dokploy/components/dashboard/application/domains/columns.tsx +++ b/apps/dokploy/components/dashboard/application/domains/columns.tsx @@ -168,7 +168,7 @@ export const createColumns = ({ {domain.certificateType} )} - {!domain.host.includes("traefik.me") && ( + {!domain.host.includes("sslip.io") && ( @@ -256,7 +256,7 @@ export const createColumns = ({ return (
- {!domain.host.includes("traefik.me") && ( + {!domain.host.includes("sslip.io") && ( { const https = form.watch("https"); const domainType = form.watch("domainType"); const host = form.watch("host"); - const isTraefikMeDomain = host?.includes("traefik.me") || false; + const isTraefikMeDomain = host?.includes("sslip.io") || false; useEffect(() => { if (data) { @@ -513,7 +513,7 @@ export const AddDomain = ({ id, type, domainId = "", children }: Props) => { render={({ field }) => ( {!canGenerateTraefikMeDomains && - field.value.includes("traefik.me") && ( + field.value.includes("sslip.io") && ( You need to set an IP address in your{" "} { ? "Remote Servers -> Server -> Edit Server -> Update IP Address" : "Web Server -> Server -> Update Server IP"} {" "} - to make your traefik.me domain work. + to make your sslip.io domain work. )} {isTraefikMeDomain && ( - Note: traefik.me is a public HTTP + Note: sslip.io is a public HTTP service and does not support SSL/HTTPS. HTTPS and certificate options will not have any effect. @@ -567,7 +567,7 @@ export const AddDomain = ({ id, type, domainId = "", children }: Props) => { sideOffset={5} className="max-w-[10rem]" > -

Generate traefik.me domain

+

Generate sslip.io domain

diff --git a/apps/dokploy/components/dashboard/application/domains/show-domains.tsx b/apps/dokploy/components/dashboard/application/domains/show-domains.tsx index e971f9ab7..af8d691c0 100644 --- a/apps/dokploy/components/dashboard/application/domains/show-domains.tsx +++ b/apps/dokploy/components/dashboard/application/domains/show-domains.tsx @@ -425,7 +425,7 @@ export const ShowDomains = ({ id, type }: Props) => { )}
- {!item.host.includes("traefik.me") && ( + {!item.host.includes("sslip.io") && ( { if (data) { @@ -162,7 +162,7 @@ export const AddPreviewDomain = ({ {isTraefikMeDomain && ( - Note: traefik.me is a public HTTP + Note: sslip.io is a public HTTP service and does not support SSL/HTTPS. HTTPS and certificate options will not have any effect. @@ -202,7 +202,7 @@ export const AddPreviewDomain = ({ sideOffset={5} className="max-w-[10rem]" > -

Generate traefik.me domain

+

Generate sslip.io domain

diff --git a/apps/dokploy/components/dashboard/application/preview-deployments/show-preview-settings.tsx b/apps/dokploy/components/dashboard/application/preview-deployments/show-preview-settings.tsx index d2840cd67..13b9a1603 100644 --- a/apps/dokploy/components/dashboard/application/preview-deployments/show-preview-settings.tsx +++ b/apps/dokploy/components/dashboard/application/preview-deployments/show-preview-settings.tsx @@ -88,7 +88,7 @@ export const ShowPreviewSettings = ({ applicationId }: Props) => { const form = useForm({ defaultValues: { env: "", - wildcardDomain: "*.traefik.me", + wildcardDomain: "*.sslip.io", port: 3000, previewLimit: 3, previewLabels: [], @@ -102,7 +102,7 @@ export const ShowPreviewSettings = ({ applicationId }: Props) => { const previewHttps = form.watch("previewHttps"); const wildcardDomain = form.watch("wildcardDomain"); - const isTraefikMeDomain = wildcardDomain?.includes("traefik.me") || false; + const isTraefikMeDomain = wildcardDomain?.includes("sslip.io") || false; useEffect(() => { setIsEnabled(data?.isPreviewDeploymentsActive || false); @@ -114,7 +114,7 @@ export const ShowPreviewSettings = ({ applicationId }: Props) => { env: data.previewEnv || "", buildArgs: data.previewBuildArgs || "", buildSecrets: data.previewBuildSecrets || "", - wildcardDomain: data.previewWildcard || "*.traefik.me", + wildcardDomain: data.previewWildcard || "*.sslip.io", port: data.previewPort || 3000, previewLabels: data.previewLabels || [], previewLimit: data.previewLimit || 3, @@ -173,7 +173,7 @@ export const ShowPreviewSettings = ({ applicationId }: Props) => {
{isTraefikMeDomain && ( - Note: traefik.me is a public HTTP service and + Note: sslip.io is a public HTTP service and does not support SSL/HTTPS. HTTPS and certificate options will not have any effect. @@ -192,7 +192,7 @@ export const ShowPreviewSettings = ({ applicationId }: Props) => { Wildcard Domain - + diff --git a/apps/dokploy/templates/utils/index.ts b/apps/dokploy/templates/utils/index.ts index d7b967110..5dc0e15bc 100644 --- a/apps/dokploy/templates/utils/index.ts +++ b/apps/dokploy/templates/utils/index.ts @@ -29,7 +29,7 @@ export const generateRandomDomain = ({ const hash = randomBytes(3).toString("hex"); const slugIp = serverIp.replaceAll(".", "-"); - return `${projectName}-${hash}${slugIp === "" ? "" : `-${slugIp}`}.traefik.me`; + return `${projectName}-${hash}${slugIp === "" ? "" : `-${slugIp}`}.sslip.io`; }; export const generateHash = (projectName: string, quantity = 3): string => { diff --git a/packages/server/src/services/ai.ts b/packages/server/src/services/ai.ts index 6e90d82d0..61451b15e 100644 --- a/packages/server/src/services/ai.ts +++ b/packages/server/src/services/ai.ts @@ -229,7 +229,7 @@ export const suggestVariants = async ({ Domain Rules - For each service that needs to be exposed to the internet: 1. Define a domain with: - - host: {service-name}-{random-3-chars-hex}-${ip ? ip.replaceAll(".", "-") : ""}.traefik.me + - host: {service-name}-{random-3-chars-hex}-${ip ? ip.replaceAll(".", "-") : ""}.sslip.io - port: the internal port the service runs on - serviceName: the name of the service in the docker-compose 2. Make sure the service is properly configured to work with the specified port diff --git a/packages/server/src/services/preview-deployment.ts b/packages/server/src/services/preview-deployment.ts index 1556afbc4..20f64259b 100644 --- a/packages/server/src/services/preview-deployment.ts +++ b/packages/server/src/services/preview-deployment.ts @@ -136,7 +136,7 @@ export const createPreviewDeployment = async ( where: eq(organization.id, application.environment.project.organizationId), }); const generateDomain = await generateWildcardDomain( - application.previewWildcard || "*.traefik.me", + application.previewWildcard || "*.sslip.io", appName, application.server?.ipAddress || "", org?.ownerId || "", @@ -238,7 +238,7 @@ const generateWildcardDomain = async ( throw new Error('The base domain must start with "*."'); } const hash = `${appName}`; - if (baseDomain.includes("traefik.me")) { + if (baseDomain.includes("sslip.io")) { let ip = ""; if (process.env.NODE_ENV === "development") { diff --git a/packages/server/src/templates/index.ts b/packages/server/src/templates/index.ts index db67cb36f..772a95c64 100644 --- a/packages/server/src/templates/index.ts +++ b/packages/server/src/templates/index.ts @@ -38,15 +38,15 @@ export const generateRandomDomain = ({ const slugIp = serverIp.replaceAll(".", "-").replaceAll(":", "-"); // Domain labels have a max length of 63 characters - // Reserve space for: hash (6) + separators (1-2) + ip section + dot + traefik.me (10) - // Approx: 6 + 2 + (variable ip length) + 11 = ~19-30 chars for other parts + // Reserve space for: hash (6) + separators (1-2) + ip section + dot + sslip.io (8) + // Approx: 6 + 2 + (variable ip length) + 9 = ~19-30 chars for other parts const maxProjectNameLength = 40; const truncatedProjectName = projectName.length > maxProjectNameLength ? projectName.substring(0, maxProjectNameLength) : projectName; - return `${truncatedProjectName}-${hash}${slugIp === "" ? "" : `-${slugIp}`}.traefik.me`; + return `${truncatedProjectName}-${hash}${slugIp === "" ? "" : `-${slugIp}`}.sslip.io`; }; export const generateHash = (length = 8): string => {