From 65a8190ce88275bbdad58843b3ba2064acdcc728 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Mon, 29 Mar 2021 00:15:12 +0200 Subject: [PATCH] Creating a docker-compose --- Kyoo/Extensions.cs | 17 +++++++++++++++++ Kyoo/Kyoo.csproj | 2 +- Kyoo/Startup.cs | 8 ++++---- Kyoo/appsettings.json | 17 +++++++++++++---- Kyoo/regexTester.sh | 5 ----- docker-compose.yml | 26 ++++++++++++++++++++++++++ 6 files changed, 61 insertions(+), 14 deletions(-) create mode 100644 Kyoo/Extensions.cs delete mode 100755 Kyoo/regexTester.sh create mode 100644 docker-compose.yml diff --git a/Kyoo/Extensions.cs b/Kyoo/Extensions.cs new file mode 100644 index 00000000..b5ae5faa --- /dev/null +++ b/Kyoo/Extensions.cs @@ -0,0 +1,17 @@ +using System.Data.Common; +using Microsoft.Extensions.Configuration; + +namespace Kyoo +{ + public static class Extensions + { + public static string GetDatabaseConnection(this IConfiguration config) + { + DbConnectionStringBuilder builder = new(); + IConfigurationSection section = config.GetSection("Database"); + foreach (IConfigurationSection child in section.GetChildren()) + builder[child.Key] = child.Value; + return builder.ConnectionString; + } + } +} \ No newline at end of file diff --git a/Kyoo/Kyoo.csproj b/Kyoo/Kyoo.csproj index b0630342..5be7ba1d 100644 --- a/Kyoo/Kyoo.csproj +++ b/Kyoo/Kyoo.csproj @@ -98,7 +98,7 @@ - + diff --git a/Kyoo/Startup.cs b/Kyoo/Startup.cs index 0ff5577f..dc28f787 100644 --- a/Kyoo/Startup.cs +++ b/Kyoo/Startup.cs @@ -58,14 +58,14 @@ namespace Kyoo services.AddDbContext(options => { - options.UseNpgsql(_configuration.GetConnectionString("Database")); + options.UseNpgsql(_configuration.GetDatabaseConnection()); // .EnableSensitiveDataLogging() // .UseLoggerFactory(LoggerFactory.Create(builder => builder.AddConsole())); }, ServiceLifetime.Transient); services.AddDbContext(options => { - options.UseNpgsql(_configuration.GetConnectionString("Database")); + options.UseNpgsql(_configuration.GetDatabaseConnection()); }); string assemblyName = typeof(Startup).GetTypeInfo().Assembly.GetName().Name; @@ -89,13 +89,13 @@ namespace Kyoo .AddConfigurationStore(options => { options.ConfigureDbContext = builder => - builder.UseNpgsql(_configuration.GetConnectionString("Database"), + builder.UseNpgsql(_configuration.GetDatabaseConnection(), sql => sql.MigrationsAssembly(assemblyName)); }) .AddOperationalStore(options => { options.ConfigureDbContext = builder => - builder.UseNpgsql(_configuration.GetConnectionString("Database"), + builder.UseNpgsql(_configuration.GetDatabaseConnection(), sql => sql.MigrationsAssembly(assemblyName)); options.EnableTokenCleanup = true; }) diff --git a/Kyoo/appsettings.json b/Kyoo/appsettings.json index 3cc8f735..c49df121 100644 --- a/Kyoo/appsettings.json +++ b/Kyoo/appsettings.json @@ -3,6 +3,18 @@ "public_url": "http://localhost:5000/", "http_port": 5000, "https_port": 44300, + + "Database": { + "Server": "127.0.0.1", + "Port": "5432", + "Database": "kyooDB", + "User Id": "kyoo", + "Password": "kyooPassword", + "Pooling": "true", + "MaxPoolSize": "95", + "Timeout": "30" + }, + "Logging": { "LogLevel": { "Default": "Warning", @@ -15,9 +27,6 @@ }, "AllowedHosts": "*", - "ConnectionStrings": { - "Database": "Server=127.0.0.1; Port=5432; Database=kyooDB; User Id=kyoo; Password=kyooPassword; Pooling=true; MaxPoolSize=95; Timeout=30;" - }, "parallelTasks": "1", "scheduledTasks": { @@ -36,4 +45,4 @@ "newUserPermissions": "read,play,write,admin", "regex": "(?:\\/(?.*?))?\\/(?.*?)(?: \\(\\d+\\))?\\/\\k(?: \\(\\d+\\))?(?:(?: S(?\\d+)E(?\\d+))| (?\\d+))?.*$", "subtitleRegex": "^(?.*)\\.(?\\w{1,3})\\.(?default\\.)?(?forced\\.)?.*$" -} \ No newline at end of file +} diff --git a/Kyoo/regexTester.sh b/Kyoo/regexTester.sh deleted file mode 100755 index 2b5317cb..00000000 --- a/Kyoo/regexTester.sh +++ /dev/null @@ -1,5 +0,0 @@ -#! /usr/bin/bash - -REGEX="(?:\/(?.*?))?\/(?.*)(?: \(\d+\))?\/\k(?: \(\d+\))?(?:(?: S(?\d+)E(?\d+))| (?\d+))?.*$" - -find "$1" -type f \( -name '*.mp4' -o -name '*.mkv' \) | cut -c $((${#1} + 1))- | grep -viP "$REGEX" \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..12f4f0ea --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,26 @@ +version: "3.8" + +services: + kyoo: + build: "." + restart: on-failure + environment: + - Database__Server=postgres + ports: + - 80:5000 + depends_on: + - postgres + volumes: + - kyoo:/var/lib/kyoo + postgres: + image: "postgres" + restart: on-failure + environment: + - POSTGRES_USER=kyoo + - POSTGRES_PASSWORD=kyooPassword + volumes: + - db:/var/lib/postgresql/data + +volumes: + kyoo: + db: