Dockerfile 1.05 KB
Newer Older
1 2 3
# =========================
# --- BUILD NPM MODULES ---
# =========================
4
FROM node:16-alpine AS build
5 6

RUN apk add yarn g++ make cmake python3 --no-cache
7 8 9 10 11 12 13 14 15 16

WORKDIR /wiki

COPY ./package.json ./package.json

RUN yarn --production --frozen-lockfile --non-interactive --network-timeout 100000

# ===============
# --- Release ---
# ===============
17
FROM node:16-alpine
18 19 20 21 22
LABEL maintainer="requarks.io"

RUN apk add bash curl git openssh gnupg sqlite --no-cache && \
    mkdir -p /wiki && \
    mkdir -p /logs && \
NGPixel's avatar
NGPixel committed
23
    mkdir -p /wiki/data/content && \
24 25 26 27 28
    chown -R node:node /wiki /logs

WORKDIR /wiki

COPY --chown=node:node ./build/assets ./assets
29
COPY --chown=node:node --from=build /wiki/node_modules ./node_modules
30 31 32
COPY --chown=node:node ./server ./server
COPY --chown=node:node ./build/server/views ./server/views
COPY --chown=node:node ./dev/build/config.yml ./config.yml
33
COPY --chown=node:node ./build/package.json ./package.json
34 35 36 37
COPY --chown=node:node ./LICENSE ./LICENSE

USER node

NGPixel's avatar
NGPixel committed
38 39
VOLUME ["/wiki/data/content"]

40
EXPOSE 3000
NGPixel's avatar
NGPixel committed
41
EXPOSE 3443
42 43

CMD ["node", "server"]