> For the complete documentation index, see [llms.txt](https://docs.esignet.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.esignet.io/home/esignet-2.0.0/local-deployment/local-setup.md).

# Local Setup

Getting eSignet running on your own machine is usually the first real interaction you have with the codebase, before writing any integration, most people just want to watch the OIDC flow work end to end. Docker Compose is how eSignet makes that possible without a lengthy manual setup.

### Why Docker Compose

eSignet's OIDC flow depends on more than the eSignet service itself, it needs a database and a source of identity data to authenticate against. Rather than asking you to install and configure each of these individually, matching versions and wiring configuration by hand, Docker Compose brings up the whole stack with a single command and tears it down just as easily. It also mirrors the way these services actually run in production - as separate containers behind well-defined ports, so what you learn locally carries over directly to how the pieces fit together in a real deployment.

### What's Included

A real government or enterprise identity system usually isn't something you have, or should have access to in a local development environment. So eSignet ships with a [Mock Identity System](/home/esignet-2.0.0/local-deployment/local-setup/mock-id-system.md): a stand-in identity backend that eSignet's [Authn Provider](/home/esignet-2.0.0/develop/integration/authenticator.md) connects to, supporting the same authentication factors a real system would (PIN, OTP, and biometrics). This lets the full OIDC flow run end to end locally without any external dependency.

### Two Ways to Start It

There are two Docker Compose files, and which one you need depends on what you're doing:

| Compose file                                                | Services it brings up                                                                   | Use it when                                                                                                     |
| ----------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| **Full demo** -`docker-compose.yaml`                        | Database, Mock Identity System, the eSignet OIDC/OAuth2 service, and the OIDC login UI. | You want to evaluate or demo eSignet end to end without building anything from source.                          |
| **Dev dependencies only** - `dependent-docker-compose.yaml` | Database and Mock Identity System only                                                  | You're running the eSignet service itself from source and don't want a containerized copy running alongside it. |

### Get Started

{% hint style="info" icon="github" %}
**Docker Compose setup**: GitHub — [docker-compose](https://github.com/mosip/esignet/tree/master/docker-compose)
{% endhint %}

{% hint style="info" icon="github" %}
**Step-by-step setup guide**: [Local setup README](https://github.com/mosip/esignet/blob/master/docker-compose/README.md)&#x20;
{% endhint %}

### In This Section

<table data-view="cards"><thead><tr><th data-hidden data-type="content-ref">Cover image</th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td><a href="https://1450374920-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGLWCTe02ubJM6M7TcHlg%2Fuploads%2F11PtybT4HgAisbwYZP9C%2FMock%20Identity%20System.png?alt=media&amp;token=0c450c3b-5955-4cd3-a7da-9824ce6a44d8">Mock Identity System.png</a></td><td><a href="/home/esignet-2.0.0/local-deployment/local-setup/mock-id-system.md">Mock Identity System</a></td></tr><tr><td></td><td><a href="https://1450374920-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGLWCTe02ubJM6M7TcHlg%2Fuploads%2FkdoWH3CnRrJsPQC1B4jm%2FMock%20Relying%20Party.png?alt=media&amp;token=a0e8e362-0fcb-4c3a-8d98-9f4fde67a11b">Mock Relying Party.png</a></td><td><a href="/home/esignet-2.0.0/local-deployment/local-setup/mock-client-application.md">Mock Relying Party</a></td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.esignet.io/home/esignet-2.0.0/local-deployment/local-setup.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
