43 lines
899 B
Docker
43 lines
899 B
Docker
|
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"]
|