Eric Gullickson
ceaabee7a0
chore: add Docker log rotation to all services (refs #85 )
...
Deploy to Staging / Build Images (pull_request) Successful in 30s
Deploy to Staging / Deploy to Staging (pull_request) Successful in 31s
Deploy to Staging / Verify Staging (pull_request) Successful in 2m19s
Deploy to Staging / Notify Staging Ready (pull_request) Successful in 7s
Deploy to Staging / Notify Staging Failure (pull_request) Has been skipped
Add logging configuration with json-file driver and rotation to all 6 services:
- mvp-traefik
- mvp-frontend
- mvp-backend
- mvp-ocr
- mvp-postgres
- mvp-redis
Configuration:
- max-size: 10m (10MB per log file)
- max-file: 3 (keep 3 rotated files)
- Total max storage: 6 x 30MB = 180MB
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-03 19:49:28 -06:00
Eric Gullickson
852c9013b5
feat: add core OCR API integration (refs #65 )
...
Deploy to Staging / Build Images (pull_request) Successful in 5m59s
Deploy to Staging / Deploy to Staging (pull_request) Successful in 31s
Deploy to Staging / Verify Staging (pull_request) Successful in 2m19s
Deploy to Staging / Notify Staging Ready (pull_request) Successful in 7s
Deploy to Staging / Notify Staging Failure (pull_request) Has been skipped
OCR Service (Python/FastAPI):
- POST /extract for synchronous OCR extraction
- POST /jobs and GET /jobs/{job_id} for async processing
- Image preprocessing (deskew, denoise) for accuracy
- HEIC conversion via pillow-heif
- Redis job queue for async processing
Backend (Fastify):
- POST /api/ocr/extract - authenticated proxy to OCR
- POST /api/ocr/jobs - async job submission
- GET /api/ocr/jobs/:jobId - job polling
- Multipart file upload handling
- JWT authentication required
File size limits: 10MB sync, 200MB async
Processing time target: <3 seconds for typical photos
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-01 16:02:11 -06:00
Eric Gullickson
a31028401b
fix: increase backend Docker healthcheck start_period to 3 minutes (refs #64 )
...
Deploy to Staging / Build Images (pull_request) Successful in 30s
Deploy to Staging / Deploy to Staging (pull_request) Successful in 31s
Deploy to Staging / Verify Staging (pull_request) Successful in 2m19s
Deploy to Staging / Notify Staging Ready (pull_request) Successful in 7s
Deploy to Staging / Notify Staging Failure (pull_request) Has been skipped
The CI was failing because Docker marked the backend unhealthy before the CI
wait loop completed. The backend needs time to run migrations and seed vehicle
data on startup.
Changes:
- start_period: 40s -> 180s (3 minutes)
- retries: 3 -> 5 (more tolerance)
Total time before unhealthy: 180s + (5 × 30s) = 5.5 minutes
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-01 14:43:24 -06:00
Eric Gullickson
1ba491144b
feat: add OCR service container (refs #64 )
...
Deploy to Staging / Build Images (pull_request) Successful in 7m41s
Deploy to Staging / Deploy to Staging (pull_request) Failing after 13s
Deploy to Staging / Verify Staging (pull_request) Has been skipped
Deploy to Staging / Notify Staging Ready (pull_request) Has been skipped
Deploy to Staging / Notify Staging Failure (pull_request) Successful in 8s
Add Python-based OCR service container (mvp-ocr) as the 6th service:
- Python 3.11-slim with FastAPI/uvicorn
- Tesseract OCR with English language pack
- pillow-heif for HEIC image support
- opencv-python-headless for image preprocessing
- Health endpoint at /health
- Unit tests for health, HEIC support, and Tesseract availability
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-01 13:06:16 -06:00
Eric Gullickson
29948134eb
feat: Stripe secrets, more work.
Deploy to Staging / Build Images (pull_request) Successful in 2m54s
Deploy to Staging / Deploy to Staging (pull_request) Successful in 29s
Deploy to Staging / Verify Staging (pull_request) Failing after 6s
Deploy to Staging / Notify Staging Ready (pull_request) Has been skipped
Deploy to Staging / Notify Staging Failure (pull_request) Successful in 6s
2026-01-18 19:25:56 -06:00
Eric Gullickson
254bed18d0
fix: add Stripe secrets to CI/CD and build configuration (refs #55 )
...
- Add VITE_STRIPE_PUBLISHABLE_KEY to frontend Dockerfile build args
- Add VITE_STRIPE_PUBLISHABLE_KEY to docker-compose.yml build args
- Add :ro flag to backend Stripe secret volume mounts for consistency
- Update inject-secrets.sh with STRIPE_SECRET_KEY and STRIPE_WEBHOOK_SECRET
- Add Stripe secrets to staging.yaml workflow (build arg + inject step)
- Add Stripe secrets to production.yaml workflow (inject step)
Requires STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET secrets and
VITE_STRIPE_PUBLISHABLE_KEY variable to be configured in Gitea.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-18 19:20:29 -06:00
Eric Gullickson
52c0b59a86
feat: Stripe secrets fixes
Deploy to Staging / Build Images (pull_request) Successful in 26s
Deploy to Staging / Deploy to Staging (pull_request) Successful in 28s
Deploy to Staging / Verify Staging (pull_request) Failing after 6s
Deploy to Staging / Notify Staging Ready (pull_request) Has been skipped
Deploy to Staging / Notify Staging Failure (pull_request) Successful in 6s
2026-01-18 19:08:58 -06:00
Eric Gullickson
03fa9c3103
feat: Stripe secret updates
Deploy to Staging / Build Images (pull_request) Successful in 2m43s
Deploy to Staging / Deploy to Staging (pull_request) Successful in 28s
Deploy to Staging / Verify Staging (pull_request) Failing after 6s
Deploy to Staging / Notify Staging Ready (pull_request) Has been skipped
Deploy to Staging / Notify Staging Failure (pull_request) Successful in 7s
2026-01-18 18:50:00 -06:00
Eric Gullickson
e5837dfd75
fix: Traefik Let's Encrypt acme.json
Deploy to Staging / Build Images (push) Successful in 21s
Deploy to Staging / Deploy to Staging (push) Failing after 5s
Deploy to Staging / Verify Staging (push) Has been skipped
Deploy to Staging / Notify Staging Ready (push) Has been skipped
Deploy to Staging / Notify Staging Failure (push) Successful in 6s
2025-12-30 13:09:42 -06:00
Eric Gullickson
20696ccbf0
fix: updates to CI/CD Paths
Deploy to Staging / Build Images (push) Successful in 21s
Deploy to Staging / Deploy to Staging (push) Successful in 28s
Deploy to Staging / Verify Staging (push) Successful in 7s
Deploy to Staging / Notify Staging Ready (push) Successful in 6s
Deploy to Staging / Notify Staging Failure (push) Has been skipped
2025-12-30 09:15:41 -06:00
Eric Gullickson
83d79da3aa
CI/CD Gitea v1.0
Deploy to Staging / Build Images (push) Failing after 7s
Deploy to Staging / Deploy to Staging (push) Has been skipped
Deploy to Staging / Verify Staging (push) Has been skipped
Deploy to Staging / Notify Staging Ready (push) Has been skipped
Deploy to Staging / Notify Staging Failure (push) Failing after 6s
2025-12-29 18:51:41 -06:00
Eric Gullickson
9b0de6a5b8
fix: I dunno, I'm making git server changes
2025-12-29 08:44:49 -06:00
Eric Gullickson
57d2c43da7
fix: Email template improvements
2025-12-28 16:56:36 -06:00
Eric Gullickson
0357ce391f
feat: Backup & Restore - Manual backup tested complete.
2025-12-25 10:50:09 -06:00
Eric Gullickson
4897f0a52c
feat: delete users - not tested
2025-12-22 18:20:25 -06:00
Eric Gullickson
719c80ecd8
Notification updates
2025-12-21 19:56:52 -06:00
Eric Gullickson
513df9c027
Updated image to node:lts-alpine
2025-12-20 12:16:58 -06:00
Eric Gullickson
ce6976d3ab
Fix Let's Encrypt certificate deployment issues
...
- Change CF_DNS_API_TOKEN_FILE to CLOUDFLARE_DNS_API_TOKEN_FILE (correct env var for Traefik/lego)
- Fix inject-secrets.sh to clean up Docker-created directories before injecting secrets
- Add detection for GitLab variables set as Variable type instead of File type
- Improve error messages to help diagnose configuration issues
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2025-12-20 11:45:00 -06:00
Eric Gullickson
9eb025a21f
Update to production Let's Encrypt certificates
2025-12-20 11:14:44 -06:00
Eric Gullickson
b9801d5f3b
Update Dockerfile with curl
2025-12-20 09:50:00 -06:00
Eric Gullickson
e1c48b7a26
Added Logos
2025-12-15 21:13:23 -06:00
Eric Gullickson
bb4a356b9e
Google Maps Bug
2025-11-08 12:17:29 -06:00
Eric Gullickson
daf1f71e2c
Make/Model Data Loading
2025-11-07 13:51:47 -06:00
Eric Gullickson
060867e796
Docker / k8s network configuration
2025-11-07 08:16:35 -06:00
Eric Gullickson
5dc58d73b9
Gas Station Feature
2025-11-04 18:46:46 -06:00
Eric Gullickson
eeb20543fa
Homepage Redesign
2025-11-03 14:06:54 -06:00
Eric Gullickson
3693ce5761
Docs Cleanup
2025-11-02 10:34:43 -06:00
Eric Gullickson
7b753f080c
Bug Fixes
2025-11-01 22:35:26 -05:00
Eric Gullickson
cde14f2766
URL Fix
2025-11-01 22:01:18 -05:00
Eric Gullickson
046c66fc7d
Redesign
2025-11-01 21:27:42 -05:00
Eric Gullickson
775a1ff69e
Added Documents Feature
2025-09-28 20:35:46 -05:00
Eric gullickson
0f39e5eb7f
Mobile Bug Fixes
2025-09-22 20:31:27 -05:00
Eric Gullickson
040da4c759
k8s redesign complete
2025-09-18 22:44:30 -05:00
Eric gullickson
cb98336d5e
k8s prepwork
2025-09-18 11:04:41 -05:00
Eric Gullickson
a052040e3a
Initial Commit
2025-09-17 16:09:15 -05:00
Eric Gullickson
0cdb9803de
Updated frameworks.
2025-08-25 12:40:27 -05:00
Eric Gullickson
e22d643ae3
Security Fixes
2025-08-24 14:39:50 -05:00
Eric Gullickson
b534e92636
Modernization Project Complete. Updated to latest versions of frameworks.
2025-08-24 09:49:21 -05:00
Eric Gullickson
673fe7ce91
Phase 6 complete: Docker modernization with production-first architecture
...
- Multi-stage builds: Backend 347MB → 196MB (43% reduction)
- Production-ready containers with non-root security
- Eliminated dev/prod naming - single clean container approach
- TypeScript build issues resolved with relaxed build configs
- Ready for Phase 7: Vehicles Fastify migration
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-23 19:52:36 -05:00
Eric Gullickson
698db0ed4c
Working React 19 before Compiler integration
...
🚀 Phase 2 Complete - React 19 Foundation
- React upgraded: 18.2.0 → 19.0.0 ✅
- MUI upgraded: 5 → 6 ✅
- React Router upgraded: 6 → 7 ✅
- All packages updated and working ✅
- Production build: 995KB bundle ✅
- All containers working ✅
Ready for Phase 3: React Compiler integration
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-08-23 16:46:31 -05:00
Eric Gullickson
8f5117a4e2
MVP Build
2025-08-09 12:47:15 -05:00
Eric Gullickson
2e8816df7f
Fresh Start
2025-08-07 09:59:22 -05:00
Eric Gullickson
f7eca4bad5
first commit
2025-07-15 20:34:05 -05:00