30 lines
1.0 KiB
Docker
30 lines
1.0 KiB
Docker
# ── Build Stage ──────────────────────────────────────────────────────────────
|
|
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
|
|
WORKDIR /src
|
|
|
|
# Keine Unterordner mehr beim Kopieren!
|
|
COPY timetracker.csproj ./
|
|
RUN dotnet restore timetracker.csproj
|
|
|
|
COPY . ./
|
|
RUN dotnet publish -c Release -o /app/publish --no-restore
|
|
|
|
# ── Runtime Stage ─────────────────────────────────────────────────────────────
|
|
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS final
|
|
WORKDIR /app
|
|
COPY --from=build /app/publish .
|
|
|
|
# Verzeichnis für die SQLite-Datenbank
|
|
RUN mkdir -p /data
|
|
|
|
ENV ASPNETCORE_HTTP_PORTS=8080
|
|
ENV ASPNETCORE_ENVIRONMENT=Production
|
|
ENV ASPNETCORE_FORWARDEDHEADERS_ENABLED=true
|
|
ENV TIMETRACKER_DB_PATH=/data/timetracker.db
|
|
ENV EnableHttpsRedirect=false
|
|
|
|
EXPOSE 8080
|
|
|
|
VOLUME ["/data"]
|
|
|
|
ENTRYPOINT ["dotnet", "timetracker.dll"] |