diff options
author | Vijay A <vraravam@users.noreply.github.com> | 2022-04-30 04:11:20 -0500 |
---|---|---|
committer | Vijay A <vraravam@users.noreply.github.com> | 2022-04-30 04:11:20 -0500 |
commit | 1fb1423b5beb97cda142dcdc67643c7a60bc5d4c (patch) | |
tree | 0b98b28564796fd844b7501e2c9c9cf9f027b385 | |
parent | update node version to 16.14.2 (#7) (diff) | |
download | ferdium-server-1fb1423b5beb97cda142dcdc67643c7a60bc5d4c.tar.gz ferdium-server-1fb1423b5beb97cda142dcdc67643c7a60bc5d4c.tar.zst ferdium-server-1fb1423b5beb97cda142dcdc67643c7a60bc5d4c.zip |
Minor reformatting of 'Dockerfile' for ease of readability
-rw-r--r-- | Dockerfile | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -2,27 +2,30 @@ FROM node:16.14-alpine as build | |||
2 | 2 | ||
3 | WORKDIR /server-build | 3 | WORKDIR /server-build |
4 | 4 | ||
5 | RUN ["apk", "add", "--no-cache", "python3", "make", "gcc", "g++", "libc-dev", "sqlite-dev"] | 5 | RUN apk add --no-cache python3 make gcc g++ libc-dev sqlite-dev |
6 | 6 | ||
7 | COPY . /server-build | 7 | COPY . /server-build |
8 | 8 | ||
9 | RUN npm i -g npm@8.7.0 | 9 | RUN npm i -g npm@8.7.0 |
10 | RUN ["npm", "ci", "--production", "--build-from-source", "--sqlite=/usr/local"] | 10 | RUN npm ci --production --build-from-source --sqlite=/usr/local |
11 | 11 | ||
12 | # ---- RUNTIME IMAGE ---------------------------------------------------------- | ||
12 | FROM node:16.4-alpine | 13 | FROM node:16.4-alpine |
13 | 14 | ||
14 | WORKDIR /app | 15 | WORKDIR /app |
15 | LABEL maintainer="ferdium" | 16 | LABEL maintainer="ferdium" |
16 | 17 | ||
18 | # TODO: Shouldn't we set 'NODE_ENV=production' when running in production mode? | ||
17 | ENV HOST=0.0.0.0 PORT=3333 DATA_DIR="/data" | 19 | ENV HOST=0.0.0.0 PORT=3333 DATA_DIR="/data" |
18 | 20 | ||
19 | RUN ["apk", "add", "--no-cache", "sqlite-libs", "curl", "su-exec"] | 21 | RUN apk add --no-cache sqlite-libs curl su-exec |
20 | 22 | ||
21 | COPY --from=build /server-build /app | 23 | COPY --from=build /server-build /app |
22 | RUN ["npm", "i", "-g", "@adonisjs/cli"] | 24 | RUN npm i -g @adonisjs/cli |
23 | 25 | ||
24 | HEALTHCHECK --start-period=5s --interval=30s --retries=5 --timeout=3s CMD curl -sSf http://localhost:${PORT}/health | 26 | HEALTHCHECK --start-period=5s --interval=30s --retries=5 --timeout=3s CMD curl -sSf http://localhost:${PORT}/health |
25 | 27 | ||
26 | COPY docker/entrypoint.sh /entrypoint.sh | 28 | COPY docker/entrypoint.sh /entrypoint.sh |
27 | COPY docker/.env /app/.env | 29 | COPY docker/.env /app/.env |
30 | |||
28 | CMD ["/entrypoint.sh"] | 31 | CMD ["/entrypoint.sh"] |