diff options
Diffstat (limited to 'f3s/minvid/docker-image/Dockerfile')
| -rw-r--r-- | f3s/minvid/docker-image/Dockerfile | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/f3s/minvid/docker-image/Dockerfile b/f3s/minvid/docker-image/Dockerfile new file mode 100644 index 0000000..2967aaa --- /dev/null +++ b/f3s/minvid/docker-image/Dockerfile @@ -0,0 +1,46 @@ +# Build frontend +FROM node:20-alpine AS frontend-builder +WORKDIR /build +RUN apk add --no-cache git +RUN git clone https://github.com/Ludvigaman/MinVid.git . +WORKDIR /build/MinVid +RUN npm install && npm run build + +# Build API +FROM mcr.microsoft.com/dotnet/sdk:8.0-alpine AS api-builder +WORKDIR /build +RUN apk add --no-cache git +RUN git clone https://github.com/Ludvigaman/MinVid.git . +WORKDIR /build/MinVid-API +RUN dotnet publish -c Release -o /app/publish + +# Final image +FROM mcr.microsoft.com/dotnet/aspnet:8.0-alpine + +ENV PUID=1000 +ENV PGID=1000 + +RUN apk add --no-cache bash su-exec ffmpeg + +WORKDIR /app + +# Copy API +COPY --from=api-builder /app/publish . + +# Copy frontend dist +COPY --from=frontend-builder /build/MinVid/dist ./wwwroot + +EXPOSE 80 + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +ENTRYPOINT ["/entrypoint.sh"] +CMD ["dotnet", "MinVid.dll"] + +HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ + CMD wget -qO- http://127.0.0.1:80/health || exit 0 + +VOLUME /app/data + +LABEL maintainer="MinVid Contributors" |
