-
Notifications
You must be signed in to change notification settings - Fork 2
/
Dockerfile
40 lines (26 loc) · 916 Bytes
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# builder image
FROM node:14-alpine AS builder
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm i -g npm && npm ci --no-optional
COPY . .
RUN npm run build
# production image
FROM node:14-alpine
ENV NODE_ENV=production
WORKDIR /app
COPY package*.json ./
RUN npm i -g npm && npm ci --no-optional &&\
npm cache clean --force
COPY --from=builder /usr/src/app/build ./build/
EXPOSE 9100
CMD [ "node", "build/index.js" ]
# Metadata
LABEL org.opencontainers.image.vendor="Authkeys" \
org.opencontainers.image.url="https://theo.authkeys.io" \
org.opencontainers.image.source="https://github.com/theoapp/theo-node" \
org.opencontainers.image.title="Theo Server" \
org.opencontainers.image.description="The authorized keys manager" \
org.opencontainers.image.version="1.3.0" \
org.opencontainers.image.documentation="https://theoapp.readthedocs.io" \
org.opencontainers.image.licenses='Apache-2.0'