initial setup
This commit is contained in:
49
Dockerfile
Normal file
49
Dockerfile
Normal file
@ -0,0 +1,49 @@
|
||||
ARG CONFIG_DIRECTORY_ARG=/config
|
||||
ARG CERT_PASSWORD_FILE_ARG=$CONFIG_DIRECTORY_ARG/password
|
||||
FROM mcr.microsoft.com/dotnet/sdk:8.0-alpine-amd64 AS build-env
|
||||
ARG CERT_PASSWORD_FILE_ARG
|
||||
ENV CERT_PASSWORD_FILE=$CERT_PASSWORD_FILE_ARG
|
||||
ARG CONFIG_DIRECTORY_ARG
|
||||
ENV CONFIG_DIRECTORY=$CONFIG_DIRECTORY_ARG
|
||||
RUN mkdir $CONFIG_DIRECTORY \
|
||||
&& apk upgrade --update-cache --available \
|
||||
&& apk add openssl \
|
||||
&& 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
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/aspnet:8.0-alpine-amd64
|
||||
ARG CERT_PASSWORD_FILE_ARG
|
||||
ENV CERT_PASSWORD_FILE=$CERT_PASSWORD_FILE_ARG
|
||||
ARG CONFIG_DIRECTORY_ARG
|
||||
ENV CONFIG_DIRECTORY=$CONFIG_DIRECTORY_ARG
|
||||
ENV DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
ENV ASPNETCORE_ENVIRONMENT=Production
|
||||
ENV ASPNETCORE_URLS=http://+:80;https://+:443
|
||||
ENV CERTIFICATES_DIRECTORY=/usr/local/share/ca-certificates
|
||||
ENV ASPNETCORE_Kestrel__Certificates__Default__Path=$CERTIFICATES_DIRECTORY/aspnetapp.crt
|
||||
ENV ASPNETCORE_Kestrel__Certificates__Default__KeyPath=$CERTIFICATES_DIRECTORY/aspnetapp.key
|
||||
ENV TZ = Europe/Brussels
|
||||
RUN apk update \
|
||||
&& apk upgrade --available \
|
||||
&& apk add ca-certificates \
|
||||
&& apk add tzdata \
|
||||
&& rm -rf /var/cache/apk/* \
|
||||
&& mkdir -p $CERTIFICATES_DIRECTORY \
|
||||
&& mkdir -p $CONFIG_DIRECTORY
|
||||
COPY --from=build-env $CONFIG_DIRECTORY $CONFIG_DIRECTORY
|
||||
RUN CERT_PASSWORD=$(cat $CERT_PASSWORD_FILE) \
|
||||
&& cp $CONFIG_DIRECTORY/aspnetapp.pem $ASPNETCORE_Kestrel__Certificates__Default__Path \
|
||||
&& cp $CONFIG_DIRECTORY/aspnetapp.key $ASPNETCORE_Kestrel__Certificates__Default__KeyPath \
|
||||
&& rm -rf $CONFIG_DIRECTORY \
|
||||
&& chmod 755 $ASPNETCORE_Kestrel__Certificates__Default__Path \
|
||||
&& chmod +x $ASPNETCORE_Kestrel__Certificates__Default__Path \
|
||||
&& cat $ASPNETCORE_Kestrel__Certificates__Default__Path >> /etc/ssl/certs/ca-certificates.crt \
|
||||
&& chmod 755 $ASPNETCORE_Kestrel__Certificates__Default__KeyPath \
|
||||
&& chmod +x $ASPNETCORE_Kestrel__Certificates__Default__KeyPath \
|
||||
&& update-ca-certificates
|
||||
ENV ASPNETCORE_Kestrel__Certificates__Default__Password=$CERT_PASSWORD
|
||||
|
||||
EXPOSE 80
|
||||
EXPOSE 443
|
Reference in New Issue
Block a user