---
title: 'Local development'
description: 'This guide will help you set up and run the Infisical platform in local development.'
---

## Fork and clone the repo

[Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) the [repository](https://github.com/Infisical/infisical) to your own GitHub account and then [clone](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) it to your local device.

Once, you've done that, create a new branch:

```console
git checkout -b MY_BRANCH_NAME
```

## Set up environment variables


Start by creating a .env file at the root of the Infisical directory then copy the contents of the file linked [here](https://github.com/Infisical/infisical/blob/main/.env.example). View all available [environment variables](https://infisical.com/docs/self-hosting/configuration/envars) and guidance for each.

## Starting Infisical for development

We use Docker to spin up all required services for Infisical in local development. If you are unfamiliar with Docker, don’t worry, all you have to do is install Docker for your
machine and run the command below to start up the development server. 

#### Start local server 

```bash
docker-compose -f docker-compose.dev.yml up --build --force-recreate
```
#### Access local server 

Once all the services have spun up, browse to http://localhost:8080.

#### Shutdown local server 

```bash
# To stop environment use Control+C (on Mac) CTRL+C (on Win) or
docker-compose -f docker-compose.dev.yml down
```

## Starting Infisical docs locally

We use [Mintlify](https://mintlify.com/) for our docs.

#### Install Mintlify CLI.

```bash
npm i -g mintlify
```

or

```bash
yarn global add mintlify
```

#### Running the docs
Go to `docs` directory and run `mintlify dev`. This will start up the docs on `localhost:3000`

```bash
# From the root directory
cd docs; mintlify dev;
```