mirror of
https://github.com/clearlinux/dockerfiles.git
synced 2026-08-28 13:25:43 +00:00
97385e2349
Signed-off-by: Qi Zheng <qi.zheng@intel.com>
63 lines
1.3 KiB
Docker
63 lines
1.3 KiB
Docker
FROM openfaas/of-watchdog:0.7.2 as watchdog
|
|
|
|
FROM clearlinux/node:12 as ship
|
|
|
|
COPY --from=watchdog /fwatchdog /usr/bin/fwatchdog
|
|
RUN chmod +x /usr/bin/fwatchdog
|
|
|
|
RUN useradd app
|
|
|
|
WORKDIR /root/
|
|
|
|
# install bundles if required
|
|
# PLEASE input bundle line by line
|
|
COPY function/bundles.txt .
|
|
RUN for bundle in $(cat bundles.txt); do \
|
|
swupd bundle-add $bundle $swupd_args; \
|
|
done
|
|
|
|
# Turn down the verbosity to default level.
|
|
ENV NPM_CONFIG_LOGLEVEL warn
|
|
|
|
# Wrapper/boot-strapper
|
|
WORKDIR /home/app
|
|
COPY package.json ./
|
|
|
|
# This ordering means the npm installation is cached for the outer function handler.
|
|
RUN npm i
|
|
|
|
# Copy outer function handler
|
|
COPY index.js ./
|
|
|
|
# COPY function node packages and install, adding this as a separate
|
|
# entry allows caching of npm install
|
|
WORKDIR /home/app/function
|
|
COPY function/*.json ./
|
|
RUN npm i || :
|
|
|
|
# COPY function files and folders
|
|
COPY function/ ./
|
|
|
|
# Set correct permissions to use non root user
|
|
WORKDIR /home/app/
|
|
|
|
# chmod for tmp is for a buildkit issue (@alexellis)
|
|
RUN chown app:app -R /home/app \
|
|
&& chmod 777 /tmp
|
|
|
|
USER app
|
|
|
|
ENV cgi_headers="true"
|
|
ENV fprocess="node index.js"
|
|
ENV mode="http"
|
|
ENV upstream_url="http://127.0.0.1:3000"
|
|
|
|
ENV exec_timeout="10s"
|
|
ENV write_timeout="15s"
|
|
ENV read_timeout="15s"
|
|
|
|
HEALTHCHECK --interval=3s CMD [ -e /tmp/.lock ] || exit 1
|
|
|
|
CMD ["fwatchdog"]
|
|
|