hassanalsawadi commited on
Commit
9bddbbc
·
1 Parent(s): 7c91198

Fix dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +97 -3
Dockerfile CHANGED
@@ -1,7 +1,10 @@
1
  # read the doc: https://huggingface.co/docs/hub/spaces-sdks-docker
2
  # you will also find guides on how best to write your Dockerfile
3
 
4
- FROM python:3.9
 
 
 
5
 
6
  WORKDIR /code
7
 
@@ -11,6 +14,97 @@ RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
11
 
12
  COPY . .
13
 
14
- CMD ["apt-get", "install", "nodejs"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
 
16
- CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"]
 
1
  # read the doc: https://huggingface.co/docs/hub/spaces-sdks-docker
2
  # you will also find guides on how best to write your Dockerfile
3
 
4
+
5
+ FROM alpine:3.16
6
+
7
+ ENV NODE_VERSION 19.6.0
8
 
9
  WORKDIR /code
10
 
 
14
 
15
  COPY . .
16
 
17
+ RUN addgroup -g 1000 node \
18
+ && adduser -u 1000 -G node -s /bin/sh -D node \
19
+ && apk add --no-cache \
20
+ libstdc++ \
21
+ && apk add --no-cache --virtual .build-deps \
22
+ curl \
23
+ && ARCH= && alpineArch="$(apk --print-arch)" \
24
+ && case "${alpineArch##*-}" in \
25
+ x86_64) \
26
+ ARCH='x64' \
27
+ CHECKSUM="fcf7c5c876cacabc8d4559ee3d4b7a2de83804e036ba89a80d3bd602f5f6fa97" \
28
+ ;; \
29
+ *) ;; \
30
+ esac \
31
+ && if [ -n "${CHECKSUM}" ]; then \
32
+ set -eu; \
33
+ curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; \
34
+ echo "$CHECKSUM node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - \
35
+ && tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
36
+ && ln -s /usr/local/bin/node /usr/local/bin/nodejs; \
37
+ else \
38
+ echo "Building from source" \
39
+ # backup build
40
+ && apk add --no-cache --virtual .build-deps-full \
41
+ binutils-gold \
42
+ g++ \
43
+ gcc \
44
+ gnupg \
45
+ libgcc \
46
+ linux-headers \
47
+ make \
48
+ python3 \
49
+ # gpg keys listed at https://github.com/nodejs/node#release-keys
50
+ && for key in \
51
+ 4ED778F539E3634C779C87C6D7062848A1AB005C \
52
+ 141F07595B7B3FFE74309A937405533BE57C7D57 \
53
+ 74F12602B6F1C4E913FAA37AD3A89613643B6201 \
54
+ 61FC681DFB92A079F1685E77973F295594EC4689 \
55
+ 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
56
+ C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
57
+ 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 \
58
+ C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C \
59
+ 108F52B48DB57BB0CC439B2997B01419BD92F80A \
60
+ ; do \
61
+ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
62
+ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \
63
+ done \
64
+ && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \
65
+ && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
66
+ && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
67
+ && grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
68
+ && tar -xf "node-v$NODE_VERSION.tar.xz" \
69
+ && cd "node-v$NODE_VERSION" \
70
+ && ./configure \
71
+ && make -j$(getconf _NPROCESSORS_ONLN) V= \
72
+ && make install \
73
+ && apk del .build-deps-full \
74
+ && cd .. \
75
+ && rm -Rf "node-v$NODE_VERSION" \
76
+ && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; \
77
+ fi \
78
+ && rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" \
79
+ && apk del .build-deps \
80
+ # smoke tests
81
+ && node --version \
82
+ && npm --version
83
+
84
+ ENV YARN_VERSION 1.22.19
85
+
86
+ RUN apk add --no-cache --virtual .build-deps-yarn curl gnupg tar \
87
+ && for key in \
88
+ 6A010C5166006599AA17F08146C2130DFD2497F5 \
89
+ ; do \
90
+ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || \
91
+ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; \
92
+ done \
93
+ && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
94
+ && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
95
+ && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
96
+ && mkdir -p /opt \
97
+ && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \
98
+ && ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn \
99
+ && ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg \
100
+ && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
101
+ && apk del .build-deps-yarn \
102
+ # smoke test
103
+ && yarn --version
104
+
105
+ COPY docker-entrypoint.sh /usr/local/bin/
106
+ ENTRYPOINT ["docker-entrypoint.sh"]
107
+
108
+ CMD [ "node" ]
109
 
110
+ CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"]