43 lines
899 B
Docker
Raw Normal View History

2025-01-17 16:04:37 +01:00
FROM openfaas/classic-watchdog:0.3.1 as watchdog
FROM dart:3.6.0 AS build
# Allows you to add additional packages via build-arg
ARG ADDITIONAL_PACKAGE
RUN apt-get update -qy \
&& apt-get install -qy ca-certificates ${ADDITIONAL_PACKAGE} --no-install-recommends \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
COPY --from=watchdog /fwatchdog /usr/bin/fwatchdog
RUN chmod +x /usr/bin/fwatchdog
# Add non root user
RUN addgroup --system app && adduser --system --group app
RUN mkdir -p /home/app
WORKDIR /home/app
COPY bin /home/app/bin
COPY pubspec.yaml .
RUN chown -R app /home/app
COPY function function
RUN pub get
RUN pub get --offline
WORKDIR /home/app/function/
RUN pub get && pub get --offline
RUN chown -R app /home/app
USER app
ENV fprocess="dart /home/app/bin/main.dart"
EXPOSE 8080
HEALTHCHECK --interval=3s CMD [ -e /tmp/.lock ] || exit 1
CMD ["fwatchdog"]