--- title: 'Local development' description: 'This guide will help you set up and run Infisical 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 below into the .env file. ```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= ``` The pre-populated environment variable values above are meant to be used in development only. They should never be used in production. 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. 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 ```