Loading...
Loading...
> Everything you need to launch your SaaS, from first download to first customer.
Fabrk is a ready-to-use foundation for building software businesses. Includes user accounts, payments, email, database, security, and landing page - all working on day one.
DESC: Ensure Node.js v18.17+ is installed
1$node --version23$# Expected output:4$# v20.11.05$# (or v18.17.0 or higher)6$#7$# What this means: Shows which version of Node.js you have installed8$# If you see 'command not found', install Node.js from nodejs.org
DESC: Clone your purchased repository to your computer
1$# Replace YOUR-USERNAME with your actual GitHub username2$git clone https://github.com/YOUR-USERNAME/fabrk.git my-saas3$cd my-saas45$# Expected output:6$# Cloning into 'my-saas'...7$# remote: Enumerating objects: 234, done.8$# remote: Counting objects: 100% (234/234), done.9$# Receiving objects: 100% (234/234), 4.56 MiB | 2.12 MiB/s, done.10$#11$# What this means: Git is downloading all project files to a folder called 'my-saas'
DESC: Download all required libraries (takes 1-2 minutes)
1$npm install --legacy-peer-deps23$# Expected output:4$# added 342 packages, and audited 343 packages in 45s5$# 89 packages are looking for funding6$# run `npm fund` for details7$# found 0 vulnerabilities8$#9$# What this means: npm downloaded all the code libraries your app needs10$# This only needs to run once, unless you add new libraries later
DESC: Create your private settings file
1$cp .env.example .env.local
DESC: Add your actual PostgreSQL connection string to .env.local
1$# Choose a database provider (see step 8 for recommendations)2$# Then copy YOUR actual connection string from the provider's dashboard34$# Supabase example (pooler URL recommended for serverless):5$DATABASE_URL="postgresql://postgres.abcdefghij:[YOUR_PASSWORD]@aws-0-us-west-1.pooler.supabase.com:6543/postgres?pgbouncer=true"67$# Neon example (pooler URL with SSL):8$DATABASE_URL="postgresql://user:password@ep-cool-name-123456-pooler.us-east-2.aws.neon.tech/dbname?sslmode=require"910$# Railway example (direct connection):11$DATABASE_URL="postgresql://postgres:password@containers-us-west-123.railway.app:5432/railway"1213$# Replace the example above with YOUR actual connection string from your database provider
DESC: Create a secure random string for authentication (minimum 32 characters)
1$openssl rand -base64 3223$# Expected output:4$# dGhpc2lzYXJhbmRvbWJhc2U2NGVuY29kZWRzdHJpbmc=5$#6$# What this means: This creates a cryptographically secure random string7$# Copy this ENTIRE output - you'll paste it as NEXTAUTH_SECRET in the next step
DESC: Add required environment variables to .env.local
1$# Open .env.local and add these three required variables:23$DATABASE_URL="postgresql://..." # Your actual database URL from step 54$NEXTAUTH_URL="http://localhost:3000" # Your app URL (localhost for development)5$NEXTAUTH_SECRET="paste-output-from-previous-step-here" # The random string you just generated67$# NEXTAUTH_SECRET is used to encrypt session cookies8$# Never share this value or commit it to git
DESC: Create all the database tables your app needs
1$npm run db:push23$# Expected output:4$# Prisma schema loaded from prisma/schema.prisma5$# Datasource "db": PostgreSQL database6$#7$# Your database is now in sync with your Prisma schema. Done in 2.34s8$#9$# What this means: Prisma just created tables like User, Account, Session in your database10$# Your database is now ready to store user accounts and data
DESC: Launch the development server and open your app in a browser
1$npm run dev23$# Expected output:4$# ▲ Next.js 15.1.35$# - Local: http://localhost:30006$# - Environments: .env.local7$#8$# ✓ Starting...9$# ✓ Ready in 2.3s10$#11$# What this means: Your app is now running!12$# Open http://localhost:3000 in your web browser to see it13$# Press Ctrl+C to stop the server when you're done
Already familiar with Next.js? Here's the fastest path to get running
1$# Clone, install, configure (replace YOUR-USERNAME with your GitHub username)2$git clone https://github.com/YOUR-USERNAME/fabrk.git my-saas3$cd my-saas && npm install4$cp .env.example .env.local56$# Generate NEXTAUTH_SECRET7$openssl rand -base64 3289$# Add these to .env.local:10$# - DATABASE_URL (get from Supabase/Neon/Railway)11$# - NEXTAUTH_SECRET (paste output from openssl command above)12$# - NEXTAUTH_URL="http://localhost:3000"1314$# Then initialize database and start15$npm run db:push && npm run dev1617$# Open http://localhost:3000 in your browser
Create a secure NEXTAUTH_SECRET for encrypting sessions
1$openssl rand -base64 3223$# Expected output:4$# dGhpc2lzYXJhbmRvbWJhc2U2NGVuY29kZWRzdHJpbmc=5$#6$# Copy this entire string and add it to .env.local as:7$# NEXTAUTH_SECRET="paste-the-output-here"
Choose a PostgreSQL database provider
1$# Recommended: Supabase (supabase.com)2$# - Free tier: 500 MB database, 1 GB file storage3$# - Built-in connection pooling (important for serverless)4$# - Extra features: Auth, Storage, Realtime5$# - Best for: Most projects67$# Alternative: Neon (neon.tech)8$# - Free tier: 0.5 GB storage9$# - Serverless with instant branching10$# - Great connection pooling11$# - Best for: Developers who want database branches for testing1213$# Alternative: Railway (railway.app)14$# - No free tier, but $5/month gets you started15$# - Traditional PostgreSQL instance16$# - Best for: Those who prefer simple pricing1718$# Not recommended: PlanetScale (MySQL, not PostgreSQL)
Fabrk is a ready-to-use foundation for building software businesses. Think of it like buying a house that already has the plumbing, electrical, and HVAC installed - you just need to decorate and move in.
Instead of spending months building user accounts, payment processing, and email systems from scratch, Fabrk gives you all of that working on day one. You can focus on what makes your product unique.
[ERROR]: PORT 3000 IN USE
Run on different port: npm run dev -- -p 3001
[ERROR]: CANNOT CONNECT DATABASE
Check DATABASE_URL in .env.local, ensure no extra spaces, database is running, IP allowed
[ERROR]: NEXTAUTH SECRET MISSING
Generate with: openssl rand -base64 32