macOS Installation Guide
This guide will walk you through setting up your development environment on macOS. Please follow each step carefully to ensure a smooth setup process.
🚀 Installation Steps
1. Homebrew Setup
Homebrew is the package manager for macOS and will help us install other dependencies:
# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Add Homebrew to your PATH (for Apple Silicon Macs)
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
source ~/.zshrc
# Verify installation
brew --version
2. Node.js Setup
We recommend using Node.js version 22.x.x or later. You have two options:
Option A: Direct Installation (Recommended)
If you prefer a simpler setup:
# Install Node.js using Homebrew
brew install node@22
# Add Node.js to your PATH
echo 'export PATH="/opt/homebrew/opt/node@22/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
# Verify installation
node --version
Option B: Using NVM
NVM (Node Version Manager) helps you manage multiple Node.js versions easily:
# Install NVM using Homebrew
brew install nvm
# Add NVM to your shell
mkdir ~/.nvm
echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.zshrc
echo '[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"' >> ~/.zshrc
echo '[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"' >> ~/.zshrc
source ~/.zshrc
# Install and use Node.js
nvm install 22
nvm use 22
3. Docker Environment Setup
Understanding Docker's Role
Docker is required for running Supabase locally. While this is not a strict requirement, it is recommended to use Docker for local development. You don't need to know Docker to use Supabase, you simply need to have it running to spin up the services locally.
Docker is essential for our development environment because:
- It runs our Supabase database and related services
- Ensures consistent development environment across team members
- Manages multiple services (database, auth, storage) efficiently
Installing Docker
💡 Development Tip: macOS users can use OrbStack as a lighter alternative to Docker Desktop for better performance.
-
Install Docker Desktop:
brew install --cask docker
or you can directly download from Docker website
-
Start Docker Desktop:
- Open Docker Desktop from Applications folder
- Wait for the Docker engine to start
- Verify installation:
docker --version
docker-compose --version
-
Configure Resources (recommended):
- Open Docker Desktop preferences
- Go to 'Resources'
- Allocate at least 4GB of RAM (6GB recommended)
- Apply & Restart
4. Supabase CLI Installation
The Supabase CLI allows you to run the entire Supabase stack locally and manage your Supabase projects. For detailed information, refer to the official Supabase CLI documentation.
# Install Supabase CLI
brew install supabase/tap/supabase
# Verify installation
supabase -v
Updating Supabase CLI
When a new version is released:
# Backup your data first
supabase db dump --local --data-only > backup.sql
# Stop Supabase and update
supabase stop --no-backup
brew upgrade supabase
5. Project Setup
-
Clone Repository:
# Using HTTPS (Recommended)
git clone https://github.com/themeselection/<OUR_REPO_NAME>.git
# Or using SSH (if configured)
git clone git@github.com:themeselection/<OUR_REPO_NAME>.git
# Navigate to project directory
cd jetship-nextjs-saas-boilerplate -
Set Up Git Remote:
# Remove existing remote (if any)
git remote rm origin
# Add upstream
git remote add <UPSTREAM> https://github.com/themeselection/<OUR_REPO_NAME>.git
# Once you have your repository URL, add it as the origin
git remote add origin <your-repository-url>
# Keeping your repository up to date
git pull upstream main💡 Why set upstream?
- Keeps your fork in sync with our main repository
- Allows you to pull updates and bug fixes
- Helps manage your custom changes separately
-
Install Dependencies:
# Install pnpm if not installed
brew install pnpm
# Install project dependencies
pnpm install -
Start Supabase:
cd apps/web
pnpm web:supabase:start⚠️ First run may take several minutes to download Docker images
-
Start Development Server:
# From project root
pnpm dev -
InBucket Email Server:
# Access InBucket at
http://localhost:54324💡 Important: InBucket is a test mail server that captures all emails sent during local development. You'll need this for:
- Testing Supabase Auth emails (signup, password reset, etc.)
- Viewing transactional emails
- Debugging email templates
We recommend bookmarking the InBucket URL as you'll need it frequently during development.
⚡ Performance Tips
Docker Optimization
- Keep Docker Desktop up to date
- Clean up unused containers and images regularly:
docker system prune
- Monitor resource usage in Docker Desktop
System Maintenance
- Use Activity Monitor to track resource usage
- Clear Docker cache periodically:
docker builder prune
🎉 Verification Steps
- Open
http://localhost:3000
- Main application - Visit
http://localhost:54323
- Supabase Studio - Check Docker Desktop status
Happy Coding! 🚀