Getting Started
Create account
Sign up, verify email, join organizations, and accept invitations.
Authentication is handled by Better Auth on the backend (/api/auth/*). The Next.js app uses the Better Auth React client with cookies sent to NEXT_PUBLIC_API_URL.
Sign-up paths
| Method | UI route | Notes |
|---|---|---|
| Email + password | /sign-up | Email verification required when enabled |
| Google OAuth | /sign-up or /sign-in | Requires GOOGLE_* env on backend |
| GitHub OAuth | /sign-up or /sign-in | Requires GITHUB_* env on backend |
| Email OTP | /verify-otp | OTP plugin for sign-in / verification |
Email verification
When requireEmailVerification is enabled (default in auth.instance.ts), users cannot sign in until they verify their email. Check Mailpit locally at http://localhost:8025 for dev emails.
Organizations
Ragnarock is multi-tenant:
- Organization — billing boundary, org-wide integrations, member directory
- Teams — optional grouping inside an org (Better Auth organization plugin)
- Projects — work containers with their own members and personas
After first login you may land on:
/dashboard/organization/select— pick active org/dashboard/organization/create— create a new org
Invitations
| Flow | Route |
|---|---|
| Accept invite | /dashboard/accept-invitation |
| Org settings | /dashboard/organization |
Invitation emails link to AUTH_PUBLIC_APP_URL (default http://localhost:3000).
Account settings
| Area | Route |
|---|---|
| Preferences | /account/preferences |
| Security (password, 2FA) | /account/security |
Local auth configuration
These backend variables must align with your frontend URL:
Prop
Type
See Authentication for plugins (2FA, organizations, OTP).