From af5bd0fa633de4cad61453f6aa4ed46874210d61 Mon Sep 17 00:00:00 2001 From: Darrell Date: Mon, 7 Oct 2024 18:44:55 -0400 Subject: [PATCH] Update Dockerfile --- Dockerfile | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/Dockerfile b/Dockerfile index 64ea5b68..6df385b9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,33 +1,37 @@ -FROM mcr.microsoft.com/dotnet/sdk:8.0-bookworm-slim-amd64 as build-env +# Build stage +FROM mcr.microsoft.com/dotnet/sdk:8.0-bookworm-slim-amd64 AS build-env ARG TARGETPLATFORM ARG BUILDPLATFORM -RUN apt-get update \ - && apt-get install -y ca-certificates curl gnupg \ - && mkdir -p /etc/apt/keyrings \ - && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ - && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \ - && apt-get update \ - && apt-get install nodejs -y; +# Install Node.js +RUN apt-get update && apt-get install -y ca-certificates curl gnupg && \ + mkdir -p /etc/apt/keyrings && \ + curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \ + echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \ + apt-get update && \ + apt-get install -y nodejs && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* WORKDIR /App - COPY . ./ -RUN dotnet restore -RUN echo "I am running on ${BUILDPLATFORM}" -RUN echo "building for ${TARGETPLATFORM}" -RUN export TARGETPLATFORM="${TARGETPLATFORM}" +RUN echo "Building on ${BUILDPLATFORM} for ${TARGETPLATFORM}" +RUN dotnet restore RUN dotnet publish -c Release -o out -FROM mcr.microsoft.com/dotnet/aspnet:8.0 +# Runtime stage +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime WORKDIR /App EXPOSE 8267 8268 -ENV ASPNETCORE_URLS "http://+:8267" -ENV OTA_UPDATE_PORT 8268 -ENV CONFIG_DIR "/config/espresense" + +ENV ASPNETCORE_URLS="http://+:8267" \ + OTA_UPDATE_PORT=8268 \ + CONFIG_DIR="/config/espresense" + COPY --from=build-env /App/out . + LABEL \ io.hass.version="VERSION" \ io.hass.type="addon" \