Commit graph

9 commits

Author SHA1 Message Date
Randall Stillwell
3b8d580ded Add database auto-migration, storage cleanup, and startup fixes
- Add start.sh that runs prisma db push before starting the server,
  creating tables automatically on first deploy
- Copy prisma CLI + engines into production image for runtime migrations
- Add configurable storage cleanup: source PDF retention (default 30d)
  and image retention (default 180d) with manual trigger in Settings
- Add /api/cleanup endpoint (GET for status, POST to run)
- Add retention settings to AppSettings schema
- Add ListObjectsV2 helper to minio.ts for bulk cleanup

Tested: local Docker build passes
Made-with: Cursor
2026-03-10 13:21:05 -05:00
Randall Stillwell
1c4a474ad7 Add public directory required by Next.js standalone output
The Dockerfile COPY step for /app/public fails when the directory
doesn't exist. Verified with local Docker build.

Made-with: Cursor
2026-03-10 08:28:43 -05:00
Randall Stillwell
0e6e2b72d1 Skip postinstall during npm ci in deps stage
The postinstall script runs prisma generate, but the prisma schema
files aren't available in the deps stage (only package.json is copied).
The builder stage already runs prisma generate after copying all files.

Made-with: Cursor
2026-03-10 08:00:55 -05:00
Randall Stillwell
a8799100e5 Bump Docker base image to Node 24 LTS (v24.14.0)
Made-with: Cursor
2026-03-10 07:52:28 -05:00
Randall Stillwell
b597bb898a Bump Docker base image from Node 18 to Node 22 LTS
Prisma v7, AWS SDK v3, Tailwind v4, Next.js 16, and chokidar 5 all
require Node >= 20. Node 22 is the current LTS release.

Made-with: Cursor
2026-03-10 07:51:39 -05:00
Randall Stillwell
53d8e021ae Fix Docker build: switch from Alpine to Debian slim
Alpine's apk package manager fails in Coolify's build environment due to
network permission issues. Debian slim's apt-get is more reliable in
containerized CI/CD pipelines.

Made-with: Cursor
2026-03-10 07:40:35 -05:00
Randall Stillwell
7e423a3e50 Build Echo OCR app: full-stack response card scanner
- Next.js 15 + Tailwind v4 + shadcn/ui + TanStack Table
- Prisma + PostgreSQL schema for ResponseCard, ProcessingJob, AppSettings
- Ollama vision integration with structured extraction prompts
- PDF-to-image pipeline with pdf2pic + sharp
- MinIO S3 storage for uploaded files and extracted images
- Chokidar-based folder monitoring for automatic processing
- REST API (9 endpoints) ready for Monday.com integration
- Dashboard with filterable data table, chip filters, bulk actions, CSV export
- Card detail page with editable fields and side-by-side scanned images
- Upload page with drag-and-drop and real-time processing queue
- Settings page for Ollama, folder watch, and Monday.com config
- Dockerfile (multi-stage) + docker-compose for local dev
- Configured for Coolify deployment at echo.stillwell.cloud

Made-with: Cursor
2026-03-10 07:17:45 -05:00
Randall Stillwell
6a6a140139 feat: initial commit 2026-03-09 15:31:45 -05:00
Randall Stillwell
95d05ac92e Initial commit from Create Next App 2026-03-09 15:31:21 -05:00