373bcee8c1
feat: Gitea auto-provisioning and webhook context sync
...
- Add lib/gitea.ts: Gitea API client (createRepo, createWebhook,
deleteRepo, verifyWebhookSignature)
- Add lib/coolify.ts: Coolify API client (projects, databases,
applications, deployments)
- Update api/projects/create: auto-creates a private Gitea repo and
registers a webhook on every new project; stores giteaRepo,
giteaRepoUrl, giteaCloneUrl, giteaSshUrl, giteaWebhookId in project
data; Gitea errors are non-fatal so project creation still succeeds
- Add api/webhooks/gitea: handles push, pull_request, issues events;
verifies HMAC signature; updates contextSnapshot on project record
- Add api/webhooks/coolify: handles deployment status events; updates
contextSnapshot.lastDeployment on project record
Requires env vars: GITEA_API_URL, GITEA_API_TOKEN, GITEA_ADMIN_USER,
GITEA_WEBHOOK_SECRET, COOLIFY_URL, COOLIFY_API_TOKEN
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-18 14:48:46 -08:00
1f13d4ef74
fix: remove prisma db push from entrypoint (was dropping fs_* tables!)
2026-02-18 01:39:47 +00:00
7c3ff5e280
fix: install prisma@5 globally in runner stage for entrypoint db push
2026-02-18 01:35:41 +00:00
bc17ee661f
fix: use global prisma cli in entrypoint
2026-02-18 01:35:25 +00:00
5986dfd50c
fix: use local prisma binary in entrypoint (avoid npx downloading wrong version)
2026-02-18 01:34:50 +00:00
89cc366175
fix: remove --skip-generate from prisma db push (not a valid flag)
2026-02-18 01:31:09 +00:00
25f963d201
feat: rewrite project creation modal to remove Firebase auth
2026-02-18 01:26:26 +00:00
5831d19207
feat: rewrite projects page to use NextAuth session + Postgres API (remove Firebase)
2026-02-18 01:26:25 +00:00
065f0f6b33
feat: rewrite lib/server/projects.ts to use Postgres instead of Firestore
2026-02-18 01:24:50 +00:00
f7bbf2ea5e
feat: rewrite project delete to use NextAuth session + Postgres
2026-02-18 01:24:49 +00:00
59415bb0d9
feat: rewrite project GET/PATCH to use NextAuth session + Postgres
2026-02-18 01:24:48 +00:00
710a24a2fb
feat: rewrite project create to use NextAuth session + Postgres
2026-02-18 01:24:47 +00:00
3fa242076b
feat: add GET /api/projects using NextAuth + Postgres
2026-02-18 01:24:46 +00:00
e6b4332d7e
Use entrypoint.sh to run prisma db push before starting server
2026-02-18 00:56:42 +00:00
1f62ab09a5
Add entrypoint script to run prisma db push on startup
2026-02-18 00:56:33 +00:00
c1e2761259
Fix Prisma schema: use only linux-musl-openssl-3.0.x binary target
2026-02-18 00:30:36 +00:00
3191823592
Fix Prisma: force linux-musl-openssl-3.0.x binary + install openssl in runner
2026-02-18 00:30:24 +00:00
1eb718cea6
Fix: add linux-musl-openssl-3.0.x binaryTarget for Alpine 3.21 (node:22-alpine)
2026-02-18 00:25:02 +00:00
580aa014ca
Fix: add CMD node server.js for Next.js standalone build
2026-02-18 00:21:04 +00:00
934ac1cadf
Fix: use client Providers wrapper instead of SessionProvider directly in root layout
2026-02-18 00:07:33 +00:00
b2e7c70d17
Add client-side Providers wrapper for SessionProvider
2026-02-18 00:07:23 +00:00
fd70fc76a0
Fix: move prisma generate out of postinstall to fix Docker build
2026-02-17 23:57:29 +00:00
54811b8247
Fix: skip postinstall in deps stage, run prisma generate in builder
2026-02-17 23:51:28 +00:00
50cbcb1634
Fix Dockerfile: copy prisma schema before npm ci to fix postinstall
2026-02-17 23:45:36 +00:00
65ea7ac180
Fix Dockerfile for NextAuth + Prisma deployment
...
Add Prisma support to Docker build:
- Run 'prisma generate' during Docker build
- Copy Prisma client and schema to production image
- Remove 'prisma db push' from build script (runs at startup)
- Enable Next.js standalone output mode
- Add db-setup.sh script for runtime migrations
This fixes the deployment failure where Prisma wasn't available.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-17 15:36:44 -08:00
bbb22f1c37
Switch from SuperTokens to NextAuth.js
...
BREAKING CHANGE: Replace SuperTokens with NextAuth.js
Why:
- SuperTokens had persistent Traefik routing issues
- SSL certificate not issuing correctly
- Complex infrastructure (separate container)
- NextAuth runs in Next.js app (simpler, no separate service)
Changes:
- Install next-auth, @auth/prisma-adapter, prisma
- Create NextAuth API route: app/api/auth/[...nextauth]/route.ts
- Add Prisma schema for NextAuth tables (users, sessions, accounts)
- Update auth page to use NextAuth signIn()
- Remove all SuperTokens code and dependencies
- Keep same Google OAuth (just simpler integration)
Benefits:
- No separate auth service needed
- No Traefik routing issues
- Sessions stored in Montreal PostgreSQL
- Simpler configuration
- Battle-tested, widely used
All authentication data stays in Montreal!
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-17 15:12:21 -08:00
8cd95607a4
Fix Google OAuth: add redirectURIOnProviderDashboard parameter
...
- SuperTokens requires redirectURIOnProviderDashboard param
- Construct it from NEXT_PUBLIC_APP_URL or window.location.origin
- Properly encode the redirect URI in the query string
- Fixes 400 error: 'Please provide the redirectURIOnProviderDashboard'
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-17 12:47:00 -08:00
3d9a8498fc
Remove simple landing page to use full marketing page
...
- Delete app/page.tsx to let app/(marketing)/page.tsx be the root
- Full marketing page has Hero, Features, Pricing, etc.
- Much better for vibnai.com root domain
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-17 11:34:45 -08:00
44895f9c31
Fix SuperTokens build error with lazy initialization
...
- Move SuperTokens.init() to runtime (not build time)
- Add dynamic route config to prevent build-time evaluation
- Move appInfo inside backendConfig function
- Update default URLs to vibnai.com
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-16 17:22:41 -08:00
c3bbc7818d
Fix SuperTokens initialization timing issues
...
- Remove session check from home page (landing page doesn't need it)
- Add delayed session check in auth page to redirect logged-in users
- Handle SuperTokens not being initialized yet with proper error handling
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-16 16:15:03 -08:00
17dbcd36b9
Update home page with proper landing page and auth redirect
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-16 16:11:56 -08:00
0f8dbf8888
Fix SuperTokens to use separate ThirdParty and EmailPassword recipes
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-16 16:07:27 -08:00
abddadce94
Fix SuperTokens auth component for Google OAuth
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-16 16:02:18 -08:00
1ca3a68148
Update auth page to use SuperTokens
...
Replace Firebase auth with SuperTokens PreBuilt UI for seamless integration.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-16 15:58:52 -08:00
6764c1feb0
Add SuperTokens authentication integration
...
- Install supertokens-auth-react, supertokens-node, supertokens-web-js
- Create frontend and backend SuperTokens configuration
- Add API route handler for auth endpoints
- Add SuperTokensProvider wrapper in root layout
- Create new auth component with SuperTokens UI
- Configure Google and GitHub OAuth providers
- Ready for SuperTokens core deployment
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-16 15:27:40 -08:00
8612fe7d5b
Fix Firebase config to handle missing credentials gracefully
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-16 15:18:33 -08:00
478869a098
Use --legacy-peer-deps in Dockerfile for compatibility
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-16 15:02:46 -08:00
92a4acb416
Upgrade React to fix @v0-sdk/react peer dependency conflict
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-16 15:01:23 -08:00
4cedda9fa0
Add Nixpacks config with Node 22 and npm install
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-16 14:57:46 -08:00
ec58674f3a
Update package-lock.json for Node 22 compatibility
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-16 14:55:35 -08:00
b97c7be954
Add standalone output for Docker deployment
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-16 14:33:31 -08:00
5ff291e4f9
Fix: Use npm ci instead of pnpm
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-16 14:31:56 -08:00
40bf8428cd
VIBN Frontend for Coolify deployment
2026-02-15 19:25:52 -08:00