update dockerfile and action
All checks were successful
Build docker container / build (release) Successful in 51s

This commit is contained in:
David Claeys 2025-04-01 16:06:12 +02:00
parent 27f976ded5
commit b2ea502343
2 changed files with 8 additions and 7 deletions

View File

@ -39,9 +39,14 @@ jobs:
type=semver,pattern={{raw}} type=semver,pattern={{raw}}
type=sha type=sha
type=semver,pattern={{version}} type=semver,pattern={{version}}
- name: Generate random password for certificate
id: password
run:
echo "secret=$(openssl rand -base64 12)" >> $GITHUB_OUTPUT
- name: Build and push - name: Build and push
uses: https://github.com/docker/build-push-action@v5 uses: https://github.com/docker/build-push-action@v5
with: with:
build-args: CERT_PASSWORD=${{ steps.password.outputs.secret }}
context: . context: .
push: true push: true
tags: ${{ steps.meta.outputs.tags }} tags: ${{ steps.meta.outputs.tags }}

View File

@ -1,24 +1,19 @@
ARG CERT_PASSWORD
ARG DOTNET_SDK_VERSION=9.0.202 ARG DOTNET_SDK_VERSION=9.0.202
ARG DOTNET_RUNTIME_VERSION=9.0.3 ARG DOTNET_RUNTIME_VERSION=9.0.3
ARG ALPINE_VERSION=3.21 ARG ALPINE_VERSION=3.21
ARG CONFIG_DIRECTORY_ARG=/config ARG CONFIG_DIRECTORY_ARG=/config
ARG CERT_PASSWORD_FILE_ARG=$CONFIG_DIRECTORY_ARG/password
FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_SDK_VERSION}-alpine${ALPINE_VERSION}-amd64 AS build-env FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_SDK_VERSION}-alpine${ALPINE_VERSION}-amd64 AS build-env
ARG CERT_PASSWORD_FILE_ARG
ENV CERT_PASSWORD_FILE=$CERT_PASSWORD_FILE_ARG
ARG CONFIG_DIRECTORY_ARG ARG CONFIG_DIRECTORY_ARG
ENV CONFIG_DIRECTORY=$CONFIG_DIRECTORY_ARG ENV CONFIG_DIRECTORY=$CONFIG_DIRECTORY_ARG
ARG CERT_PASSWORD
RUN mkdir $CONFIG_DIRECTORY \ RUN mkdir $CONFIG_DIRECTORY \
&& apk upgrade --update-cache --available \ && apk upgrade --update-cache --available \
&& apk add openssl \ && apk add openssl \
&& rm -rf /var/cache/apk/* \ && rm -rf /var/cache/apk/* \
&& openssl rand -base64 12 >> "$CERT_PASSWORD_FILE" \
&& CERT_PASSWORD=$(cat $CERT_PASSWORD_FILE) \
&& dotnet dev-certs https --export-path /config/aspnetapp.pem --password "$CERT_PASSWORD" --format PEM && dotnet dev-certs https --export-path /config/aspnetapp.pem --password "$CERT_PASSWORD" --format PEM
FROM mcr.microsoft.com/dotnet/aspnet:${DOTNET_RUNTIME_VERSION}-alpine${ALPINE_VERSION}-amd64 FROM mcr.microsoft.com/dotnet/aspnet:${DOTNET_RUNTIME_VERSION}-alpine${ALPINE_VERSION}-amd64
ARG CERT_PASSWORD_FILE_ARG
ENV CERT_PASSWORD_FILE=$CERT_PASSWORD_FILE_ARG
ARG CONFIG_DIRECTORY_ARG ARG CONFIG_DIRECTORY_ARG
ENV CONFIG_DIRECTORY=$CONFIG_DIRECTORY_ARG ENV CONFIG_DIRECTORY=$CONFIG_DIRECTORY_ARG
ENV DOTNET_CLI_TELEMETRY_OPTOUT=1 ENV DOTNET_CLI_TELEMETRY_OPTOUT=1
@ -28,6 +23,7 @@ ENV CERTIFICATES_DIRECTORY=/usr/local/share/ca-certificates
ENV ASPNETCORE_Kestrel__Certificates__Default__Path=$CERTIFICATES_DIRECTORY/aspnetapp.crt ENV ASPNETCORE_Kestrel__Certificates__Default__Path=$CERTIFICATES_DIRECTORY/aspnetapp.crt
ENV ASPNETCORE_Kestrel__Certificates__Default__KeyPath=$CERTIFICATES_DIRECTORY/aspnetapp.key ENV ASPNETCORE_Kestrel__Certificates__Default__KeyPath=$CERTIFICATES_DIRECTORY/aspnetapp.key
ENV TZ=Europe/Brussels ENV TZ=Europe/Brussels
ARG CERT_PASSWORD
RUN apk update \ RUN apk update \
&& apk upgrade --available \ && apk upgrade --available \
&& apk add ca-certificates \ && apk add ca-certificates \