diff --git a/back/Dockerfile b/back/Dockerfile index 07d8ef8b..f45ae157 100644 --- a/back/Dockerfile +++ b/back/Dockerfile @@ -10,13 +10,11 @@ COPY Kyoo.sln ./Kyoo.sln COPY nuget.config ./nuget.config COPY src/Directory.Build.props src/Directory.Build.props COPY src/Kyoo.Authentication/Kyoo.Authentication.csproj src/Kyoo.Authentication/Kyoo.Authentication.csproj -COPY src/Kyoo.TheMovieDb/Kyoo.TheMovieDb.csproj src/Kyoo.TheMovieDb/Kyoo.TheMovieDb.csproj COPY src/Kyoo.Abstractions/Kyoo.Abstractions.csproj src/Kyoo.Abstractions/Kyoo.Abstractions.csproj COPY src/Kyoo.Core/Kyoo.Core.csproj src/Kyoo.Core/Kyoo.Core.csproj COPY src/Kyoo.Host/Kyoo.Host.csproj src/Kyoo.Host/Kyoo.Host.csproj COPY src/Kyoo.Postgresql/Kyoo.Postgresql.csproj src/Kyoo.Postgresql/Kyoo.Postgresql.csproj COPY src/Kyoo.Swagger/Kyoo.Swagger.csproj src/Kyoo.Swagger/Kyoo.Swagger.csproj -COPY src/Kyoo.TheTvdb/Kyoo.TheTvdb.csproj src/Kyoo.TheTvdb/Kyoo.TheTvdb.csproj COPY tests/Kyoo.Tests/Kyoo.Tests.csproj tests/Kyoo.Tests/Kyoo.Tests.csproj RUN dotnet restore @@ -31,5 +29,5 @@ COPY --from=transcoder /transcoder/libtranscoder.so /app WORKDIR /kyoo EXPOSE 5000 -CMD ["/app/Kyoo.Host"] +CMD /app/Kyoo.Host diff --git a/back/Dockerfile.dev b/back/Dockerfile.dev index 46aad6ac..6e5b2ffa 100644 --- a/back/Dockerfile.dev +++ b/back/Dockerfile.dev @@ -12,13 +12,11 @@ COPY Kyoo.sln ./Kyoo.sln COPY nuget.config ./nuget.config COPY src/Directory.Build.props src/Directory.Build.props COPY src/Kyoo.Authentication/Kyoo.Authentication.csproj src/Kyoo.Authentication/Kyoo.Authentication.csproj -COPY src/Kyoo.TheMovieDb/Kyoo.TheMovieDb.csproj src/Kyoo.TheMovieDb/Kyoo.TheMovieDb.csproj COPY src/Kyoo.Abstractions/Kyoo.Abstractions.csproj src/Kyoo.Abstractions/Kyoo.Abstractions.csproj COPY src/Kyoo.Core/Kyoo.Core.csproj src/Kyoo.Core/Kyoo.Core.csproj COPY src/Kyoo.Host/Kyoo.Host.csproj src/Kyoo.Host/Kyoo.Host.csproj COPY src/Kyoo.Postgresql/Kyoo.Postgresql.csproj src/Kyoo.Postgresql/Kyoo.Postgresql.csproj COPY src/Kyoo.Swagger/Kyoo.Swagger.csproj src/Kyoo.Swagger/Kyoo.Swagger.csproj -COPY src/Kyoo.TheTvdb/Kyoo.TheTvdb.csproj src/Kyoo.TheTvdb/Kyoo.TheTvdb.csproj COPY tests/Kyoo.Tests/Kyoo.Tests.csproj tests/Kyoo.Tests/Kyoo.Tests.csproj RUN dotnet restore @@ -27,5 +25,5 @@ COPY --from=transcoder /transcoder/libtranscoder.so /app WORKDIR /kyoo EXPOSE 5000 ENV DOTNET_USE_POLLING_FILE_WATCHER 1 -CMD ["dotnet", "watch", "run", "--no-restore", "--project", "/app/src/Kyoo.Host"] +CMD dotnet watch run --no-restore --project /app/src/Kyoo.Host diff --git a/back/src/Kyoo.Host/Application.cs b/back/src/Kyoo.Host/Application.cs index baeaec00..3cfb3f04 100644 --- a/back/src/Kyoo.Host/Application.cs +++ b/back/src/Kyoo.Host/Application.cs @@ -23,6 +23,7 @@ using System.Threading; using System.Threading.Tasks; using Autofac; using Autofac.Extensions.DependencyInjection; +using Kyoo.Postgresql; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; @@ -104,6 +105,8 @@ namespace Kyoo.Host .ConfigureContainer(configure) .Build(); + PostgresModule.Initialize(host.Services); + await _StartWithHost(host); } diff --git a/back/src/Kyoo.Postgresql/PostgresModule.cs b/back/src/Kyoo.Postgresql/PostgresModule.cs index b35e2f30..d73bb9bb 100644 --- a/back/src/Kyoo.Postgresql/PostgresModule.cs +++ b/back/src/Kyoo.Postgresql/PostgresModule.cs @@ -61,6 +61,20 @@ namespace Kyoo.Postgresql _environment = env; } + /// + /// Migrate the database. + /// + /// The service list to retrieve the database context + public static void Initialize(IServiceProvider provider) + { + DatabaseContext context = provider.GetRequiredService(); + context.Database.Migrate(); + + using NpgsqlConnection conn = (NpgsqlConnection)context.Database.GetDbConnection(); + conn.Open(); + conn.ReloadTypes(); + } + /// public void Configure(IServiceCollection services) { @@ -82,16 +96,5 @@ namespace Kyoo.Postgresql x.EnableDetailedErrors().EnableSensitiveDataLogging(); }, ServiceLifetime.Transient); } - - /// - public void Initialize(IServiceProvider provider) - { - DatabaseContext context = provider.GetRequiredService(); - context.Database.Migrate(); - - using NpgsqlConnection conn = (NpgsqlConnection)context.Database.GetDbConnection(); - conn.Open(); - conn.ReloadTypes(); - } } }