From 778f9fd9ebf1f58046fc4d7e0445225d22791d79 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Thu, 2 Jan 2025 20:21:33 +0100 Subject: [PATCH] Add prefix for v4 back --- back/.env.example | 5 +++++ back/src/Kyoo.Core/Program.cs | 3 ++- docker-compose.build.yml | 9 +++------ docker-compose.dev.yml | 9 +++------ docker-compose.yml | 9 +++------ 5 files changed, 16 insertions(+), 19 deletions(-) create mode 100644 back/.env.example diff --git a/back/.env.example b/back/.env.example new file mode 100644 index 00000000..300fc286 --- /dev/null +++ b/back/.env.example @@ -0,0 +1,5 @@ +# vi: ft=sh +# shellcheck disable=SC2034 + +# http route prefix (will listen to $KYOO_PREFIX/movie for example) +KYOO_PREFIX="" diff --git a/back/src/Kyoo.Core/Program.cs b/back/src/Kyoo.Core/Program.cs index 49afbd5c..9233e8cb 100644 --- a/back/src/Kyoo.Core/Program.cs +++ b/back/src/Kyoo.Core/Program.cs @@ -17,7 +17,6 @@ // along with Kyoo. If not, see . using System; -using Kyoo.Abstractions.Controllers; using Kyoo.Authentication; using Kyoo.Core; using Kyoo.Core.Controllers; @@ -28,6 +27,7 @@ using Kyoo.RabbitMq; using Kyoo.Swagger; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Serilog; @@ -85,6 +85,7 @@ builder.ConfigureRabbitMq(); WebApplication app = builder.Build(); CoreModule.Services = app.Services; +app.UsePathBase(new PathString(builder.Configuration.GetValue("KYOO_PREFIX", ""))); app.UseHsts(); app.UseKyooOpenApi(); app.UseResponseCompression(); diff --git a/docker-compose.build.yml b/docker-compose.build.yml index 44f31a7e..b8d41a12 100644 --- a/docker-compose.build.yml +++ b/docker-compose.build.yml @@ -37,9 +37,6 @@ services: labels: - "traefik.enable=true" - "traefik.http.routers.api.rule=PathPrefix(`/api/`)" - - "traefik.http.routers.api.middlewares=api-sp" - - "traefik.http.middlewares.api-sp.stripprefix.prefixes=/api" - - "traefik.http.middlewares.api-sp.stripprefix.forceSlash=false" migrations: build: @@ -56,7 +53,7 @@ services: build: ./front restart: on-failure environment: - - KYOO_URL=${KYOO_URL:-http://back:5000} + - KYOO_URL=${KYOO_URL:-http://back:5000/api} labels: - "traefik.enable=true" - "traefik.http.routers.front.rule=PathPrefix(`/`)" @@ -86,7 +83,7 @@ services: env_file: - ./.env environment: - - KYOO_URL=${KYOO_URL:-http://back:5000} + - KYOO_URL=${KYOO_URL:-http://back:5000/api} volumes: - ${LIBRARY_ROOT}:/video:ro @@ -100,7 +97,7 @@ services: env_file: - ./.env environment: - - KYOO_URL=${KYOO_URL:-http://back:5000} + - KYOO_URL=${KYOO_URL:-http://back:5000/api} autosync: build: ./autosync diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 79523ac4..931c7896 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -49,9 +49,6 @@ services: labels: - "traefik.enable=true" - "traefik.http.routers.api.rule=PathPrefix(`/api/`)" - - "traefik.http.routers.api.middlewares=api-sp" - - "traefik.http.middlewares.api-sp.stripprefix.prefixes=/api" - - "traefik.http.middlewares.api-sp.stripprefix.forceSlash=false" migrations: build: @@ -80,7 +77,7 @@ services: - "8081:8081" restart: on-failure environment: - - KYOO_URL=${KYOO_URL:-http://back:5000} + - KYOO_URL=${KYOO_URL:-http://back:5000/api} labels: - "traefik.enable=true" - "traefik.http.routers.front.rule=PathPrefix(`/`)" @@ -114,7 +111,7 @@ services: env_file: - ./.env environment: - - KYOO_URL=${KYOO_URL:-http://back:5000} + - KYOO_URL=${KYOO_URL:-http://back:5000/api} volumes: - ${LIBRARY_ROOT}:/video:ro @@ -128,7 +125,7 @@ services: env_file: - ./.env environment: - - KYOO_URL=${KYOO_URL:-http://back:5000} + - KYOO_URL=${KYOO_URL:-http://back:5000/api} autosync: build: ./autosync diff --git a/docker-compose.yml b/docker-compose.yml index 8ede436e..c4392ff4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -38,9 +38,6 @@ services: labels: - "traefik.enable=true" - "traefik.http.routers.api.rule=PathPrefix(`/api/`)" - - "traefik.http.routers.api.middlewares=api-sp" - - "traefik.http.middlewares.api-sp.stripprefix.prefixes=/api" - - "traefik.http.middlewares.api-sp.stripprefix.forceSlash=false" migrations: image: ghcr.io/zoriya/kyoo_migrations:edge @@ -55,7 +52,7 @@ services: image: ghcr.io/zoriya/kyoo_front:edge restart: unless-stopped environment: - - KYOO_URL=${KYOO_URL:-http://back:5000} + - KYOO_URL=${KYOO_URL:-http://back:5000/api} labels: - "traefik.enable=true" - "traefik.http.routers.front.rule=PathPrefix(`/`)" @@ -69,7 +66,7 @@ services: env_file: - ./.env environment: - - KYOO_URL=${KYOO_URL:-http://back:5000} + - KYOO_URL=${KYOO_URL:-http://back:5000/api} volumes: - ${LIBRARY_ROOT}:/video:ro @@ -83,7 +80,7 @@ services: env_file: - ./.env environment: - - KYOO_URL=${KYOO_URL:-http://back:5000} + - KYOO_URL=${KYOO_URL:-http://back:5000/api} autosync: image: ghcr.io/zoriya/kyoo_autosync:edge