haste-server/Dockerfile

67 lines
1.6 KiB
Docker
Raw Normal View History

2022-05-27 15:04:54 +02:00
FROM node:16-slim as base
2020-08-22 17:33:19 +02:00
2022-06-03 11:28:41 +02:00
ARG user node
2022-05-27 15:04:54 +02:00
RUN mkdir /app && chown -R $user:$user /app
USER $user
WORKDIR /app
2020-08-22 17:33:19 +02:00
2022-05-27 15:04:54 +02:00
COPY --chown=$user:$user package.json yarn.lock /app/
RUN yarn install
2020-08-22 17:33:19 +02:00
2022-05-27 15:04:54 +02:00
COPY --chown=$user:$user . /app
2020-08-22 17:33:19 +02:00
ENV STORAGE_TYPE=memcached \
STORAGE_HOST=127.0.0.1 \
STORAGE_PORT=11211\
STORAGE_EXPIRE_SECONDS=2592000\
STORAGE_DB=2 \
2020-08-22 20:43:39 +02:00
STORAGE_AWS_BUCKET= \
STORAGE_AWS_REGION= \
STORAGE_USENAME= \
STORAGE_PASSWORD= \
STORAGE_FILEPATH=
2020-08-22 17:33:19 +02:00
ENV LOGGING_LEVEL=verbose \
LOGGING_TYPE=Console \
LOGGING_COLORIZE=true
ENV HOST=0.0.0.0\
PORT=7777\
KEY_LENGTH=10\
MAX_LENGTH=400000\
STATIC_MAX_AGE=86400\
RECOMPRESS_STATIC_ASSETS=true
ENV KEYGENERATOR_TYPE=phonetic \
KEYGENERATOR_KEYSPACE=
ENV RATELIMITS_NORMAL_TOTAL_REQUESTS=500\
2020-08-22 22:12:54 +02:00
RATELIMITS_NORMAL_EVERY_MILLISECONDS=60000 \
2020-08-22 20:43:39 +02:00
RATELIMITS_WHITELIST_TOTAL_REQUESTS= \
2020-08-22 22:12:54 +02:00
RATELIMITS_WHITELIST_EVERY_MILLISECONDS= \
2020-08-22 17:33:19 +02:00
# comma separated list for the whitelisted \
2020-08-22 20:43:39 +02:00
RATELIMITS_WHITELIST=example1.whitelist,example2.whitelist \
\
2020-08-22 20:43:39 +02:00
RATELIMITS_BLACKLIST_TOTAL_REQUESTS= \
2020-08-22 22:12:54 +02:00
RATELIMITS_BLACKLIST_EVERY_MILLISECONDS= \
2020-08-22 17:33:19 +02:00
# comma separated list for the blacklisted \
RATELIMITS_BLACKLIST=example1.blacklist,example2.blacklist
2020-08-22 17:33:19 +02:00
ENV DOCUMENTS=about=./about.md
EXPOSE ${PORT}
STOPSIGNAL SIGINT
2020-08-22 17:33:19 +02:00
ENTRYPOINT [ "bash", "docker-entrypoint.sh" ]
2022-06-02 10:45:20 +02:00
RUN yarn build:nostatic
2022-05-27 15:04:54 +02:00
COPY static /app/dist/static
HEALTHCHECK --interval=30s --timeout=30s --start-period=5s \
2021-09-10 07:02:26 +02:00
--retries=3 CMD [ "sh", "-c", "echo -n 'curl localhost:7777... '; \
(\
2022-05-27 15:04:54 +02:00
curl -sf localhost:7777 > /dev/null\
2021-09-10 07:02:26 +02:00
) && echo OK || (\
2022-05-27 15:04:54 +02:00
echo Fail && exit 2\
2021-09-10 07:02:26 +02:00
)"]
2022-05-27 15:04:54 +02:00
CMD ["yarn", "start"]