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:

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!

EmailRolePurpose
superadmin@test.localSuperadminFull system access
exec@test.localExecutive DirectorLeadership, org-wide access
manager@test.localAccount ManagerMulti-account oversight
pm@test.localProject ManagerProject coordination
designer@test.localSenior DesignerCreative work
dev@test.localSenior DeveloperTechnical implementation
contributor@test.localContributorPart-time (20 hrs/week)
client@test.localClientClient 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: