Commit Graph

9 Commits

Author SHA1 Message Date
space f974840868 fix: update Prisma schema path and upgrade PostgreSQL image to 18-alpine 2026-07-25 09:19:53 +02:00
space f9a2253742 docs: add comprehensive README with setup instructions and pnpm workspace config
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-25 00:32:12 +02:00
space 8da5d6eef3 fix: correct route registration - use full paths in rjweb-server path.http() calls
rjweb-server path.http() second argument is the FULL path, not relative to prefix.
Changed all routes from server.path('/prefix', path => path.http(method, '/suffix', ...))
to server.path('/', path => path.http(method, '/prefix/suffix', ...)).

Also fixed:
- Duplicate createContext import in useAuth.ts
- notFound handler now excludes /webhook paths from SPA fallback

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-25 00:28:14 +02:00
space 1fd41420c7 fix: improve SSH command execution in deploy service
- Prefix all nvm-dependent commands with NVM source via withNvm() helper
- Fix .env file writing using printf instead of heredoc (which does not work over SSH exec)
- Fix git clone URL encoding using URL class for proper credential encoding
- Add DEBIAN_FRONTEND=noninteractive to apt-get for non-interactive installs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-25 00:25:07 +02:00
space 4a1dc78714 fix: use CreateKeyPair instead of ImportKeyPair for simpler SSH key management
AWS CreateKeyPair generates the RSA key pair server-side and returns the private key,
avoiding the need to manually format RSA public keys in OpenSSH wire format.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-25 00:23:59 +02:00
space b975f8e9b9 chore: add .gitignore, remove dist from tracking
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-25 00:20:48 +02:00
space 6434be8bed feat: add orphan EC2 cleanup on startup, fix SetupWizard routing, fix SSH key gen
- On startup, scan for EC2 instances with pp:managed=true and terminate any orphans
- SetupWizard now renders as full-page (no Layout wrapper)
- Fixed SSH RSA key generation (generateKeyPairSync with spki format)
- Removed unused import in orphanCleanup.ts
- Frontend rebuild with App.tsx routing fix

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-25 00:20:36 +02:00
space 40d484bede feat: initial scaffold - backend, frontend, Prisma schema, Docker
- Prisma schema: User, Session, RepoConfig, Preview, Job, WebhookToken, NoConfigComment, AdminSettings
- Backend: auth (login/logout/me/first-user setup), webhook handler with HMAC verification, EC2 service, SSH service, deploy pipeline, job queue worker, cron workers
- Frontend: Login with first-user detection, Dashboard, PreviewDetail with live log streaming, Settings, Repos config, Admin panel, SetupWizard, Privacy page
- Docker Compose and Dockerfile for self-hosted deployment
- Uses bcryptjs for Node 24 compatibility

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-25 00:18:08 +02:00
space ca2efdadea init 2026-07-24 23:41:59 +02:00