Back to Documentation
Getting Started
Get MovaLab running locally in under 5 minutes. Zero-configuration Docker setup - no cloud accounts needed.
Prerequisites
Before you begin, ensure you have:
- Node.js 18.0+ - Download
- Docker Desktop - Download
- Docker Hub Account (recommended) - Download
- Git - Download
Windows users: Use Git Bash (included with Git for Windows) or WSL2.
Docker Authentication
Authenticate with Docker Hub to avoid rate limit errors during setup:
docker login
This increases pull limits from 100 to 200 per 6 hours and prevents "Rate exceeded" errors.
One-Command Setup
macOS / Linux
git clone https://github.com/itigges22/movalab.git cd movalab ./scripts/first-time-setup.sh
Windows (Git Bash)
git clone https://github.com/itigges22/movalab.git cd movalab ./scripts/first-time-setup.sh
Windows (Command Prompt / PowerShell)
git clone https://github.com/itigges22/movalab.git cd movalab scripts\first-time-setup.bat
The setup script automatically:
- - Checks all prerequisites (Node, Docker, Supabase CLI)
- - Installs dependencies
- - Starts local Supabase (PostgreSQL + Auth + Storage + Studio)
- - Applies database migrations (42+ tables with RLS policies)
- - Loads seed data (8 test users, 3 accounts, 6 projects, 20 tasks)
- - Runs health checks and verifies everything works
Start Developing
npm run dev
Open http://localhost:3000 and login with:
Email: superadmin@test.local
Password: Test1234!
Test User Accounts
All test users have password: Test1234!
| Role | Purpose | |
|---|---|---|
| superadmin@test.local | Superadmin | Full system access |
| exec@test.local | Executive Director | Leadership, org-wide access |
| manager@test.local | Account Manager | Multi-account oversight |
| pm@test.local | Project Manager | Project coordination |
| designer@test.local | Senior Designer | Creative work |
| dev@test.local | Senior Developer | Technical implementation |
| contributor@test.local | Contributor | Part-time (20 hrs/week) |
| client@test.local | Client | Client portal access |
Docker Commands
npm run docker:start # Start Supabase services npm run docker:stop # Stop Supabase (preserves data) npm run docker:reset # Reset database and re-run migrations npm run docker:seed # Reset database + create seed users npm run docker:studio # Open Supabase Studio (database UI) npm run docker:health # Verify setup
Service URLs
App
http://localhost:3000
Supabase Studio
http://localhost:54323
API
http://localhost:54321
PostgreSQL
localhost:54322
Need Help?
Quick Fixes
docker login # Authenticate to avoid rate limits npm run docker:health # Check if everything is working npm run docker:reset # Reset database if something went wrong
Next Steps
Now that MovaLab is running, explore the features: