Major architectural upgrade from static HTML site to modern Blazor Web App: - Migrated to .NET 9.0 Blazor Web App framework - Converted home page with 4 gateway cards (Help Desk, App Store, Cloud, SDK) - Added new SDK card linking to comprehensive SDK documentation - Converted SDK documentation page to Blazor component - Updated template download links to nuget.silverlabs.uk repository - Implemented multi-stage Docker build with .NET SDK 9.0 - Created Blazor-optimized nginx configuration - Preserved all original styling and animations - Added .gitignore for Blazor build artifacts Technical changes: - New BlazorApp/ project structure with Components architecture - MainLayout simplified (no default navigation) - CSS ported to wwwroot (styles.css + sdk-styles.css) - Multi-stage Dockerfile: Build with dotnet SDK, serve with nginx - GitLab CI/CD pipeline compatible (auto-detects new Dockerfile) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
30 lines
735 B
Docker
30 lines
735 B
Docker
# Build stage
|
|
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
|
|
WORKDIR /src
|
|
|
|
# Copy project file and restore dependencies
|
|
COPY BlazorApp/SilverLabs.Website.csproj BlazorApp/
|
|
RUN dotnet restore "BlazorApp/SilverLabs.Website.csproj"
|
|
|
|
# Copy all source files
|
|
COPY BlazorApp/ BlazorApp/
|
|
|
|
# Build and publish the application
|
|
WORKDIR /src/BlazorApp
|
|
RUN dotnet publish "SilverLabs.Website.csproj" -c Release -o /app/publish
|
|
|
|
# Runtime stage
|
|
FROM nginx:alpine
|
|
|
|
# Copy the published Blazor app to nginx html directory
|
|
COPY --from=build /app/publish/wwwroot /usr/share/nginx/html
|
|
|
|
# Copy custom nginx configuration
|
|
COPY nginx-blazor.conf /etc/nginx/conf.d/default.conf
|
|
|
|
# Expose port 80
|
|
EXPOSE 80
|
|
|
|
# Start nginx
|
|
CMD ["nginx", "-g", "daemon off;"]
|