From e7beb5c75b557f2a35bb0d690cd31aedfb411942 Mon Sep 17 00:00:00 2001 From: Nicholas Penree Date: Mon, 23 Dec 2024 10:21:59 -0500 Subject: [PATCH] fix(setup): use traefik port/version from env --- packages/server/src/setup/server-setup.ts | 9 ++++++--- packages/server/src/setup/traefik-setup.ts | 8 +++++--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/packages/server/src/setup/server-setup.ts b/packages/server/src/setup/server-setup.ts index d68bed6f..57aa7cc3 100644 --- a/packages/server/src/setup/server-setup.ts +++ b/packages/server/src/setup/server-setup.ts @@ -7,6 +7,9 @@ import { } from "@dokploy/server/services/deployment"; import { findServerById } from "@dokploy/server/services/server"; import { + TRAEFIK_PORT, + TRAEFIK_SSL_PORT, + TRAEFIK_VERSION, getDefaultMiddlewares, getDefaultServerTraefikConfig, } from "@dokploy/server/setup/traefik-setup"; @@ -510,7 +513,7 @@ export const createTraefikInstance = () => { echo "Traefik already exists ✅" else # Create the dokploy-traefik service - TRAEFIK_VERSION=3.1.2 + TRAEFIK_VERSION=${TRAEFIK_VERSION} docker service create \ --name dokploy-traefik \ --replicas 1 \ @@ -520,8 +523,8 @@ export const createTraefikInstance = () => { --mount type=bind,src=/etc/dokploy/traefik/dynamic,dst=/etc/dokploy/traefik/dynamic \ --mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \ --label traefik.enable=true \ - --publish mode=host,target=443,published=443 \ - --publish mode=host,target=80,published=80 \ + --publish mode=host,target=${TRAEFIK_SSL_PORT},published=${TRAEFIK_SSL_PORT} \ + --publish mode=host,target=${TRAEFIK_PORT},published=${TRAEFIK_PORT} \ traefik:v$TRAEFIK_VERSION echo "Traefik version $TRAEFIK_VERSION installed ✅" fi diff --git a/packages/server/src/setup/traefik-setup.ts b/packages/server/src/setup/traefik-setup.ts index 5e994dd2..270a4447 100644 --- a/packages/server/src/setup/traefik-setup.ts +++ b/packages/server/src/setup/traefik-setup.ts @@ -8,9 +8,11 @@ import { getRemoteDocker } from "../utils/servers/remote-docker"; import type { FileConfig } from "../utils/traefik/file-types"; import type { MainTraefikConfig } from "../utils/traefik/types"; -const TRAEFIK_SSL_PORT = +export const TRAEFIK_SSL_PORT = Number.parseInt(process.env.TRAEFIK_SSL_PORT!, 10) || 443; -const TRAEFIK_PORT = Number.parseInt(process.env.TRAEFIK_PORT!, 10) || 80; +export const TRAEFIK_PORT = + Number.parseInt(process.env.TRAEFIK_PORT!, 10) || 80; +export const TRAEFIK_VERSION = process.env.TRAEFIK_VERSION || "3.1.2"; interface TraefikOptions { enableDashboard?: boolean; @@ -30,7 +32,7 @@ export const initializeTraefik = async ({ additionalPorts = [], }: TraefikOptions = {}) => { const { MAIN_TRAEFIK_PATH, DYNAMIC_TRAEFIK_PATH } = paths(!!serverId); - const imageName = "traefik:v3.1.2"; + const imageName = `traefik:v${TRAEFIK_VERSION}`; const containerName = "dokploy-traefik"; const settings: CreateServiceOptions = { Name: containerName,