Commit Graph
60 Commits
Author SHA1 Message Date
Lizandro Guarnizo e76d7b5027 fix: use 127.0.0.1 instead of localhost in health check 2026-06-25 16:27:40 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 40e378bff8 fix: create uploads dir with correct ownership before dropping to app user
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 00:35:31 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 d9062ce754 fix: copy .prisma to correct pnpm versioned path in Docker runner stage
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 00:32:19 -05:00
Lizandro Guarnizo 2587826fa6 fix(api): copy @prisma/client package from pnpm store to deploy 2026-06-23 00:22:44 -05:00
Lizandro Guarnizo b7db0d6741 fix(api): pnpm deploy + copy prisma generated client 2026-06-23 00:13:14 -05:00
Lizandro Guarnizo 34b4c2d6d2 fix(api): flatten pnpm symlinks with cp -rL for docker COPY 2026-06-23 00:05:29 -05:00
Lizandro Guarnizo b875fe2af4 fix(api): copy full node_modules instead of pnpm deploy to preserve prisma client 2026-06-23 00:02:03 -05:00
Lizandro Guarnizo 17302ee746 fix(api): copy prisma generated files from builder to runner 2026-06-22 23:59:54 -05:00
Lizandro Guarnizo 0ec04560d4 fix(api): Dockerfile explícito para dist+node_modules; quitar image: para forzar build en Coolify 2026-06-18 23:11:01 -05:00
Lizandro Guarnizo 6aa6897f4d fix(api): usar pnpm deploy para resolver symlinks rotos de pnpm en runner 2026-06-18 23:06:47 -05:00
Lizandro Guarnizo 596dc18e82 fix(api): quitar migrate del startup para desacoplar deploy de BD 2026-06-18 22:59:50 -05:00
Lizandro Guarnizo 71cd021e60 update 2026-06-18 21:40:52 -05:00
Lizandro Guarnizo b63447af8d chore: remove .npmrc 2026-06-18 21:39:23 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 b4cbb672e0 fix(coolify): quitar ports y red custom para evitar conflictos en despliegue
Coolify usa Traefik como proxy — los ports fijos causan conflicto si el
puerto ya está ocupado. Se elimina también moraworld-network (nombre fijo
choca con redes de deploys anteriores); Coolify gestiona su propia red.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 21:39:23 -05:00
Lizandro Guarnizo 5f488f698c update 2026-06-18 18:16:07 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 db19f3e1ca fix(security): rate limiting, forbidNonWhitelisted, Prisma migrations en startup y CI para GHCR
- ThrottlerGuard global: 20 req/min por IP en todos los endpoints
- forbidNonWhitelisted: true en ValidationPipe
- Dockerfile API: prisma migrate deploy antes de arrancar el proceso
- coolify-compose: depends_on api (service_healthy) en web
- GitHub Actions: build y push de imágenes api/web a GHCR en cada push a main

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 17:06:35 -05:00
Lizandro Guarnizo 1b49e3fc0e ci: copiar packages/database al runner (no linkeado en hoisted) 2026-06-09 22:03:24 -05:00
Lizandro Guarnizo 83133eef17 ci: single-stage builder + hoisted (elimina deps stage, muy problematico) 2026-06-09 22:00:11 -05:00
Lizandro Guarnizo ed24880944 ci: --force en pnpm install para evitar confirmacion interactiva 2026-06-09 21:58:40 -05:00
Lizandro Guarnizo 6c2c993ea7 ci: regenerar lockfile en builder (rm + pnpm install --no-frozen) 2026-06-09 21:56:12 -05:00
Lizandro Guarnizo 333c1aba58 ci: --no-frozen-lockfile explicito (Coolify corre con CI=true) 2026-06-09 21:54:44 -05:00
Lizandro Guarnizo b0d22d4c15 ci: pnpm install sin frozen-lockfile en builder (lockfile actualizado con workspace completo) 2026-06-09 21:52:25 -05:00
Lizandro Guarnizo 7cd5138ab9 ci: node-linker=hoisted para compatibilidad con Docker COPY 2026-06-09 21:49:45 -05:00
Lizandro Guarnizo e5e22e4f58 ci: cambiar host port web 3000->3002 (otro servicio usa 3000) 2026-06-09 21:47:53 -05:00
Lizandro Guarnizo e4abd806bb ci: Dockerfiles funcionales - ambos builds exitosos en servidor 2026-06-09 21:38:24 -05:00
Lizandro Guarnizo a6b9edd256 ci: pnpm install sin --offline (descarga solo faltante del store) 2026-06-09 21:33:05 -05:00
Lizandro Guarnizo 4ef190c7a2 ci: pnpm install --offline en builder para recrear symlinks de workspace 2026-06-09 21:32:18 -05:00
Lizandro Guarnizo dd62a048d2 ci: quitar prisma generate del web (next no lo necesita) 2026-06-09 21:30:47 -05:00
Lizandro Guarnizo 8c6fd24ed8 ci: usar npx prisma en vez de pnpm exec (prisma no esta en root node_modules) 2026-06-09 21:30:05 -05:00
Lizandro Guarnizo 941ba09978 debug: check prisma binary location 2026-06-09 21:29:12 -05:00
Lizandro Guarnizo dca9e7a879 ci: corregir ruta de prisma generate - ejecutar desde packages/database 2026-06-09 21:28:33 -05:00
Lizandro Guarnizo 6425976918 ci: usar pnpm exec prisma en vez de global (evita auto-install) 2026-06-09 21:27:51 -05:00
Lizandro Guarnizo 60350e4343 ci: quitar database/dist del web (no existe en deps) 2026-06-09 21:27:03 -05:00
Lizandro Guarnizo b2d9d06cbe ci: copiar packages/database/dist desde deps (excluido por .dockerignore) 2026-06-09 21:21:09 -05:00
Lizandro Guarnizo 9fe1d29e75 ci: volver a enfoque multi-stage estandar con prisma global en builder 2026-06-09 21:18:30 -05:00
Lizandro Guarnizo 696b29df10 ci: .prisma esta en node_modules raiz (pnpm hoisted) 2026-06-09 21:12:48 -05:00
Lizandro Guarnizo 37e39db85d ci: COPY . . antes que deps para no pisar prisma generado 2026-06-09 21:10:22 -05:00
Lizandro Guarnizo 675f3bf0e5 ci: copiar packages/database completo en deps y generar prisma ahi 2026-06-09 21:06:01 -05:00
Lizandro Guarnizo d3cab7539e ci: debug web — ls schema, which prisma, prisma version 2026-06-09 20:58:40 -05:00
Lizandro Guarnizo 8459ecc33d ci: fix prisma generate — instalar prisma global, limpiar dockerignore 2026-06-09 20:57:13 -05:00
Lizandro Guarnizo 52f5f66b54 ci: debug prisma generate — show actual error in logs 2026-06-09 20:55:05 -05:00
Lizandro Guarnizo dfc5e5233a ci: set DATABASE_URL env in builder for prisma generate 2026-06-09 20:47:21 -05:00
Lizandro Guarnizo 30cfa67bab ci: web Dockerfile copia database package.json y genera Prisma client 2026-06-09 20:35:31 -05:00
Lizandro Guarnizo fb3b62ea44 ci: quita depends_on de api — redis/postgres solo en profile storage 2026-06-09 20:32:00 -05:00
Lizandro Guarnizo 933dd75ca3 ci: docker-compose.yml usa profiles para BD/Redis/MinIO — Coolify usa default (solo api+web) 2026-06-09 20:28:27 -05:00
Lizandro Guarnizo 8f2de37c0d feat(storage): auto-create S3 bucket on module init 2026-06-04 21:33:54 -05:00
Lizandro Guarnizo fff5e198b7 ci: Coolify deployment config — docker-compose, env example, docs, dockerignore 2026-06-04 20:55:38 -05:00
Lizandro Guarnizo 84c1fdec54 feat: C-8/C-1/C-2/C-3/C-4/C-6/M-1/M-5/M-6 — WebSocket gateway, SENAE real, SP-API, Twilio SMS, WhatsApp Business, soporte portal, HMAC audit, reportes CSV 2026-06-01 21:28:42 -05:00
Lizandro Guarnizo a5842278fb fix: C-7 webhook tenant lookup, C-5 full tax calc §15, M-2/M-3/M-4/M-8/L-7/L-8/L-9 gap fixes 2026-06-01 21:10:43 -05:00
Lizandro Guarnizo a047a8b032 feat: StorageService S3/MinIO, POST /users, invoice upload, portal dashboard §08 statuses + notifications 2026-06-01 20:55:30 -05:00