FROM node:16 RUN mkdir -p /usr/src/app && \ chown node:node /usr/src/app USER node:node WORKDIR /usr/src/app COPY --chown=node:node package*.json . RUN npm ci COPY --chown=node:node . . ENV LOGGING_LEVEL=verbose \ LOGGING_TYPE=Console \ LOGGING_COLORIZE=true ENV HOST=0.0.0.0\ PORT=7777\ KEY_LENGTH=10\ MAX_LENGTH=10000000\ STATIC_MAX_AGE=3 ENV KEYGENERATOR_TYPE=phonetic \ KEYGENERATOR_KEYSPACE="" ENV RATELIMITS_NORMAL_TOTAL_REQUESTS=500\ RATELIMITS_NORMAL_EVERY_MILLISECONDS=60000 \ RATELIMITS_WHITELIST_TOTAL_REQUESTS="" \ RATELIMITS_WHITELIST_EVERY_MILLISECONDS="" \ # comma separated list for the whitelisted \ RATELIMITS_WHITELIST=example1.whitelist,example2.whitelist \ \ RATELIMITS_BLACKLIST_TOTAL_REQUESTS="" \ RATELIMITS_BLACKLIST_EVERY_MILLISECONDS="" \ # comma separated list for the blacklisted \ RATELIMITS_BLACKLIST=example1.blacklist,example2.blacklist ENV DOCUMENTS="about=./about.md" EXPOSE ${PORT} STOPSIGNAL SIGINT ENTRYPOINT [ "bash", "docker-entrypoint.sh" ] HEALTHCHECK --interval=30s --timeout=30s --start-period=5s \ --retries=3 CMD [ "sh", "-c", "echo -n 'curl localhost:7777... '; \ (\ curl -sf localhost:7777 > /dev/null\ ) && echo OK || (\ echo Fail && exit 2\ )"] CMD ["npm", "start"]