diff --git a/.dockerignore b/.dockerignore index bb2c94f..38bece4 100644 --- a/.dockerignore +++ b/.dockerignore @@ -21,7 +21,5 @@ **/obj **/secrets.dev.yaml **/values.dev.yaml -**/*.db* -**/docker_data LICENSE -README.md +README.md \ No newline at end of file diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 6ceb29e..0000000 --- a/Dockerfile +++ /dev/null @@ -1,25 +0,0 @@ -FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base -USER $APP_UID -WORKDIR /app -EXPOSE 8080 - -FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build -ARG BUILD_CONFIGURATION=Release -WORKDIR /src -COPY ["FreeTubeSync/FreeTubeSync.csproj", "FreeTubeSync/"] -RUN dotnet restore "FreeTubeSync/FreeTubeSync.csproj" -COPY . . -WORKDIR "/src/FreeTubeSync" -RUN dotnet build "./FreeTubeSync.csproj" -c $BUILD_CONFIGURATION -o /app/build - -FROM build AS publish -ARG BUILD_CONFIGURATION=Release -RUN dotnet publish "./FreeTubeSync.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false - -FROM base AS final -WORKDIR /app -COPY --from=publish /app/publish . -RUN mkdir data -RUN chmod a+rw data -VOLUME /app/data -ENTRYPOINT ["dotnet", "FreeTubeSync.dll"] diff --git a/FreeTubeSync/Database/DataContext.cs b/FreeTubeSync/Database/DataContext.cs index e4810d1..61b74f9 100644 --- a/FreeTubeSync/Database/DataContext.cs +++ b/FreeTubeSync/Database/DataContext.cs @@ -10,6 +10,11 @@ public class DataContext : DbContext } + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + { + optionsBuilder.UseSqlite("Data Source=FreeTubeSync.db"); + } + protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity() diff --git a/FreeTubeSync/Dockerfile b/FreeTubeSync/Dockerfile new file mode 100644 index 0000000..362d62c --- /dev/null +++ b/FreeTubeSync/Dockerfile @@ -0,0 +1,23 @@ +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base +USER $APP_UID +WORKDIR /app +EXPOSE 8080 +EXPOSE 8081 + +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build +ARG BUILD_CONFIGURATION=Release +WORKDIR /src +COPY ["FreeTubeSync2/FreeTubeSync2.csproj", "FreeTubeSync2/"] +RUN dotnet restore "FreeTubeSync2/FreeTubeSync2.csproj" +COPY . . +WORKDIR "/src/FreeTubeSync2" +RUN dotnet build "./FreeTubeSync2.csproj" -c $BUILD_CONFIGURATION -o /app/build + +FROM build AS publish +ARG BUILD_CONFIGURATION=Release +RUN dotnet publish "./FreeTubeSync2.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false + +FROM base AS final +WORKDIR /app +COPY --from=publish /app/publish . +ENTRYPOINT ["dotnet", "FreeTubeSync2.dll"] diff --git a/FreeTubeSync/Program.cs b/FreeTubeSync/Program.cs index 8f93e25..6643e4a 100644 --- a/FreeTubeSync/Program.cs +++ b/FreeTubeSync/Program.cs @@ -1,15 +1,13 @@ using FreeTubeSync; using FreeTubeSync.Database; using FreeTubeSync.EndPoints; -using Microsoft.EntityFrameworkCore; var builder = WebApplication.CreateBuilder(args); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); -builder.Services.AddDbContext(options => - options.UseSqlite(builder.Configuration.GetConnectionString("FreeTubeSync"))); +builder.Services.AddDbContext(); builder.Services.AddScoped(typeof(IRepository<>), typeof(Repository<>)); @@ -23,17 +21,4 @@ app.MapProfileEndpoints(); app.MapSearchHistoryEndpoints(); app.MapSettingEndpoints(); -await using(var serviceScope = app.Services.CreateAsyncScope()) -await using (var dbContext = serviceScope.ServiceProvider.GetRequiredService()) -{ - try - { - await dbContext.Database.MigrateAsync(); - } - catch (Exception e) - { - await dbContext.Database.EnsureCreatedAsync(); - } -} - app.Run(); \ No newline at end of file diff --git a/FreeTubeSync/appsettings.Development.json b/FreeTubeSync/appsettings.Development.json index 2bb5f2c..0c208ae 100644 --- a/FreeTubeSync/appsettings.Development.json +++ b/FreeTubeSync/appsettings.Development.json @@ -1,7 +1,4 @@ { - "ConnectionStrings": { - "FreeTubeSync": "Data Source=../data/FreeTubeSync.db" - }, "Logging": { "LogLevel": { "Default": "Information", diff --git a/FreeTubeSync/appsettings.json b/FreeTubeSync/appsettings.json index cbd653d..10f68b8 100644 --- a/FreeTubeSync/appsettings.json +++ b/FreeTubeSync/appsettings.json @@ -1,7 +1,4 @@ { - "ConnectionStrings": { - "FreeTubeSync": "Data Source=/app/data/FreeTubeSync.db" - }, "Logging": { "LogLevel": { "Default": "Information", diff --git a/compose.yaml b/compose.yaml index 9bb9544..2e88c89 100644 --- a/compose.yaml +++ b/compose.yaml @@ -1,10 +1,7 @@ services: - freetubesync: - image: freetubesync + freetubesync2: + image: freetubesync2 build: context: . - dockerfile: FreeTubeSync/Dockerfile - ports: - - "8080:8080" - volumes: - - ./docker_data:/data + dockerfile: FreeTubeSync2/Dockerfile +