diff --git a/apps/master-api/src/config.ts b/apps/master-api/src/config.ts index d4ad676..c2c0727 100644 --- a/apps/master-api/src/config.ts +++ b/apps/master-api/src/config.ts @@ -12,7 +12,10 @@ const configSchema = z.object({ TMDB_API_KEY: z.string().optional(), PUBLIC_URL: z.string().url().default("http://localhost:3000"), /** Base URL shown on TV for /link (often admin UI). Falls back to PUBLIC_URL. */ - CLIENT_LINK_BASE_URL: z.string().url().optional(), + CLIENT_LINK_BASE_URL: z.preprocess( + (v) => (typeof v === "string" && v.trim() === "" ? undefined : v), + z.string().url().optional() + ), PLAYBACK_IDLE_TIMEOUT_SECONDS: z.coerce.number().default(1200), PLAYBACK_ABSOLUTE_LIFETIME_SECONDS: z.coerce.number().default(43200), NODE_HEARTBEAT_INTERVAL_SECONDS: z.coerce.number().default(30), diff --git a/deploy/docker/docker-compose.dokploy.yml b/deploy/docker/docker-compose.dokploy.yml index 806b3dc..1d6b172 100644 --- a/deploy/docker/docker-compose.dokploy.yml +++ b/deploy/docker/docker-compose.dokploy.yml @@ -51,6 +51,8 @@ services: ADMIN_EMAIL: ${ADMIN_EMAIL:-admin@localhost} ADMIN_PASSWORD: ${ADMIN_PASSWORD:-changeme123} PUBLIC_URL: ${PUBLIC_URL:-https://master.vonas.nl} + # Koppel-URL in apps (/link). Zonder dit valt de API terug op PUBLIC_URL (master). + CLIENT_LINK_BASE_URL: ${CLIENT_LINK_BASE_URL:-https://admin.vonas.nl} TMDB_API_KEY: ${TMDB_API_KEY:-} PLAYBACK_IDLE_TIMEOUT_SECONDS: ${PLAYBACK_IDLE_TIMEOUT_SECONDS:-1200} PLAYBACK_ABSOLUTE_LIFETIME_SECONDS: ${PLAYBACK_ABSOLUTE_LIFETIME_SECONDS:-43200}