Getting Started
Quick start guide for LaunchSaaS – clone the repo, install dependencies, configure your database, and run your SaaS locally in minutes.
This guide will walk you through setting up LaunchSaaS. We will go through the process of cloning the project, installing dependencies, setting up your database and running the local development server.
Prerequisites
Before you begin, make sure you have the following installed:
Node.js
Node.js 20+ is required. If Node.js is not installed, download it from the Node.js official website.
# Check if Node.js is installed
node --versionGit
Git is a version control system used to track changes in files. If Git is not installed, download it from the Git official website.
# Check if Git is installed
git --versionPackage Manager
We recommend using pnpm, but you can use npm, yarn, or bun as well.
Quick Installation
1. Set Up Your Project
Clone the repository to your local machine:
git clone https://github.com/LaunchSaasOrg/saas.git your-project-name
cd your-project-nameThe monorepo contains apps/launchsaas/ — this is the real LaunchSaaS product app. Copy it to your own app directory and work from there:
cp -r apps/launchsaas apps/your-appThen update the name field in apps/your-app/package.json to match your app name:
// apps/your-app/package.json
{ "name": "your-app" }Finally, update the root package.json so all workspace scripts point to your app instead of launchsaas. Replace every --filter launchsaas with --filter your-app:
// package.json (root)
{
"scripts": {
"dev": "pnpm --filter your-app dev",
"build": "pnpm --filter your-app build",
"start": "pnpm --filter your-app start",
"db:generate": "pnpm --filter your-app db:generate",
"db:migrate": "pnpm --filter your-app db:migrate",
"db:push": "pnpm --filter your-app db:push",
"init:db": "pnpm --filter your-app init:db",
"init:scripts": "pnpm --filter your-app init:scripts"
}
}apps/launchsaas/ is kept as a reference and receives upstream updates. Make
all your customizations in your own copy (e.g. apps/your-app/) so you can
merge future LaunchSaaS updates without conflicts.
2. Install Dependencies
Install the dependencies by running:
pnpm install3. Set Up Environment Variables
Copy the example environment file into your app directory:
cp apps/your-app/.env.example apps/your-app/.envThen open apps/your-app/.env and fill in the values. The .env.example file contains all available variables with inline comments.
4. Initialize the Database
Run the database initialization command:
pnpm run initThis command will:
- Generate database migrations
- Apply migrations to your database
- Create the admin user
Make sure you have configured DATABASE_URL in your .env file before
running this command. See the Database guide for setup
instructions.
5. Start the Development Server
pnpm run devThis will start the development server on http://localhost:3000.
Verify Installation
To verify everything is working correctly:
- Homepage: Visit http://localhost:3000 - You should see the landing page
- Sign In: Go to http://localhost:3000/auth/sign-in - Try signing in with the admin credentials (from your
.envfile) - Dashboard: After signing in, you should be redirected to the dashboard
- Admin Panel: Visit http://localhost:3000/en/admin to access admin features (note the
/enlocale prefix)
Development Commands
| Command | Description |
|---|---|
pnpm run dev | Start development server |
pnpm run build | Build for production |
pnpm start | Start production server |
pnpm run format | Lint, format, and auto-fix with Biome |
pnpm run db:generate | Generate database migrations |
pnpm run db:migrate | Apply database migrations |
pnpm run init | Initialize database and create admin user |
Next Steps
Now that you have LaunchSaaS running, here are some next steps: