caarleexx commited on
Commit
e2bbff7
·
verified ·
1 Parent(s): 025d826

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +31 -13
Dockerfile CHANGED
@@ -1,33 +1,51 @@
1
  FROM node:20-slim
2
  WORKDIR /app
3
 
4
- # 1. Instalação básica
5
- RUN apt-get update && apt-get install -y git libcurl4
6
 
7
- # 2. Clona o código do chat-ui
8
  RUN git clone https://github.com/huggingface/chat-ui .
9
 
10
  # 3. Instala dependências
11
  RUN npm ci
12
 
13
- # 4. Copia nossos arquivos personalizados para dentro do container
14
- # O .env falso vai permitir o build passar
15
- COPY .env .
16
  COPY adapter.js .
17
  COPY start.sh .
18
-
19
- # 5. Dá permissão para o script de inicialização rodar
20
  RUN chmod +x start.sh
21
 
22
- # 6. Executa o Build (Compilação)
23
- # Usa o .env falso que copiamos acima
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  ENV NODE_OPTIONS="--max-old-space-size=4096"
25
- RUN npm run build
 
 
 
 
26
 
27
- # 7. Configurações Finais
28
  ENV NODE_OPTIONS=""
29
  ENV PORT=7860
30
  EXPOSE 7860
31
 
32
- # 8. Inicia usando nosso script separado
33
  CMD ["./start.sh"]
 
1
  FROM node:20-slim
2
  WORKDIR /app
3
 
4
+ # 1. Instalação
5
+ RUN apt-get update && apt-get install -y git libcurl4 procps
6
 
7
+ # 2. Clona o repositório
8
  RUN git clone https://github.com/huggingface/chat-ui .
9
 
10
  # 3. Instala dependências
11
  RUN npm ci
12
 
13
+ # 4. Copia os scripts (da aba Files)
 
 
14
  COPY adapter.js .
15
  COPY start.sh .
 
 
16
  RUN chmod +x start.sh
17
 
18
+ # 5. Prepara o .env para o Build
19
+ # (Define que vamos usar o localhost na porta 9999)
20
+ RUN printf 'MODELS=[{"name":"BuildDummy","id":"dummy","parameters":{"stop":[]}}]\n\
21
+ OPENAI_BASE_URL=http://localhost:9999/v1\n\
22
+ OPENAI_API_KEY=dummy\n\
23
+ PUBLIC_APP_NAME=Chat\n\
24
+ ' > .env
25
+
26
+ # 6. O PULO DO GATO: SERVIDOR FAKE
27
+ # Criamos um script node que finge ser a API da OpenAI/Groq na porta 9999.
28
+ # Ele roda em segundo plano (&), depois rodamos o build, depois matamos ele.
29
+ RUN printf "import { createServer } from 'http';\n\
30
+ const server = createServer((req, res) => {\n\
31
+ res.writeHead(200, { 'Content-Type': 'application/json' });\n\
32
+ res.end(JSON.stringify({ object: 'list', data: [] }));\n\
33
+ });\n\
34
+ server.listen(9999, () => console.log('Mock server running on 9999'));\n\
35
+ " > mock-server.js
36
+
37
+ # 7. Executa o Build com o servidor fake ligado
38
  ENV NODE_OPTIONS="--max-old-space-size=4096"
39
+ RUN node mock-server.js & \
40
+ PID=$! && \
41
+ sleep 3 && \
42
+ npm run build && \
43
+ kill $PID
44
 
45
+ # 8. Configurações Finais
46
  ENV NODE_OPTIONS=""
47
  ENV PORT=7860
48
  EXPOSE 7860
49
 
50
+ # 9. Inicia (usando o start.sh que configura a Groq real)
51
  CMD ["./start.sh"]