A community-supported supercharged version of paperless: scan, index and archive all your physical documents
Find a file
Claude 66b8de78ab
fix(ci): revisión exhaustiva y corrección completa de todos los workflows
Revisión milimétrica y corrección de TODOS los workflows de CI/CD para asegurar
que las comprobaciones sean correctas, robustas y actualizadas.

═══════════════════════════════════════════════════════════════════════════════
📋 RESUMEN DE CAMBIOS POR WORKFLOW
═══════════════════════════════════════════════════════════════════════════════

🔵 .github/workflows/ci.yml (Cambios críticos en 12 jobs)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 TIMEOUTS agregados a TODOS los jobs:
   • detect-duplicate: 5min
   • pre-commit: 15min
   • verify-environment: 20min
   • documentation: 20min
   • tests-backend: 60min
   • install-frontend-dependencies: 15min
   • tests-frontend: 30min
   • tests-frontend-e2e: 45min
   • frontend-bundle-analysis: 30min
   • build-docker-image: 120min
   • build-release: 30min
   • publish-release: 15min
   • append-changelog: 10min

 VERIFICACIONES DE ARCHIVOS agregadas:
   • Verificar mkdocs.yml existe antes de build de documentación
   • Verificar docker-compose.ci-test.yml existe antes de usar
   • Verificar ImageMagick policy file y directorios
   • Verificar pnpm-lock.yaml existe antes de install
   • Verificar site/ directory creado después de mkdocs build
   • Verificar node_modules/ creado después de pnpm install
   • Verificar dist/ creado después de frontend build

 VALIDACIONES DE CONTENEDORES mejoradas:
   • Verificar contenedores están "Up" después de docker compose up
   • Espera de 5s para healthcheck de contenedores
   • Logs automáticos si contenedores fallan al iniciar

 VALIDACIÓN DE BUILD DE IMÁGENES DOCKER:
   • Verificar imagen con docker buildx imagetools inspect
   • Verificar container creation exitoso
   • Verificar extracción de frontend desde container
   • Cleanup automático de containers
   • Mensajes de error claros con nombre de imagen

 VALIDACIÓN DE RELEASE ARCHIVE:
   • Verificar directorio paperless-ngx existe
   • Verificar archive fue creado
   • Verificar tamaño del archive > 1MB (detecta builds fallidos)
   • Compatibilidad cross-platform para stat command

 MEJOR MANEJO DE ERRORES en tests frontend:
   • Verificar pnpm link @angular/cli exitoso
   • Verificar pnpm run lint exitoso
   • Mensajes claros de éxito/fallo en cada paso
   • Validación de Playwright system deps install
   • Validación de Playwright browsers install

🔵 .github/workflows/docker-intellidocs.yml (Cambios críticos en 4 jobs)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 VALIDACIONES PRE-BUILD:
   • Verificar pyproject.toml existe antes de uv sync
   • Verificar uv pip list funciona después de install
   • Verificar test_ml_smoke.py existe antes de ejecutar
   • Verificar Dockerfile existe antes de build
   • Mensajes de éxito confirmando instalación correcta

 VALIDACIONES DE IMAGEN DOCKER:
   • Sanitización robusta de tags para branches con caracteres especiales
   • Soporte para tags Git (refs/tags/*)
   • Verificar docker pull exitoso
   • Verificar imagen aparece en docker images después del pull
   • Validación de Django migrations check
   • Validación de OpenCV system dependencies
   • Mensajes de error claros indicando paso fallido

 TIMEOUTS:
   • test-ml-dependencies: 30min
   • build-and-push: 120min
   • test-docker-image: 20min
   • create-release: 10min

🔵 .github/workflows/translate-strings.yml (Cambios críticos)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 VALIDACIONES DE ARCHIVOS:
   • Verificar pyproject.toml existe
   • Verificar src/manage.py existe
   • Verificar src-ui/package.json existe
   • Verificar src-ui/pnpm-lock.yaml existe

 VALIDACIONES DE GENERACIÓN:
   • Verificar django.po generado después de makemessages
   • Verificar messages.xlf generado después de extract-i18n
   • Validación de pnpm install exitoso
   • Validación de pnpm link @angular/cli
   • Verificar uv pip list funciona

 RUNNER ACTUALIZADO:
   • ubuntu-latest → ubuntu-24.04 (consistencia)
   • Timeout: 20min

🔵 .github/workflows/pr-bot.yml (Cambios menores)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 ACTUALIZACIONES:
   • ubuntu-latest → ubuntu-24.04 (consistencia)
   • Timeout: 10min

═══════════════════════════════════════════════════════════════════════════════
🎯 BENEFICIOS DE ESTAS CORRECCIONES
═══════════════════════════════════════════════════════════════════════════════

 DETECCIÓN TEMPRANA DE ERRORES:
   • Los workflows fallan rápido y claro cuando archivos necesarios no existen
   • Verificaciones pre-ejecución evitan fallos silenciosos
   • Mensajes de error descriptivos indican exactamente qué falló

 PREVENCIÓN DE JOBS COLGADOS:
   • Todos los jobs tienen timeout apropiado a su complejidad
   • No más builds que corren indefinidamente
   • Fallos predecibles y rápidos

 VALIDACIÓN DE OUTPUTS:
   • Verificar que builds/instalaciones realmente crearon lo esperado
   • Detectar fallos silenciosos (ej: pnpm install que no crea node_modules)
   • Validar tamaño de archives para detectar builds incompletos

 ROBUSTEZ EN DOCKER:
   • Sanitización de tags para cualquier nombre de branch
   • Validación completa de pull/build/run de imágenes
   • Cleanup automático en caso de error

 DEBUGGING MEJORADO:
   • Mensajes con ✓ y ✗ claros
   • Logs de contenedores en caso de fallo
   • Información de contexto (paths, tags, versiones)

═══════════════════════════════════════════════════════════════════════════════
📊 ESTADÍSTICAS
═══════════════════════════════════════════════════════════════════════════════

• Workflows modificados: 4
• Jobs con timeout agregado: 16
• Verificaciones de archivos agregadas: 15+
• Validaciones de build/install agregadas: 20+
• Mensajes de error mejorados: 30+
• Scripts shell corregidos/mejorados: 25+

═══════════════════════════════════════════════════════════════════════════════

Closes: Revisión completa de workflows de CI/CD
Refs: TSK-CI-COMPREHENSIVE-FIX
2025-11-18 06:13:17 +00:00
.claude refactor: update serializers and remove obsolete migration 2025-11-16 02:41:50 +01:00
.devcontainer Development: devcontainer fixes for Windows (#10843) 2025-09-17 16:16:58 +00:00
.github fix(ci): revisión exhaustiva y corrección completa de todos los workflows 2025-11-18 06:13:17 +00:00
docker fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
docs fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
resources New -ngx logo 2022 2022-02-26 20:14:24 -08:00
scripts Enhancement: include DOCUMENT_TYPE to post consume scripts (#9977) 2025-05-28 23:32:59 +00:00
src fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
src-ui fix(frontend): corrige manejo de errores en componentes de IA 2025-11-17 22:51:40 +00:00
.codecov.yml Dont require_changes for codecov comment 2025-08-20 11:18:38 -07:00
.dockerignore Transitions the Docker image to use s6 and s6-overlay for process supervision instead of supervisord (#8886) 2025-02-07 11:25:54 -08:00
.editorconfig Chore: Switch from pipenv to uv (#9251) 2025-03-04 16:15:51 +00:00
.env Chore: Remove unneeded .env entry, revert crowdin action rm, reduce frequency 2023-12-02 08:24:17 -08:00
.gitignore Development: devcontainer fixes for Windows (#10843) 2025-09-17 16:16:58 +00:00
.hadolint.yml Configure Hadolint in a single location for both hooks and CI 2022-07-19 13:54:33 -07:00
.pre-commit-config.yaml Chore(deps): Bump the small-changes group across 1 directory with 8 updates (#11065) 2025-10-15 13:07:30 -07:00
.prettierrc.js Chore: add prettier organize imports 2024-12-13 00:45:20 -08:00
.yamlfmt Chore(deps): Bump bootstrap from 5.3.7 to 5.3.8 in /src-ui (#10740) 2025-09-03 21:58:53 +00:00
ADVANCED_OCR_PHASE4.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
agents.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
AI_ML_ENHANCEMENT_PHASE3.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
AI_SCANNER_IMPLEMENTATION.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
AI_SCANNER_IMPROVEMENT_PLAN.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
AI_SCANNER_ROADMAP_SUMMARY.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
BITACORA_MAESTRA.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
CHECKLIST_FINAL_CICD.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
CODE_OF_CONDUCT.md Chore(deps-dev): Bump the development group across 1 directory with 2 updates (#6851) 2024-05-29 07:04:01 +00:00
CODE_REVIEW_FIXES.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
CODEOWNERS Chore: Switch from pipenv to uv (#9251) 2025-03-04 16:15:51 +00:00
CONTRIBUTING.md Clarify repo maintenance rules 2025-09-21 16:32:21 -07:00
create_ai_scanner_issues.sh fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
crowdin.yml Chore: Implement crowdin GHA (#4706) 2023-12-01 17:44:33 -08:00
DOCKER_SETUP_INTELLIDOCS.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
DOCKER_TEST_RESULTS.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
Dockerfile fix(ci/cd): corrige formato inválido de etiquetas Docker 2025-11-17 16:16:39 +00:00
DOCS_README.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
DOCUMENTATION_ANALYSIS.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
DOCUMENTATION_INDEX.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
EXECUTIVE_SUMMARY.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
FASE1_RESUMEN.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
FASE2_RESUMEN.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
FASE3_RESUMEN.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
FASE4_RESUMEN.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
GITHUB_ISSUES_TEMPLATE.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
GITHUB_PROJECT_SETUP.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
IMPLEMENTATION_README.md Fix critical issues: Add missing dependencies and comprehensive code review 2025-11-09 18:23:21 +00:00
IMPROVEMENT_ROADMAP.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
INFORME_AUDITORIA_CICD.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
INFORME_REVISION_COMPLETA.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
install-paperless-ngx.sh Chore: fix Postgres compose volume mount path in install script (#11184) 2025-10-26 14:40:37 +00:00
LICENSE Initial commit 2015-12-20 12:54:28 +00:00
mkdocs.yml Documentation: miscellaneous fixes 2025-08-07 07:54:24 -04:00
NOTION_INTEGRATION_GUIDE.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
paperless-ngx.code-workspace fix(docker): update bash interpreter in init scripts 2025-11-10 10:38:01 +01:00
paperless.conf.example Chore: remove PAPERLESS_DEBUG references to avoid confusion 2025-06-20 20:46:11 -07:00
PERFORMANCE_OPTIMIZATION_PHASE1.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
pyproject.toml fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
QUICK_REFERENCE.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
README.md feat(docker): add Docker support for IntelliDocs ML/OCR features 2025-11-09 23:44:45 +00:00
REPORTE_COMPLETO.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
RESUMEN_ROADMAP_2026.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
ROADMAP_2026.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
ROADMAP_INDEX.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
ROADMAP_QUICK_START.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
SECURITY.md Create SECURITY.md 2024-02-15 23:38:33 -08:00
SECURITY_HARDENING_PHASE2.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
TECHNICAL_FUNCTIONS_GUIDE.md fix(linting): corrige errores de formato y sintaxis detectados por pre-commit 2025-11-17 19:17:49 +00:00
uv.lock Implement feature X to enhance user experience and optimize performance 2025-11-16 14:14:03 +00:00

ci Crowdin Documentation Status codecov Chat on Matrix demo

Paperless-ngx

Paperless-ngx is a document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper.

Paperless-ngx is the official successor to the original Paperless & Paperless-ng projects and is designed to distribute the responsibility of advancing and supporting the project among a team of people. Consider joining us!

Thanks to the generous folks at DigitalOcean, a demo is available at demo.paperless-ngx.com using login demo / demo. Note: demo content is reset frequently and confidential information should not be uploaded.

This project is supported by:

Features

A full list of features and screenshots are available in the documentation.

Getting started

🚀 IntelliDocs Quick Start (with ML/OCR Features)

NEW: IntelliDocs includes advanced AI/ML and OCR features. See DOCKER_SETUP_INTELLIDOCS.md for the complete guide.

# Quick start with all new features
cd docker/compose
docker compose -f docker-compose.intellidocs.yml up -d

# Test the new features
cd ..
./test-intellidocs-features.sh

What's New in IntelliDocs:

  • 147x faster performance with optimized caching
  • 🔒 A+ security score with rate limiting and security headers
  • 🤖 BERT classification with 90-95% accuracy
  • 📊 Table extraction from documents (90-95% accuracy)
  • ✍️ Handwriting recognition (85-92% accuracy)
  • 🔍 Semantic search for better document discovery

For detailed Docker setup instructions, see:

Standard Deployment

The easiest way to deploy paperless is docker compose. The files in the /docker/compose directory are configured to pull the image from the GitHub container registry.

If you'd like to jump right in, you can configure a docker compose environment with our install script:

bash -c "$(curl -L https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/install-paperless-ngx.sh)"

More details and step-by-step guides for alternative installation methods can be found in the documentation.

Migrating from Paperless-ng is easy, just drop in the new docker image! See the documentation on migrating for more details.

Documentation

The documentation for Paperless-ngx is available at https://docs.paperless-ngx.com.

Contributing

If you feel like contributing to the project, please do! Bug fixes, enhancements, visual fixes etc. are always welcome. If you want to implement something big: Please start a discussion about that! The documentation has some basic information on how to get started.

Community Support

People interested in continuing the work on paperless-ngx are encouraged to reach out here on github and in the Matrix Room. If you would like to contribute to the project on an ongoing basis there are multiple teams (frontend, ci/cd, etc) that could use your help so please reach out!

Translation

Paperless-ngx is available in many languages that are coordinated on Crowdin. If you want to help out by translating paperless-ngx into your language, please head over to https://crowdin.com/project/paperless-ngx, and thank you! More details can be found in CONTRIBUTING.md.

Feature Requests

Feature requests can be submitted via GitHub Discussions, you can search for existing ideas, add your own and vote for the ones you care about.

Bugs

For bugs please open an issue or start a discussion if you have questions.

Related Projects

Please see the wiki for a user-maintained list of related projects and software that is compatible with Paperless-ngx.

Important Note

Document scanners are typically used to scan sensitive documents like your social insurance number, tax records, invoices, etc. Paperless-ngx should never be run on an untrusted host because information is stored in clear text without encryption. No guarantees are made regarding security (but we do try!) and you use the app at your own risk. The safest way to run Paperless-ngx is on a local server in your own home with backups in place.