cambios en procesos de pedimentos y dockerfile
This commit is contained in:
40
Dockerfile
40
Dockerfile
@@ -10,18 +10,23 @@ RUN apt-get update && apt-get install -y \
|
||||
# Crear directorio para las dependencias
|
||||
WORKDIR /app
|
||||
|
||||
# Instalar dependencias en un directorio temporal
|
||||
# Instalar dependencias globalmente
|
||||
COPY requirements.txt .
|
||||
RUN pip install --user --no-cache-dir --verbose -r requirements.txt
|
||||
RUN pip install --no-cache-dir --verbose -r requirements.txt
|
||||
|
||||
|
||||
# Imagen final
|
||||
FROM python:3.11-slim
|
||||
|
||||
# Instalar requirements en la imagen final para que los binarios estén disponibles
|
||||
COPY requirements.txt ./
|
||||
RUN pip install --no-cache-dir --verbose -r requirements.txt
|
||||
|
||||
# Establecer variables de entorno para FastAPI y Celery
|
||||
ENV PYTHONDONTWRITEBYTECODE=1
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
ENV PYTHONPATH=/app
|
||||
ENV PATH=/home/fastapi/.local/bin:$PATH
|
||||
ENV PATH=/usr/local/bin:/home/fastapi/.local/bin:$PATH
|
||||
ENV C_FORCE_ROOT=1
|
||||
ENV REDIS_HOST=redis
|
||||
ENV REDIS_PORT=6379
|
||||
@@ -37,32 +42,17 @@ RUN apt-get update && apt-get install -y \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Establecer directorio de trabajo
|
||||
WORKDIR /app
|
||||
|
||||
# Copiar dependencias instaladas desde el builder
|
||||
COPY --from=builder /root/.local /home/fastapi/.local
|
||||
|
||||
# Cambiar ownership de los archivos de Python packages al usuario fastapi
|
||||
RUN chown -R fastapi:fastapi /home/fastapi/.local
|
||||
|
||||
# Instalar supervisor para manejar múltiples procesos
|
||||
RUN pip install supervisor
|
||||
WORKDIR /
|
||||
|
||||
# Copiar el código de la aplicación
|
||||
COPY . .
|
||||
|
||||
# Crear directorios necesarios y establecer permisos
|
||||
RUN mkdir -p /app/logs /app/uploads /app/temp /var/log/supervisor /etc/supervisor/conf.d && \
|
||||
RUN mkdir -p /app/logs /app/uploads /app/temp && \
|
||||
chown -R fastapi:fastapi /app && \
|
||||
chmod -R 755 /app && \
|
||||
chown -R fastapi:fastapi /var/log/supervisor /etc/supervisor
|
||||
chmod -R 755 /app
|
||||
|
||||
# Copiar configuraciones de Supervisor (como root antes de cambiar usuario)
|
||||
COPY supervisord.conf /etc/supervisor/supervisord.conf
|
||||
COPY supervisor_celery.conf /etc/supervisor/conf.d/efc_celery.conf
|
||||
|
||||
# Cambiar al usuario no-root
|
||||
USER fastapi
|
||||
# El comando se define en docker-compose para cada servicio (api, worker, beat, flower)
|
||||
|
||||
# Exponer puertos
|
||||
EXPOSE 8001
|
||||
@@ -71,8 +61,4 @@ EXPOSE 8001
|
||||
HEALTHCHECK --interval=30s --timeout=30s --start-period=5s --retries=3 \
|
||||
CMD curl -f http://localhost:8001/api/v1/health || exit 1
|
||||
|
||||
# Cambiar temporalmente a root para iniciar supervisor
|
||||
USER root
|
||||
|
||||
# Comando por defecto: usar Supervisor para gestionar FastAPI y Celery
|
||||
CMD ["supervisord", "-n", "-c", "/etc/supervisor/supervisord.conf"]
|
||||
# El comando se define en docker-compose para cada servicio (api, worker, beat, flower)
|
||||
@@ -36,29 +36,20 @@ RUN apt-get update && apt-get install -y \
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Copiar dependencias instaladas desde el builder
|
||||
COPY --from=builder /root/.local /home/fastapi/.local
|
||||
|
||||
# Instalar supervisor para manejar múltiples procesos
|
||||
RUN pip install supervisor
|
||||
# Instalar requirements en la imagen final para que los binarios estén disponibles
|
||||
COPY requirements.txt ./
|
||||
RUN pip install --no-cache-dir --verbose -r requirements.txt
|
||||
|
||||
|
||||
# Copiar el código de la aplicación
|
||||
COPY . .
|
||||
|
||||
# Crear directorios necesarios y establecer permisos
|
||||
RUN mkdir -p /app/logs /app/uploads /app/temp /var/log/supervisor /etc/supervisor/conf.d && \
|
||||
RUN mkdir -p /app/logs /app/uploads /app/temp && \
|
||||
chown -R fastapi:fastapi /app && \
|
||||
chmod -R 755 /app && \
|
||||
chown -R fastapi:fastapi /var/log/supervisor /etc/supervisor
|
||||
chmod -R 755 /app
|
||||
|
||||
# Copiar configuraciones de Supervisor para producción (como root antes de cambiar usuario)
|
||||
COPY supervisord.conf /etc/supervisor/supervisord.conf
|
||||
COPY supervisor_celery.conf /etc/supervisor/conf.d/efc_celery.conf
|
||||
# El comando se define en docker-compose para cada servicio (api, worker, beat, flower)
|
||||
|
||||
# Cambiar temporalmente a root para Supervisor
|
||||
USER root
|
||||
|
||||
EXPOSE 8001
|
||||
|
||||
# Comando de producción: iniciar Supervisor para gestionar todos los procesos
|
||||
CMD ["supervisord", "-n", "-c", "/etc/supervisor/supervisord.conf"]
|
||||
EXPOSE 8001
|
||||
@@ -60,7 +60,7 @@ class APIController:
|
||||
"""
|
||||
Método para obtener las credenciales de VUCEM desde la API.
|
||||
"""
|
||||
return await self._make_request_async('GET', f'vucem/vucem/?usuario={importador}')
|
||||
return await self._make_request_async('GET', f'vucem/vucem/?contribuyente={importador}')
|
||||
|
||||
async def post_pedimento_service(self, data: Dict[str, Any]) -> Dict[str, Any]:
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user