---
title: Developer Quickstart
description: Quickly set up Documenso on your machine for local development with Docker and Docker Compose.
---

import { Callout } from 'fumadocs-ui/components/callout';
import { Step, Steps } from 'fumadocs-ui/components/steps';

## Quickstart

<Callout type="info">
  **Note**: This guide assumes that you have both [docker](https://docs.docker.com/get-docker/) and
  [docker-compose](https://docs.docker.com/compose/) installed on your machine.
</Callout>

Want to get up and running quickly? Follow these steps:

{/* prettier-ignore */}
<Steps>

<Step>
### Fork Documenso

Fork the [Documenso repository](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks) to your GitHub account.

</Step>

<Step>
### Clone repository

After forking the repository, clone it to your local device by using the following command:

```bash
git clone https://github.com/<your-username>/documenso
```

</Step>

<Step>
### Set up environment variables

Set up your environment variables in the `.env` file using the `.env.example` file as a reference.

Alternatively, you can run `cp .env.example .env` to get started with our handpicked defaults.

</Step>

<Step>
### Start database and mail server

Run `npm run dx` in the root directory.

This will spin up a Postgres database and inbucket mailserver in a docker container.

</Step>

<Step>
### Start the application

Run `npm run dev` in the root directory to start the application.

</Step>

<Step>
### (Optional) Fasten the Process

Want it even faster? Just use:

```sh
npm run d
```

</Step>

</Steps>

### Access Points for the Project

You can access the following services:

- Main application - http://localhost:3000
- Incoming Mail Access - http://localhost:9000
- Database Connection Details:
  - Port: 54320
  - Connection: Use your favorite database client to connect to the database.
- S3 Storage Dashboard - http://localhost:9001

## See Also

- [Manual Setup](/docs/developers/local-development/manual) - Set up without Docker
- [Signing Certificate](/docs/developers/local-development/signing-certificate) - Create a certificate for local development
