From 883459624edfa967e8d9b65566aa60d60a3ef8a9 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 21 Dec 2024 14:54:14 -0600 Subject: [PATCH 1/2] refactor: update digest --- packages/server/src/services/settings.ts | 36 +++++++++++------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/packages/server/src/services/settings.ts b/packages/server/src/services/settings.ts index 626d6af6..37f7b2ee 100644 --- a/packages/server/src/services/settings.ts +++ b/packages/server/src/services/settings.ts @@ -65,7 +65,6 @@ export const getUpdateData = async (): Promise => { const baseUrl = "https://hub.docker.com/v2/repositories/dokploy/dokploy/tags"; let url: string | null = `${baseUrl}?page_size=100`; let allResults: { digest: string; name: string }[] = []; - while (url) { const response = await fetch(url, { method: "GET", @@ -81,30 +80,29 @@ export const getUpdateData = async (): Promise => { url = data?.next; } - const latestTagDigest = allResults.find( - (t) => t.name === getDokployImageTag(), - )?.digest; + const imageTag = getDokployImageTag(); + const searchedDigest = allResults.find((t) => t.name === imageTag)?.digest; - if (!latestTagDigest) { + if (!searchedDigest) { return DEFAULT_UPDATE_DATA; } - const versionedTag = allResults.find( - (t) => t.digest === latestTagDigest && t.name.startsWith("v"), - ); + if (imageTag === "latest") { + const versionedTag = allResults.find( + (t) => t.digest === searchedDigest && t.name.startsWith("v"), + ); - if (!versionedTag) { - return DEFAULT_UPDATE_DATA; + if (!versionedTag) { + return DEFAULT_UPDATE_DATA; + } + + const { name: latestVersion, digest } = versionedTag; + const updateAvailable = digest !== currentDigest; + + return { latestVersion, updateAvailable }; } - - const { name: latestVersion, digest } = versionedTag; - const updateAvailable = digest !== currentDigest; - - return { latestVersion, updateAvailable }; -}; - -export const getDokployVersion = () => { - // return packageInfo.version; + const updateAvailable = searchedDigest !== currentDigest; + return { latestVersion: imageTag, updateAvailable }; }; interface TreeDataItem { From b2661e453355982f1516568c2bef40a1d8a7a45e Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Sat, 21 Dec 2024 14:58:58 -0600 Subject: [PATCH 2/2] refactor: update --- .../web-server/manage-traefik-ports.tsx | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/apps/dokploy/components/dashboard/settings/web-server/manage-traefik-ports.tsx b/apps/dokploy/components/dashboard/settings/web-server/manage-traefik-ports.tsx index aa9741ce..9641165d 100644 --- a/apps/dokploy/components/dashboard/settings/web-server/manage-traefik-ports.tsx +++ b/apps/dokploy/components/dashboard/settings/web-server/manage-traefik-ports.tsx @@ -49,12 +49,12 @@ interface AdditionalPort { /** * ManageTraefikPorts is a component that provides a modal interface for managing * additional port mappings for Traefik in a Docker Swarm environment. - * + * * Features: * - Add, remove, and edit port mappings * - Configure target port, published port, and publish mode for each mapping * - Persist port configurations through API calls - * + * * @component * @example * ```tsx @@ -121,7 +121,10 @@ export const ManageTraefikPorts = ({ children, serverId }: Props) => {
{additionalPorts.map((port, index) => ( -
+