Add prefix for v4 back

This commit is contained in:
Zoe Roux 2025-01-02 20:21:33 +01:00
parent 257ef354c6
commit 778f9fd9eb
No known key found for this signature in database
5 changed files with 16 additions and 19 deletions

5
back/.env.example Normal file
View File

@ -0,0 +1,5 @@
# vi: ft=sh
# shellcheck disable=SC2034
# http route prefix (will listen to $KYOO_PREFIX/movie for example)
KYOO_PREFIX=""

View File

@ -17,7 +17,6 @@
// along with Kyoo. If not, see <https://www.gnu.org/licenses/>. // along with Kyoo. If not, see <https://www.gnu.org/licenses/>.
using System; using System;
using Kyoo.Abstractions.Controllers;
using Kyoo.Authentication; using Kyoo.Authentication;
using Kyoo.Core; using Kyoo.Core;
using Kyoo.Core.Controllers; using Kyoo.Core.Controllers;
@ -28,6 +27,7 @@ using Kyoo.RabbitMq;
using Kyoo.Swagger; using Kyoo.Swagger;
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Serilog; using Serilog;
@ -85,6 +85,7 @@ builder.ConfigureRabbitMq();
WebApplication app = builder.Build(); WebApplication app = builder.Build();
CoreModule.Services = app.Services; CoreModule.Services = app.Services;
app.UsePathBase(new PathString(builder.Configuration.GetValue("KYOO_PREFIX", "")));
app.UseHsts(); app.UseHsts();
app.UseKyooOpenApi(); app.UseKyooOpenApi();
app.UseResponseCompression(); app.UseResponseCompression();

View File

@ -37,9 +37,6 @@ services:
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.api.rule=PathPrefix(`/api/`)" - "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: migrations:
build: build:
@ -56,7 +53,7 @@ services:
build: ./front build: ./front
restart: on-failure restart: on-failure
environment: environment:
- KYOO_URL=${KYOO_URL:-http://back:5000} - KYOO_URL=${KYOO_URL:-http://back:5000/api}
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.front.rule=PathPrefix(`/`)" - "traefik.http.routers.front.rule=PathPrefix(`/`)"
@ -86,7 +83,7 @@ services:
env_file: env_file:
- ./.env - ./.env
environment: environment:
- KYOO_URL=${KYOO_URL:-http://back:5000} - KYOO_URL=${KYOO_URL:-http://back:5000/api}
volumes: volumes:
- ${LIBRARY_ROOT}:/video:ro - ${LIBRARY_ROOT}:/video:ro
@ -100,7 +97,7 @@ services:
env_file: env_file:
- ./.env - ./.env
environment: environment:
- KYOO_URL=${KYOO_URL:-http://back:5000} - KYOO_URL=${KYOO_URL:-http://back:5000/api}
autosync: autosync:
build: ./autosync build: ./autosync

View File

@ -49,9 +49,6 @@ services:
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.api.rule=PathPrefix(`/api/`)" - "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: migrations:
build: build:
@ -80,7 +77,7 @@ services:
- "8081:8081" - "8081:8081"
restart: on-failure restart: on-failure
environment: environment:
- KYOO_URL=${KYOO_URL:-http://back:5000} - KYOO_URL=${KYOO_URL:-http://back:5000/api}
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.front.rule=PathPrefix(`/`)" - "traefik.http.routers.front.rule=PathPrefix(`/`)"
@ -114,7 +111,7 @@ services:
env_file: env_file:
- ./.env - ./.env
environment: environment:
- KYOO_URL=${KYOO_URL:-http://back:5000} - KYOO_URL=${KYOO_URL:-http://back:5000/api}
volumes: volumes:
- ${LIBRARY_ROOT}:/video:ro - ${LIBRARY_ROOT}:/video:ro
@ -128,7 +125,7 @@ services:
env_file: env_file:
- ./.env - ./.env
environment: environment:
- KYOO_URL=${KYOO_URL:-http://back:5000} - KYOO_URL=${KYOO_URL:-http://back:5000/api}
autosync: autosync:
build: ./autosync build: ./autosync

View File

@ -38,9 +38,6 @@ services:
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.api.rule=PathPrefix(`/api/`)" - "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: migrations:
image: ghcr.io/zoriya/kyoo_migrations:edge image: ghcr.io/zoriya/kyoo_migrations:edge
@ -55,7 +52,7 @@ services:
image: ghcr.io/zoriya/kyoo_front:edge image: ghcr.io/zoriya/kyoo_front:edge
restart: unless-stopped restart: unless-stopped
environment: environment:
- KYOO_URL=${KYOO_URL:-http://back:5000} - KYOO_URL=${KYOO_URL:-http://back:5000/api}
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.front.rule=PathPrefix(`/`)" - "traefik.http.routers.front.rule=PathPrefix(`/`)"
@ -69,7 +66,7 @@ services:
env_file: env_file:
- ./.env - ./.env
environment: environment:
- KYOO_URL=${KYOO_URL:-http://back:5000} - KYOO_URL=${KYOO_URL:-http://back:5000/api}
volumes: volumes:
- ${LIBRARY_ROOT}:/video:ro - ${LIBRARY_ROOT}:/video:ro
@ -83,7 +80,7 @@ services:
env_file: env_file:
- ./.env - ./.env
environment: environment:
- KYOO_URL=${KYOO_URL:-http://back:5000} - KYOO_URL=${KYOO_URL:-http://back:5000/api}
autosync: autosync:
image: ghcr.io/zoriya/kyoo_autosync:edge image: ghcr.io/zoriya/kyoo_autosync:edge