46 lines
1.7 KiB
Docker
46 lines
1.7 KiB
Docker
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build-env
|
|
|
|
WORKDIR /App
|
|
|
|
# Copy everything
|
|
COPY . ./
|
|
# Restore as distinct layers
|
|
RUN dotnet restore
|
|
# Build and publish a release
|
|
RUN dotnet publish -c Release -o out
|
|
|
|
# Build runtime image
|
|
FROM mcr.microsoft.com/dotnet/aspnet:7.0
|
|
#RUN apt-get update -yq && apt-get upgrade -yq && apt-get install -yq npm
|
|
|
|
#####################
|
|
#PUPPETEER RECIPE
|
|
#####################
|
|
# Install latest chrome dev package and fonts to support major charsets (Chinese, Japanese, Arabic, Hebrew, Thai and a few others)
|
|
# Note: this installs the necessary libs to make the bundled version of Chromium that Puppeteer
|
|
# installs, work.
|
|
#ARG CHROME_VERSION="121.0.6167.139"
|
|
RUN apt-get update && apt-get -f install && apt-get -y install wget gnupg2 apt-utils
|
|
RUN wget --no-verbose -O /tmp/chrome.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
|
|
&& apt-get update \
|
|
&& apt-get install -y /tmp/chrome.deb --no-install-recommends --allow-downgrades fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf \
|
|
&& rm /tmp/chrome.deb
|
|
|
|
# Add user, so we don't need --no-sandbox.
|
|
# same layer as npm install to keep re-chowned files from using up several hundred MBs more space
|
|
RUN groupadd -r pptruser && useradd -r -g pptruser -G audio,video pptruser \
|
|
&& mkdir -p /home/pptruser/Downloads \
|
|
&& chown -R pptruser:pptruser /home/pptruser
|
|
|
|
# Run everything after as non-privileged user.
|
|
USER pptruser
|
|
#####################
|
|
#END PUPPETEER RECIPE
|
|
#####################
|
|
|
|
ENV PUPPETEER_EXECUTABLE_PATH "/usr/bin/google-chrome-stable"
|
|
|
|
WORKDIR /App
|
|
COPY --from=build-env /App/out .
|
|
ENTRYPOINT ["dotnet", "AAIntegration.SimmonsBank.API.dll"]
|