Compare commits
No commits in common. "8c605ba902cdf5845de501e601391be0ecdda440" and "8e11008d58e98c32a4e163ddcfc41c32082bf443" have entirely different histories.
8c605ba902
...
8e11008d58
8 changed files with 34 additions and 57 deletions
|
|
@ -21,7 +21,5 @@
|
||||||
**/obj
|
**/obj
|
||||||
**/secrets.dev.yaml
|
**/secrets.dev.yaml
|
||||||
**/values.dev.yaml
|
**/values.dev.yaml
|
||||||
**/*.db*
|
|
||||||
**/docker_data
|
|
||||||
LICENSE
|
LICENSE
|
||||||
README.md
|
README.md
|
||||||
25
Dockerfile
25
Dockerfile
|
|
@ -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"]
|
|
||||||
|
|
@ -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)
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||||
{
|
{
|
||||||
modelBuilder.Entity<Setting>()
|
modelBuilder.Entity<Setting>()
|
||||||
|
|
|
||||||
23
FreeTubeSync/Dockerfile
Normal file
23
FreeTubeSync/Dockerfile
Normal 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"]
|
||||||
|
|
@ -1,15 +1,13 @@
|
||||||
using FreeTubeSync;
|
using FreeTubeSync;
|
||||||
using FreeTubeSync.Database;
|
using FreeTubeSync.Database;
|
||||||
using FreeTubeSync.EndPoints;
|
using FreeTubeSync.EndPoints;
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
|
|
||||||
var builder = WebApplication.CreateBuilder(args);
|
var builder = WebApplication.CreateBuilder(args);
|
||||||
|
|
||||||
builder.Services.AddEndpointsApiExplorer();
|
builder.Services.AddEndpointsApiExplorer();
|
||||||
builder.Services.AddSwaggerGen();
|
builder.Services.AddSwaggerGen();
|
||||||
|
|
||||||
builder.Services.AddDbContext<DataContext>(options =>
|
builder.Services.AddDbContext<DataContext>();
|
||||||
options.UseSqlite(builder.Configuration.GetConnectionString("FreeTubeSync")));
|
|
||||||
|
|
||||||
builder.Services.AddScoped(typeof(IRepository<>), typeof(Repository<>));
|
builder.Services.AddScoped(typeof(IRepository<>), typeof(Repository<>));
|
||||||
|
|
||||||
|
|
@ -23,17 +21,4 @@ app.MapProfileEndpoints();
|
||||||
app.MapSearchHistoryEndpoints();
|
app.MapSearchHistoryEndpoints();
|
||||||
app.MapSettingEndpoints();
|
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();
|
app.Run();
|
||||||
|
|
@ -1,7 +1,4 @@
|
||||||
{
|
{
|
||||||
"ConnectionStrings": {
|
|
||||||
"FreeTubeSync": "Data Source=../data/FreeTubeSync.db"
|
|
||||||
},
|
|
||||||
"Logging": {
|
"Logging": {
|
||||||
"LogLevel": {
|
"LogLevel": {
|
||||||
"Default": "Information",
|
"Default": "Information",
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,4 @@
|
||||||
{
|
{
|
||||||
"ConnectionStrings": {
|
|
||||||
"FreeTubeSync": "Data Source=/app/data/FreeTubeSync.db"
|
|
||||||
},
|
|
||||||
"Logging": {
|
"Logging": {
|
||||||
"LogLevel": {
|
"LogLevel": {
|
||||||
"Default": "Information",
|
"Default": "Information",
|
||||||
|
|
|
||||||
11
compose.yaml
11
compose.yaml
|
|
@ -1,10 +1,7 @@
|
||||||
services:
|
services:
|
||||||
freetubesync:
|
freetubesync2:
|
||||||
image: freetubesync
|
image: freetubesync2
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: FreeTubeSync/Dockerfile
|
dockerfile: FreeTubeSync2/Dockerfile
|
||||||
ports:
|
|
||||||
- "8080:8080"
|
|
||||||
volumes:
|
|
||||||
- ./docker_data:/data
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue