
* Add Docker Healthcheck Fixes #635 * Update Dockerfile_light * Update healthcheck.js fix healthcheck output error: "file:///usr/src/app/src/healthcheck.js:1\nvar http = require(\"http\");\n ^\n\nReferenceError: require is not defined in ES module scope, you can use import instead\nThis file is being treated as an ES module because it has a '.js' file extension and '/usr/src/app/package.json' contains \"type\": \"module\". To treat it as a CommonJS script, rename it to use the '.cjs' file extension.\n at file:///usr/src/app/src/healthcheck.js:1:12\n at ModuleJob.run (node:internal/modules/esm/module_job:193:25)\n at async Promise.all (index 0)\n at async ESMLoader.import (node:internal/modules/esm/loader:526:24)\n at async loadESM (node:internal/process/esm_loader:91:5)\n at async handleMainPromise (node:internal/modules/run_main:65:12)\n" * update version Co-authored-by: acalcutt <acalcutt@techidiots.net>
35 lines
902 B
Text
35 lines
902 B
Text
FROM ubuntu:focal
|
|
|
|
ENV \
|
|
NODE_ENV="production" \
|
|
CHOKIDAR_USEPOLLING=1 \
|
|
CHOKIDAR_INTERVAL=500
|
|
|
|
RUN set -ex; \
|
|
export DEBIAN_FRONTEND=noninteractive; \
|
|
groupadd -r node; \
|
|
useradd -r -g node node; \
|
|
apt-get -qq update; \
|
|
apt-get -y --no-install-recommends install \
|
|
ca-certificates \
|
|
wget; \
|
|
wget -qO- https://deb.nodesource.com/setup_16.x | bash; \
|
|
apt-get install -y nodejs; \
|
|
apt-get -y remove wget; \
|
|
apt-get -y --purge autoremove; \
|
|
apt-get clean; \
|
|
rm -rf /var/lib/apt/lists/*;
|
|
|
|
EXPOSE 80
|
|
|
|
RUN mkdir -p /data && chown node:node /data
|
|
VOLUME /data
|
|
WORKDIR /data
|
|
ENTRYPOINT ["/usr/src/app/docker-entrypoint.sh"]
|
|
|
|
RUN mkdir -p /usr/src/app
|
|
COPY / /usr/src/app
|
|
RUN cd /usr/src/app && npm install --omit=dev
|
|
RUN ["chmod", "+x", "/usr/src/app/docker-entrypoint.sh"]
|
|
USER node:node
|
|
HEALTHCHECK CMD node /usr/src/app/src/healthcheck.js
|