GPT

Форк
0
/
Dockerfile 
64 строки · 1.5 Кб
1
FROM node:18-alpine AS base
2

3
FROM base AS deps
4

5
RUN apk add --no-cache libc6-compat
6

7
WORKDIR /app
8

9
COPY package.json yarn.lock ./
10

11
RUN yarn config set registry 'https://registry.npmmirror.com/'
12
RUN yarn install
13

14
FROM base AS builder
15

16
RUN apk update && apk add --no-cache git
17

18
ENV OPENAI_API_KEY=""
19
ENV GOOGLE_API_KEY=""
20
ENV CODE=""
21

22
WORKDIR /app
23
COPY --from=deps /app/node_modules ./node_modules
24
COPY . .
25

26
RUN yarn build
27

28
FROM base AS runner
29
WORKDIR /app
30

31
RUN apk add proxychains-ng
32

33
ENV PROXY_URL=""
34
ENV OPENAI_API_KEY=""
35
ENV GOOGLE_API_KEY=""
36
ENV CODE=""
37

38
COPY --from=builder /app/public ./public
39
COPY --from=builder /app/.next/standalone ./
40
COPY --from=builder /app/.next/static ./.next/static
41
COPY --from=builder /app/.next/server ./.next/server
42

43
EXPOSE 3000
44

45
CMD if [ -n "$PROXY_URL" ]; then \
46
    export HOSTNAME="0.0.0.0"; \
47
    protocol=$(echo $PROXY_URL | cut -d: -f1); \
48
    host=$(echo $PROXY_URL | cut -d/ -f3 | cut -d: -f1); \
49
    port=$(echo $PROXY_URL | cut -d: -f3); \
50
    conf=/etc/proxychains.conf; \
51
    echo "strict_chain" > $conf; \
52
    echo "proxy_dns" >> $conf; \
53
    echo "remote_dns_subnet 224" >> $conf; \
54
    echo "tcp_read_time_out 15000" >> $conf; \
55
    echo "tcp_connect_time_out 8000" >> $conf; \
56
    echo "localnet 127.0.0.0/255.0.0.0" >> $conf; \
57
    echo "localnet ::1/128" >> $conf; \
58
    echo "[ProxyList]" >> $conf; \
59
    echo "$protocol $host $port" >> $conf; \
60
    cat /etc/proxychains.conf; \
61
    proxychains -f $conf node server.js; \
62
    else \
63
    node server.js; \
64
    fi
65

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.