Feat/better auth #3

Open
tyler wants to merge 8 commits from TOC/route-commerce:feat/better-auth into main

8 Commits

Author SHA1 Message Date
tyler 456b5b1375 Add MinIO storage + replace Supabase Storage with S3 SDK
- New: src/lib/storage.ts — S3-compatible client, uploadFile/deleteFile/listFiles/publicUrl helpers, bucket constants
- New: docker-compose adds minio + minio_init services
- Replaced Supabase fetch PUTs in:
  - src/actions/brand-settings.ts (3 uploaders)
  - src/actions/products/upload-image.ts
  - src/actions/communications/import-contacts.ts
  - src/app/api/water-photo-upload/route.ts
- Replaced hardcoded Supabase URLs in:
  - src/components/storefront/TuxedoVideoHero.tsx
  - src/components/time-tracking/TimeTrackingFieldClient.tsx
  - src/app/tuxedo/about/page.tsx
  - src/lib/email-service.ts (4 occurrences)
- Added @aws-sdk/client-s3 + @aws-sdk/s3-request-presigner
- .env.example adds MinIO + storage vars
- Migration cleanup: deleted BUNDLE_018_042, 4 XXX drafts, 087/145/099-contact storage migrations
- Migration patches: 006 STATIC→STABLE, 135 param reordering
- Preflight: added pgcrypto extension, removed storage stub
- Verified: MinIO upload/list/delete round-trip works against local instance
2026-06-05 02:33:05 +00:00
tyler 367a5625f3 Add self-hosted Postgres docker-compose
Deploy to route.crispygoat.com / deploy (push) Successful in 3m1s
- docker-compose.yml: Postgres 16 Alpine with named volume, healthcheck
- .env.example: POSTGRES_* and DATABASE_URL template
- .gitignore: exclude db_data/ volume

Starting fresh, no data migration. App still wired to Supabase;
DB is ready for migrations to be applied.
2026-06-05 01:19:10 +00:00
tyler e8f2d76637 Fix workflow: use actual secrets, fix env file writing
Deploy to route.crispygoat.com / deploy (push) Successful in 3m21s
2026-06-04 18:53:11 -06:00
tyler beac3e48f1 Load .env.production from server before build
Deploy to route.crispygoat.com / deploy (push) Failing after 38s
2026-06-04 18:52:02 -06:00
tyler fddb9178c0 Use npm install instead of npm ci (no lockfile)
Deploy to route.crispygoat.com / deploy (push) Failing after 2m56s
2026-06-04 18:48:21 -06:00
tyler 8ad8dbb25b Remove npm cache from workflow (local runner)
Deploy to route.crispygoat.com / deploy (push) Failing after 3s
2026-06-04 18:47:46 -06:00
tyler 988310fd50 Add Gitea Actions deploy workflow
Deploy to route.crispygoat.com / deploy (push) Failing after 56s
2026-06-04 18:42:58 -06:00
tyler 2de32b0c66 Add rocket emoji to tagline 2026-06-05 00:38:29 +00:00