Dockerfile & actions

This commit is contained in:
Paul Schneider 2026-02-02 00:39:06 +00:00
commit a68287d847
11 changed files with 190 additions and 14 deletions

BIN
.Dockerfile.swp Normal file

Binary file not shown.

View file

@ -0,0 +1,53 @@
# This workflow will build a .NET project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net
name: Dotnet build and test
on:
workflow_dispatch:
inputs:
logLevel:
description: 'Log level'
required: true
default: 'warning'
type: choice
options:
- info
- warning
- debug
tags:
description: 'Test scenario tags'
required: false
type: boolean
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
log-the-inputs:
runs-on: debian-latest
steps:
- run: |
echo "Log level: $LEVEL"
echo "Tags: $TAGS"
echo "Environment: $ENVIRONMENT"
env:
LEVEL: ${{ inputs.logLevel }}
TAGS: ${{ inputs.tags }}
build:
runs-on: debian-latest
steps:
- uses: actions/checkout@v6
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
dotnet-version: 9.0.x
- name: Restore dependencies
run: dotnet restore
- name: Build
run: dotnet build --no-restore
- name: Test
run: dotnet test --no-build --verbosity normal

View file

@ -3,7 +3,6 @@
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="IdentityModel.OidcClient" Version="6.0.0" />
<PackageVersion Include="AsciiDocSharp" Version="0.2.0" />
<PackageVersion Include="AsciiDocSharp.Converters.Html" Version="0.2.0" />
<PackageVersion Include="bootstrap" Version="5.3.7" />
@ -12,11 +11,12 @@
<PackageVersion Include="Google.Apis.Compute.v1" Version="1.70.0.3871" />
<PackageVersion Include="HigginsSoft.IdentityServer8" Version="8.0.5-preview-net9" />
<PackageVersion Include="HigginsSoft.IdentityServer8.AspNetIdentity" Version="8.0.5-preview-net9" />
<PackageVersion Include="HigginsSoft.IdentityServer8.Storage" Version="8.0.5-preview-net9" />
<PackageVersion Include="HigginsSoft.IdentityServer8.EntityFramework.Storage" Version="8.0.5-preview-net9" />
<PackageVersion Include="HigginsSoft.IdentityServer8.EntityFramework" Version="8.0.5-preview-net9" />
<PackageVersion Include="HigginsSoft.IdentityServer8.EntityFramework.Storage" Version="8.0.5-preview-net9" />
<PackageVersion Include="HigginsSoft.IdentityServer8.Security" Version="8.0.5-preview-net9" />
<PackageVersion Include="HigginsSoft.IdentityServer8.Storage" Version="8.0.5-preview-net9" />
<PackageVersion Include="IdentityModel.AspNetCore" Version="4.3.0" />
<PackageVersion Include="IdentityModel.OidcClient" Version="6.0.0" />
<PackageVersion Include="MailKit" Version="4.8.0" />
<PackageVersion Include="Microsoft.AspNetCore.Antiforgery" Version="2.3.0" />
<PackageVersion Include="Microsoft.AspNetCore.Authentication.Google" Version="9.0.7" />

25
Dockerfile Normal file
View file

@ -0,0 +1,25 @@
# syntax=docker/dockerfile:1
# Learn about building .NET container images:
# https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:10.0-alpine AS build
ARG TARGETARCH=amd64
WORKDIR /source
# Copy project file and restore as distinct layers
COPY --link src src
COPY --link Directory.Packages.props .
RUN dotnet nuget add source https://isn.pschneider.fr/v3/index.json
RUN dotnet restore -a $TARGETARCH src/Yavsc/Yavsc.csproj
# Copy source code and publish app
RUN dotnet publish -a $TARGETARCH --no-restore -o /app src/Yavsc/Yavsc.csproj
# Runtime stage
FROM mcr.microsoft.com/dotnet/runtime:10.0-alpine
WORKDIR /app
COPY --link --from=build /app .
USER $APP_UID
ENTRYPOINT ["./Yavsc"]

96
index.html Normal file
View file

@ -0,0 +1,96 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<link rel="icon" type="image/x-icon" href="/favicon.ico?v=ip1EW4Ejoq5lhcZzTRD5r53hRENDE5RZho3VH0a2_sQ" />
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico?v=ip1EW4Ejoq5lhcZzTRD5r53hRENDE5RZho3VH0a2_sQ" />
<link rel="stylesheet" href="/lib/jquery-ui/jquery-ui.min.css">
<link rel="stylesheet" href="/lib/bootstrap/dist/css/bootstrap.min.css?v=PI8n5gCcz9cQqQXm3PEtDuPG8qx9oFsFctPg0S5zb8g" />
<link rel="stylesheet" href="/css/site.css?v=8BfL_GJ7Bh5uZoeC23J-oCP-un22xhlnRidCGp-NdGU" />
<script src="/lib/jquery-ui/external/jquery/jquery.js"></script>
<script src="/lib/jquery-ui/jquery-ui.js"></script>
<script src="/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script src="/js/site.js?v=mpchSU5dFUmcmGL2AYVrLMlUnF_GnVhNpzvq-U87kuI"></script>
<script src="/lib/bootstrap/js/carousel.js?v=f8uXk2JBu2A-xCE25_1_J34GvRKt66vPh4Amu8ofrfA"></script>
<style>
.navbar {
margin-bottom: 0;
}
</style>
</head>
<body style="background-image: url('/images/fogo.jpg');
background-position: 0%;
background-attachment: fixed;
">
<nav class="navbar navbar-expand-sm navbar-dark bg-dark" aria-label="Yavsc">
<a class="navbar-brand" href="#">Lua</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbar" aria-controls="navbar"
aria-expanded="true" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbar" style="background-image: /images/fogo.jpg;">
<ul class="navbar-nav me-auto" >
<li class="nav-item"><a class="nav-link active" aria-current="page" href="/">Home</a></li>
<li class="nav-item"><a class="nav-link" href="/Blogspot">Blogs</a></li>
<li class="nav-item"><a class="nav-link" href="/Home/Contact">Contact</a></li>
<li class="nav-item"><a class="nav-link" href="/Home/About">About</a></li>
<li class="dropdown-item">
<a class="nav-link" href="/Account/Register">Register</a>
</li>
<li class="dropdown-item">
<a class="nav-link" href="/Account/Login?ReturnUrl=~%2F">Login</a>
</li>
</ul>
</div>
</nav>
<div id="myCarousel" class="carousel slide" data-ride="carousel" data-interval="6000">
<div class="carousel-inner" role="listbox">
</div>
</div>
<div b-h7a3lv6qti class="container body-container">
</div>
<footer b-h7a3lv6qti class="border-top footer text-muted">
<div b-h7a3lv6qti class="container">
&copy; WTFPL 2025 - <a href="/Home/Privacy">Privacy</a>
</div>
</footer>
<script>
$(document).ready(function(){
var car = $('.carousel').first();
var fi = car.children('.carousel-inner').first()
.children('.item').first();
var capt = fi.children('.carousel-caption-s');
fi.addClass('active');
car.animate({'background-color':'rgba(0, 0, 0, .5)'},500,function() {
car.animate({'background-color':'rgba(0, 0, 0, 0)'},500)
})
})
</script>
</body>
</html>

View file

@ -1,4 +1,4 @@
using System.Text.Encodings.Web;
using System.Web;
using AsciiDocSharp;
using AsciiDocSharp.Converters.Html;
@ -34,7 +34,9 @@ namespace Yavsc.Helpers
}
}
}
var processor = new AsciiDocProcessor();
var processor = new AsciiDocProcessor(
);
var htmlConverter = new HtmlDocumentConverter();
var document = processor.ParseFromText(text);

View file

@ -20,7 +20,6 @@
<PackageReference Include="HigginsSoft.IdentityServer8.Security" />
<PackageReference Include="HigginsSoft.IdentityServer8.Storage" />
<PackageReference Include="Serilog.AspNetCore" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.Google" />
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" />
<PackageReference Include="Microsoft.AspNetCore.Identity.UI" />

View file

@ -1,4 +1,4 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31903.59
@ -24,6 +24,7 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution items", "Solution items", "{9EB76B06-CA8E-4211-A16D-6646ED584311}"
ProjectSection(SolutionItems) = preProject
Directory.Packages.props = Directory.Packages.props
Directory.Packages.props = Directory.Packages.props
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cli", "src\cli\cli.csproj", "{7311313C-1837-420D-9AB2-E743AF78592A}"