Files
soroush.asadi 1b3a8b493e
deploy / deploy (push) Failing after 1m21s
Rewrite: Next.js → ASP.NET Core 10 Razor Pages
Full rewrite of the portfolio site from Next.js 14 to .NET 10:

- ASP.NET Core 10 Razor Pages, no Node.js dependency
- EF Core 10 + SQLite (same schema as before — data survives upgrade)
- Cookie authentication (same single-password model)
- Resend contact form via HttpClient
- Bilingual FA/EN via locale cookie + BasePageModel
- All UI ported to Razor Pages with Tailwind CDN + custom CSS
- Vanilla JS: particles, typewriter, cursor, animations, portfolio modal
- Dockerfile: SDK 10.0-alpine → aspnet 10.0-alpine (no npm/Node needed)
- CI/CD: dropped NPM_TOKEN, ADMIN_SESSION_SECRET — pure dotnet publish

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 07:46:56 +03:30

39 lines
1.3 KiB
Docker

ARG DOTNET_IMAGE=mcr.microsoft.com/dotnet/aspnet:10.0-alpine
ARG SDK_IMAGE=mcr.microsoft.com/dotnet/sdk:10.0-alpine
# ── Build ─────────────────────────────────────────────────────────────────────
FROM ${SDK_IMAGE} AS build
WORKDIR /src
COPY SoroushAsadi.Web.csproj ./
RUN dotnet restore --runtime linux-musl-x64
COPY . .
RUN dotnet publish SoroushAsadi.Web.csproj \
--no-restore \
--runtime linux-musl-x64 \
--self-contained false \
-c Release \
-o /app/publish
# ── Runtime ───────────────────────────────────────────────────────────────────
FROM ${DOTNET_IMAGE} AS runner
WORKDIR /app
RUN apk add --no-cache ca-certificates \
&& addgroup -g 1001 dotnet \
&& adduser -u 1001 -G dotnet -h /home/dotnet -D dotnet
COPY --from=build /app/publish ./
ENV ASPNETCORE_ENVIRONMENT=Production \
ASPNETCORE_URLS=http://+:3000 \
DataDir=/data
RUN mkdir -p /data/uploads && chown -R dotnet:dotnet /data /app
USER dotnet
VOLUME ["/data"]
EXPOSE 3000
ENTRYPOINT ["dotnet", "SoroushAsadi.Web.dll"]