- AddEnvironmentVariables() where appsettings.json is read directly - JWT ValidIssuer follows RSecurityBackend:ApplicationName (was hard-coded Ganjoor) - deploy/entrypoint.sh: copy settings RSecurityBackend reads only from appsettings.json - Dockerfile: pin SDK 10.0.302 (newer Razor rejects some upstream views) - lang=ur-PK; ganjoor.net own-site links -> relative; api.ganjoor.net -> APIRoot; search.xml - DIWAN.md: first admin password is Test!123 (upstream doc is wrong) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
21 lines
873 B
Docker
21 lines
873 B
Docker
# Diwan: builds RMuseum (API) or GanjooRazor (site) for Linux.
|
|
# The projects target net10.0-windows7.0 (their RSecurityBackend dependency only ships for it), but they
|
|
# only use the plain .NET + ASP.NET Core runtimes, so the framework-dependent output runs on Linux.
|
|
# docker build --build-arg PROJECT=RMuseum .
|
|
# docker build --build-arg PROJECT=GanjooRazor .
|
|
# SDK pinned to RMuseum/global.json: newer Razor compilers (10.0.4xx) reject some upstream views
|
|
FROM mcr.microsoft.com/dotnet/sdk:10.0.302 AS build
|
|
ARG PROJECT
|
|
WORKDIR /src
|
|
COPY . .
|
|
RUN dotnet publish "$PROJECT/$PROJECT.csproj" -c Release -o /app -p:EnableWindowsTargeting=true
|
|
|
|
FROM mcr.microsoft.com/dotnet/aspnet:10.0
|
|
ARG PROJECT
|
|
ENV APP_DLL=$PROJECT.dll ASPNETCORE_HTTP_PORTS=8080
|
|
WORKDIR /app
|
|
COPY --from=build /app .
|
|
COPY deploy/entrypoint.sh /entrypoint.sh
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["/entrypoint.sh"]
|