diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..9a8565e --- /dev/null +++ b/.dockerignore @@ -0,0 +1,16 @@ +.git +.gitignore +__pycache__/ +*.pyc +*.pyo +*.pyd +*.pid +*.lock +*.log +.env +.venv/ +downloads/ +resumenes_docx/ +logs/ +resumen_clase.md +resumen_instituciones_gobierno.md diff --git a/Dockerfile b/Dockerfile index c12db8f..bc9411e 100755 --- a/Dockerfile +++ b/Dockerfile @@ -41,8 +41,20 @@ RUN npm install -g @anthropic-ai/claude-code # Instalar Gemini CLI como root RUN npm install -g @google/gemini-cli +# Crear usuario sin privilegios para ejecutar la app (evita bloqueos del CLI) +ARG APP_UID=1000 +ARG APP_GID=1000 +RUN groupadd --gid ${APP_GID} appgroup \ + && useradd --uid ${APP_UID} --gid ${APP_GID} --create-home appuser + # Copiar todo el código de la aplicación al contenedor COPY . . +# Dar acceso al usuario no root +RUN chown -R appuser:appgroup /app + +# Ejecutar como usuario sin privilegios (requerido por Claude CLI) +USER appuser + # Comando por defecto para iniciar el servicio principal unificado CMD ["python3", "main.py"]