From f3d8351208047eb511a75607494601e4d6dfaef1 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Wed, 6 Nov 2024 22:20:19 -0600 Subject: [PATCH] feat(dokploy): add mandaring sponsor --- .github/sponsors/mandarin.png | Bin 0 -> 23079 bytes README.md | 7 +++++-- .../__test__/compose/domain/labels.test.ts | 19 ++++++++++++++++++ packages/server/src/utils/docker/domain.ts | 2 +- 4 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 .github/sponsors/mandarin.png diff --git a/.github/sponsors/mandarin.png b/.github/sponsors/mandarin.png new file mode 100644 index 0000000000000000000000000000000000000000..f76512920db21e02c221299c172702277f01532f GIT binary patch literal 23079 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 Br6B+S literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 2e784812..1c8ef836 100644 --- a/README.md +++ b/README.md @@ -60,12 +60,15 @@ For detailed documentation, visit [docs.dokploy.com](https://docs.dokploy.com). ### Hero Sponsors 🎖 ### Premium Supporters 🥇 diff --git a/apps/dokploy/__test__/compose/domain/labels.test.ts b/apps/dokploy/__test__/compose/domain/labels.test.ts index 5076a204..4123b287 100644 --- a/apps/dokploy/__test__/compose/domain/labels.test.ts +++ b/apps/dokploy/__test__/compose/domain/labels.test.ts @@ -26,11 +26,30 @@ describe("createDomainLabels", () => { "traefik.http.routers.test-app-1-web.entrypoints=web", "traefik.http.services.test-app-1-web.loadbalancer.server.port=8080", "traefik.http.routers.test-app-1-web.service=test-app-1-web", + "traefik.http.routers.test-app-1-web.rule=PathPrefix(`/`)", ]); }); it("should create labels for websecure entrypoint", async () => { const labels = await createDomainLabels(appName, baseDomain, "websecure"); + expect(labels).toEqual([ + "traefik.http.routers.test-app-1-websecure.rule=Host(`example.com`)", + "traefik.http.routers.test-app-1-websecure.entrypoints=websecure", + "traefik.http.services.test-app-1-websecure.loadbalancer.server.port=8080", + "traefik.http.routers.test-app-1-websecure.service=test-app-1-websecure", + "traefik.http.routers.test-app-1-websecure.rule=PathPrefix(`/`)", + ]); + }); + + it("shouldn't add the path prefix if is empty", async () => { + const labels = await createDomainLabels( + appName, + { + ...baseDomain, + path: "", + }, + "websecure", + ); expect(labels).toEqual([ "traefik.http.routers.test-app-1-websecure.rule=Host(`example.com`)", "traefik.http.routers.test-app-1-websecure.entrypoints=websecure", diff --git a/packages/server/src/utils/docker/domain.ts b/packages/server/src/utils/docker/domain.ts index 090bf02e..a065f31c 100644 --- a/packages/server/src/utils/docker/domain.ts +++ b/packages/server/src/utils/docker/domain.ts @@ -268,7 +268,7 @@ export const createDomainLabels = async ( `traefik.http.routers.${routerName}.service=${routerName}`, ]; - if (domain.path && domain.path.length > 0 && domain.path !== "/") { + if (domain.path) { labels.push( `traefik.http.routers.${routerName}.rule=PathPrefix(\`${domain.path}\`)`, );