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

## Clone the repo

```bash
# navigate location to the path you want Infisical to be installed

# clone the repo and cd to Infisical dir
git clone https://github.com/Infisical/infisical
cd infisical
```

## Set up environment variables


Start by creating a .env file at the root of the Infisical directory then copy the contents of the file below into the .env file.

<Accordion title=".env file content">
  ```env 
    # Keys
    # Required key for platform encryption/decryption ops
    ENCRYPTION_KEY=6c1fe4e407b8911c104518103505b218

    # JWT
    # Required secrets to sign JWT tokens
    JWT_SIGNUP_SECRET=3679e04ca949f914c03332aaaeba805a
    JWT_REFRESH_SECRET=5f2f3c8f0159068dc2bbb3a652a716ff
    JWT_AUTH_SECRET=4be6ba5602e0fa0ac6ac05c3cd4d247f
    JWT_SERVICE_SECRET=f32f716d70a42c5703f4656015e76200

    # MongoDB
    # Backend will connect to the MongoDB instance at connection string MONGO_URL which can either be a ref
    # to the MongoDB container instance or Mongo Cloud
    # Required
    MONGO_URL=mongodb://root:example@mongo:27017/?authSource=admin

    # Optional credentials for MongoDB container instance and Mongo-Express
    MONGO_USERNAME=root
    MONGO_PASSWORD=example

    # Website URL
    # Required
    SITE_URL=http://localhost:8080

    # Mail/SMTP
    SMTP_HOST='smtp-server'
    SMTP_PORT='1025'
    SMTP_NAME='local'
    SMTP_USERNAME='team@infisical.com'
    SMTP_PASSWORD=
  ```
</Accordion>

<Warning>
    The pre-populated environment variable values above are meant to be used in development only. They should never be used in production.
</Warning>

View all available [environment variables](https://infisical.com/docs/self-hosting/configuration/envars) and guidance for each.

## Starting Infisical for development

We use use Docker to easily spin up all required services to have Infisical up and running for development. If you are unfamiliar with Docker, don't worry, all you have to do is install [Docker](https://docs.docker.com/get-docker/) for your 
machine and run the commands 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. To sign in, you may use the default credentials listed below.

Email: `test@localhost.local`
Password: `testInfisical1`

#### 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
```