-
Notifications
You must be signed in to change notification settings - Fork 1
/
Dockerfile
85 lines (71 loc) · 2.37 KB
/
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# Build stage
FROM node:18-alpine AS build
ENV NODE_ENV=production
RUN apk update && \
apk add --no-cache wget && \
wget -qO- https://gobinaries.com/tj/node-prune | sh
WORKDIR /app
COPY package*.json ./
COPY dist ./dist/
COPY tls ./tls/
RUN npm ci --omit=dev && \
node-prune && \
cd node_modules && \
rm -rf typescript && \
find ./ -type f \( -name "package.json" \
-o -name "collections.json" \
-o -name "collection.json" \
-o -name "migration.json" \
-o -name "migrations.json" \
-o -name "schema.json" \
-o -name "*-lock.json" \
-o -name "*.cjs.map" \
-o -name "*.mjs.map" \
-o -name "*.js.map" \
-o -name "*.ts.map" \
-o -name "*.cts" \
-o -name "*.js.flow" \
-o -name "*tsconfig*.json" \
-o -name "LICENSE*" \
-o -name "*License*.txt" \
-o -name "README*" \
-o -name "*.css" \
-o -name "*.sass" \
-o -name "*.scss" \
-o -name "*.eot" \
-o -name "*.html" \
-o -name "*.jpg" \
-o -name "*.jpeg" \
-o -name "*.less" \
-o -name "*.png" \
-o -name "*.svg" \
-o -name "*.swf" \
-o -name "*.tmpl" \
-o -name "*.template" \
-o -name "*.woff" \
-o -name "*.bazel" \) -exec rm -rf {} \; && \
find ./ -type f \( -name "*" \) -exec chmod 400 {} \; && \
cd /app/dist/fine-tune-forge && \
find ./ -type f \( -name "*" \) -exec chmod 400 {} \; && \
cd /app/tls && \
find ./ -type f \( -name "*" \) -exec chmod 400 {} \;
# Final stage
FROM node:18-alpine
LABEL maintainer="Reyhan Kamil <[email protected]>"
ENV TZ=UTC
ENV NODE_ENV=production
ENV NODE_VERSION=
ENV YARN_VERSION=
RUN apk update && \
apk upgrade && \
rm -rf /var/cache/apk/* /tmp/* /usr/local/*.md /usr/local/LICENSE /usr/local/bin/npm /usr/local/bin/npx /opt/yarn* /usr/local/bin/yarn /usr/local/bin/yarnpkg /usr/local/bin/corepack /usr/local/lib/node_modules
WORKDIR /app
COPY --from=build --chown=node:node /app/node_modules ./node_modules/
COPY --from=build --chown=node:node /app/dist ./dist/
COPY --from=build --chown=node:node /app/tls ./tls/
COPY --chown=node:node DATADOC_OCR ./DATADOC_OCR/
COPY --chown=node:node DATASET ./DATASET/
COPY --chown=node:node DATATMP ./DATATMP/
USER node
EXPOSE 12400
CMD ["node", "/app/dist/fine-tune-forge/server/main.js"]