DeepRat commited on
Commit
0989070
verified
1 Parent(s): f7bd030

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +32 -5
Dockerfile CHANGED
@@ -1,18 +1,45 @@
1
  # Imagen base ligera de Python
2
  FROM python:3.10-slim
3
 
 
 
 
 
 
 
4
  # Crear directorio de trabajo dentro del contenedor
5
  WORKDIR /app
6
 
7
- # Copiar dependencias y archivos
8
  COPY requirements.txt .
 
 
9
  RUN pip install --no-cache-dir -r requirements.txt
10
 
11
- # Copiar todo lo dem谩s
12
- COPY . .
 
 
 
 
 
 
 
 
 
 
13
 
14
  # Exponer el puerto que usa HF Spaces
15
  EXPOSE 7860
16
 
17
- # Comando para lanzar la app FastAPI
18
- CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]
 
 
 
 
 
 
 
 
 
 
1
  # Imagen base ligera de Python
2
  FROM python:3.10-slim
3
 
4
+ # Configurar variables de entorno para Python
5
+ ENV PYTHONUNBUFFERED=1 \
6
+ PYTHONDONTWRITEBYTECODE=1 \
7
+ PIP_NO_CACHE_DIR=1 \
8
+ PIP_DISABLE_PIP_VERSION_CHECK=1
9
+
10
  # Crear directorio de trabajo dentro del contenedor
11
  WORKDIR /app
12
 
13
+ # Copiar dependencias primero para aprovechar el cache de Docker
14
  COPY requirements.txt .
15
+
16
+ # Instalar dependencias
17
  RUN pip install --no-cache-dir -r requirements.txt
18
 
19
+ # Crear directorio est谩tico
20
+ RUN mkdir -p /app/static
21
+
22
+ # Copiar el resto de la aplicaci贸n
23
+ COPY main.py .
24
+ COPY static/ ./static/
25
+ # Copiar script de debug si existe (opcional)
26
+ COPY debug_config.py* ./
27
+
28
+ # Crear un usuario no-root para seguridad
29
+ RUN useradd -m -u 1000 appuser && chown -R appuser:appuser /app
30
+ USER appuser
31
 
32
  # Exponer el puerto que usa HF Spaces
33
  EXPOSE 7860
34
 
35
+ # Healthcheck para verificar que el servicio est谩 activo
36
+ HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \
37
+ CMD python -c "import requests; requests.get('http://localhost:7860/health')"
38
+
39
+ # Comando para lanzar la app FastAPI con mejor configuraci贸n
40
+ CMD ["uvicorn", "main:app", \
41
+ "--host", "0.0.0.0", \
42
+ "--port", "7860", \
43
+ "--log-level", "info", \
44
+ "--access-log", \
45
+ "--workers", "1"]