Compare commits

..

No commits in common. "8c605ba902cdf5845de501e601391be0ecdda440" and "8e11008d58e98c32a4e163ddcfc41c32082bf443" have entirely different histories.

8 changed files with 34 additions and 57 deletions

View file

@ -21,7 +21,5 @@
**/obj
**/secrets.dev.yaml
**/values.dev.yaml
**/*.db*
**/docker_data
LICENSE
README.md
README.md

View file

@ -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"]

View file

@ -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<Setting>()

23
FreeTubeSync/Dockerfile Normal file
View file

@ -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"]

View file

@ -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<DataContext>(options =>
options.UseSqlite(builder.Configuration.GetConnectionString("FreeTubeSync")));
builder.Services.AddDbContext<DataContext>();
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<DataContext>())
{
try
{
await dbContext.Database.MigrateAsync();
}
catch (Exception e)
{
await dbContext.Database.EnsureCreatedAsync();
}
}
app.Run();

View file

@ -1,7 +1,4 @@
{
"ConnectionStrings": {
"FreeTubeSync": "Data Source=../data/FreeTubeSync.db"
},
"Logging": {
"LogLevel": {
"Default": "Information",

View file

@ -1,7 +1,4 @@
{
"ConnectionStrings": {
"FreeTubeSync": "Data Source=/app/data/FreeTubeSync.db"
},
"Logging": {
"LogLevel": {
"Default": "Information",

View file

@ -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