# Getting Started

> Complete setup guide for Pegasus projects with Docker or native Python, including database configuration and post-installation steps.

Here’s everything you need to start your first Pegasus project.

## Watch the video

[Section titled “Watch the video”](#watch-the-video)

Visual learner? The above video should get you going. Else read on below for the play-by-play.

## Create and download your project codebase

[Section titled “Create and download your project codebase”](#create-and-download-your-project-codebase)

If you haven’t already, you’ll need to [purchase a Pegasus License on saaspegasus.com](http://www.saaspegasus.com/licenses/).

Then, [create a new project on saaspegasus.com](https://www.saaspegasus.com/projects/), following the prompts and filling in whatever configuration options you want to use for your new project. Make sure that the “license” field at the bottom is set.

Once you’re done, [connect your project to Github](/github) or download your project’s source code as a zip file.

**Note: it’s recommended to use the Github integration which will make future upgrades and changes to your project easier to manage.**

## Set up source control

[Section titled “Set up source control”](#set-up-source-control)

It is highly recommended to use git for source control. [Install git](https://git-scm.com/downloads) and then follow the instructions below:

### If using the Github integration

[Section titled “If using the Github integration”](#if-using-the-github-integration)

If you created your project on Github, you can use `git clone` to get the code. Get your git URL from the Github page and then run the following command, swapping in your user account and project id:

```bash
git clone https://github.com/user/project-id.git
```

### If using the Zip file download

[Section titled “If using the Zip file download”](#if-using-the-zip-file-download)

If you chose to use a zip file instead, unzip it to a folder where you want to do your development and then manually initialize your repository:

```bash
git init
git add .
git commit -am "initial project creation"
```

It is also recommended to create a `pegasus` branch at this time for future upgrades.

```bash
git branch pegasus
```

You can read [more about upgrading here](/upgrading).

## Install prerequisites

[Section titled “Install prerequisites”](#install-prerequisites)

The following prerequisites are needed to run the app in the recommended configuration:

* [Docker](/docker#install-prerequisites)
* [uv](/python/setup/#using-uv)
* [Node and npm](/front-end/overview/#prerequisites-to-building-the-front-end)

On Windows, you will also need to install `make`, which you can do by [following these instructions](https://stackoverflow.com/a/57042516/8207).

Other configurations

* If you use Docker “full mode” you do not need to install uv or Node/npm.
* If you do not want to use Docker for Postgres and Redis, you will need to install them separately.
* To run Python without `uv` you’ll need to follow the instructions for your own environment on [this page](/python/setup#using-native--system-python-with-virtual-environments-and-pip-tools).

## Quick start

[Section titled “Quick start”](#quick-start)

Once you’ve installed the prerequisites, you can get up and running with the following commands:

```bash
make init
make dev  # This is not required if running Docker in "full mode"
```

Open a browser and visit <http://localhost:8000> and you should see your application!

Then skip ahead to the [post-install steps](/getting-started/#post-installation-steps).

## Manual setup

[Section titled “Manual setup”](#manual-setup)

The `make` quick start commands cover a lot for you. If you’d rather do everything manually, continue to the sections below.

### Enter the project directory

[Section titled “Enter the project directory”](#enter-the-project-directory)

```bash
cd {{ project_name }}
```

You should see your project files, including a `manage.py` file.

### Set up your Python environment

[Section titled “Set up your Python environment”](#set-up-your-python-environment)

There are several ways of setting up your Python environment.

See [this page](/python/setup) for information on choosing an option and setting up your environment.

### Install package requirements

[Section titled “Install package requirements”](#install-package-requirements)

With `uv`:

```bash