Skip to main content

System Requirements

Before you begin, ensure your development environment meets the following requirements:
  • Docker Engine installed and running
  • Node.js version 20+ (LTS version)
  • Python version 3.8+
  • PostgreSQL version v14
  • Redis version v6.2.7
  • Memory: Minimum 12 GB RAM recommended
Running the project on a system with only 8 GB RAM may lead to setup failures or memory crashes, especially during Docker container build/start or dependency install. Consider using cloud environments like GitHub Codespaces or upgrade your local RAM if possible.

Quick Start

Plane is a monorepo containing both the backend API (Django) and frontend applications in a single repository.
1

Clone the repository

Clone the Plane repository and navigate to the project directory:
git clone https://github.com/makeplane/plane.git [folder-name]
cd [folder-name]
chmod +x setup.sh
2

Run the setup script

The setup script will create all necessary .env files and install dependencies:
./setup.sh
This script will:
  • Copy all .env.example files to .env files for each service
  • Generate a Django SECRET_KEY for the API
  • Enable pnpm and install Node.js dependencies
3

Start Docker containers

Launch the required services (PostgreSQL, Redis, etc.) using Docker Compose:
docker compose -f docker-compose-local.yml up
You can add -d flag to run containers in detached mode: docker compose -f docker-compose-local.yml up -d
4

Start development servers

In a separate terminal, start the web applications:
pnpm dev
This will start:
  • Web app on http://localhost:3000
  • Admin app on http://localhost:3001
5

Register as instance admin

  1. Open your browser to http://localhost:3001/god-mode/
  2. Register yourself as an instance admin
6

Access the main application

  1. Open http://localhost:3000 in your browser
  2. Log in using the same credentials from the previous step
Remember to refresh your browser if changes don’t auto-reload. Happy contributing! 🎉

Development Commands

Once your environment is set up, use these commands for development:
pnpm dev

Targeting Specific Packages

To run commands for a specific package or app:
pnpm turbo run <command> --filter=<package>
Examples:
Start Storybook for UI components
pnpm --filter=@plane/ui storybook

Troubleshooting

Memory Issues

If you encounter memory crashes during setup:
  • Ensure you have at least 12 GB of RAM available
  • Close other memory-intensive applications
  • Consider using GitHub Codespaces or a cloud development environment

Port Conflicts

If ports 3000, 3001, or other required ports are already in use:
  • Stop any services running on those ports
  • Or modify the port configuration in the respective app’s package.json

Docker Issues

If Docker containers fail to start:
  • Ensure Docker Engine is running
  • Check Docker logs: docker compose -f docker-compose-local.yml logs
  • Try rebuilding containers: docker compose -f docker-compose-local.yml up --build

Environment Variables

If you need to modify environment variables:
  • Review the .env files in the root and apps/ directories
  • Restart the relevant services after making changes

Next Steps

Build docs developers (and LLMs) love