divan/Dockerfile
Anas Rashid 6bbd650741 Diwan: make env config work, ur-PK locale, own-site links relative
- 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>
2026-10-04 23:32:16 +02:00

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