ValerioBotto commited on
Commit
613af91
·
verified ·
1 Parent(s): 06365be

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +17 -11
Dockerfile CHANGED
@@ -1,27 +1,33 @@
1
- # Usa un'immagine Python ufficiale
2
- FROM python:3.10-slim
 
 
 
 
 
3
 
4
- # Imposta la directory di lavoro
 
5
  WORKDIR /code
6
 
7
- # Installa solo le dipendenze essenziali di sistema per compilare pacchetti Python
8
  RUN apt-get update && apt-get install -y \
9
  build-essential \
10
  curl \
11
  && rm -rf /var/lib/apt/lists/*
12
 
13
- # Copia il file delle dipendenze
14
  COPY requirements.txt .
15
-
16
- # Installa le dipendenze Python
17
  RUN pip install --no-cache-dir -r requirements.txt
18
 
19
- # Copia tutto il resto del codice nella directory /code
20
  COPY . .
21
 
22
- # Esponi la porta 7860 richiesta da Hugging Face
 
 
 
23
  ENV PORT=7860
24
  EXPOSE 7860
25
 
26
- # Avvia l'applicazione usando uvicorn
27
- CMD ["python", "-m", "uvicorn", "api:app", "--host", "0.0.0.0", "--port", "7860"]
 
1
+ # --- FASE 1: Build del Frontend ---
2
+ FROM node:18 AS frontend-build
3
+ WORKDIR /frontend
4
+ COPY frontend/package*.json ./
5
+ RUN npm install
6
+ COPY frontend/ ./
7
+ RUN npm run build
8
 
9
+ # --- FASE 2: Build del Backend ---
10
+ FROM python:3.10-slim
11
  WORKDIR /code
12
 
13
+ # Dipendenze di sistema
14
  RUN apt-get update && apt-get install -y \
15
  build-essential \
16
  curl \
17
  && rm -rf /var/lib/apt/lists/*
18
 
 
19
  COPY requirements.txt .
 
 
20
  RUN pip install --no-cache-dir -r requirements.txt
21
 
22
+ # Copia il codice del backend
23
  COPY . .
24
 
25
+ # Copia i file compilati del frontend dalla FASE 1 alla cartella del backend
26
+ COPY --from=frontend-build /frontend/dist /code/static
27
+
28
+ # Espone la porta di HF
29
  ENV PORT=7860
30
  EXPOSE 7860
31
 
32
+ # Avvia l'app
33
+ CMD ["python", "-m", uvicorn", "api:app", "--host", "0.0.0.0", "--port", "7860"]