|
| 1 | +--- |
| 2 | +title: App Configuration Emulator Overview |
| 3 | +titleSuffix: Azure App Configuration |
| 4 | +description: Overview of Azure App Configuration emulator. |
| 5 | +services: azure-app-configuration |
| 6 | +author: zhiyuanliang-ms |
| 7 | +ms.author: zhiyuanliang |
| 8 | +ms.service: azure-app-configuration |
| 9 | +ms.topic: overview |
| 10 | +ms.date: 08/12/2025 |
| 11 | +#Customer intent: I want to learn about how to Azure App Configuration emulator for local development. |
| 12 | +--- |
| 13 | + |
| 14 | +# Azure App Configuration emulator overview |
| 15 | + |
| 16 | +The Azure App Configuration emulator is a local development tool that provides a lightweight implementation of the Azure App Configuration service. This emulator allows developers to test and develop applications locally without requiring an active Azure subscription or connection to the cloud service. |
| 17 | + |
| 18 | +The Azure App Configuration emulator is open source. For more information, visit the [GitHub repository](https://github.com/Azure/AppConfiguration-Emulator). |
| 19 | + |
| 20 | +## Feature overview |
| 21 | + |
| 22 | +The following table lists the features supported by the latest Azure App Configuration emulator. |
| 23 | + |
| 24 | +| Feature | Status | |
| 25 | +| ---------------------------------------------------------------- | --------- | |
| 26 | +| Web UI | Available | |
| 27 | +| Anonymous Authentication | Available | |
| 28 | +| [HMAC Authentication](./rest-api-authentication-hmac.md) | Available | |
| 29 | +| [Entra Id Authentication](./rest-api-authentication-azure-ad.md) | WIP | |
| 30 | +| .NET Aspire Integration | WIP | |
| 31 | + |
| 32 | +| API | Status | |
| 33 | +| ---------------------------------------------------------------- | --------- | |
| 34 | +| [`/keys`](./rest-api-keys.md) | Available | |
| 35 | +| [`/kv`](./rest-api-key-value.md) | Available | |
| 36 | +| [`/labels`](./rest-api-labels.md) | Available | |
| 37 | +| [`/locks`](./rest-api-locks.md) | Available | |
| 38 | +| [`/revisions`](./rest-api-revisions.md) | Available | |
| 39 | +| [`/snapshots`](./rest-api-snapshot.md) | WIP | |
| 40 | + |
| 41 | +## Install the emulator |
| 42 | + |
| 43 | +### [Docker](#tab/docker) |
| 44 | + |
| 45 | +Use [Docker](https://hub.docker.com/) to pull the latest [App Configuration emulator image](https://mcr.microsoft.com/artifact/mar/azure-app-configuration/app-configuration-emulator/about) by using the following console command: |
| 46 | + |
| 47 | +```console |
| 48 | +docker pull mcr.microsoft.com/azure-app-configuration/app-configuration-emulator:1.0.0-preview |
| 49 | +``` |
| 50 | + |
| 51 | +### [GitHub](#tab/github) |
| 52 | + |
| 53 | +This installation method requires that you have installed: |
| 54 | +* [Git](https://git-scm.com/) |
| 55 | +* [.NET 8.0 SDK](https://dotnet.microsoft.com/download/dotnet/8.0) |
| 56 | +* [Node.js](https://nodejs.org) |
| 57 | + |
| 58 | +1. Clone the [GitHub repository](https://github.com/Azure/AppConfiguration-Emulator) for the emulator project. |
| 59 | + |
| 60 | + ```console |
| 61 | + git clone https://github.com/Azure/AppConfiguration-Emulator.git |
| 62 | + ``` |
| 63 | + |
| 64 | +1. Build the entire solution including the UI components. |
| 65 | + |
| 66 | + ```console |
| 67 | + cd AppConfiguration-Emulator |
| 68 | + dotnet restore |
| 69 | + dotnet build |
| 70 | + ``` |
| 71 | + |
| 72 | +--- |
| 73 | + |
| 74 | +## Run the emulator |
| 75 | + |
| 76 | +### [Docker](#tab/docker) |
| 77 | + |
| 78 | +The following command runs the App Configuration emulator Docker image. The `-p 8483:8483` parameter redirects requests from host machine's port 8483 to the Docker instance. The `-e Tenant:AnonymousAuthEnabled=true` and `-e Authentication:Anonymous:AnonymousUserRole=Owner` parameters configure the anonymous authentication for the emulator. |
| 79 | + |
| 80 | +```console |
| 81 | +docker run -d -p 8483:8483 \ |
| 82 | + -e Tenant:AnonymousAuthEnabled=true \ |
| 83 | + -e Authentication:Anonymous:AnonymousUserRole=Owner \ |
| 84 | + mcr.microsoft.com/azure-app-configuration/app-configuration-emulator:1.0.0-preview |
| 85 | +``` |
| 86 | + |
| 87 | +If you want to have persisted data for the emulator, you can use a [bind mount](https://docs.docker.com/engine/storage/bind-mounts). |
| 88 | + |
| 89 | +```console |
| 90 | +docker run -d -p 8483:8483 \ |
| 91 | + -v "C:\aace:/app/.aace" \ |
| 92 | + -e Tenant:AnonymousAuthEnabled=true \ |
| 93 | + -e Authentication:Anonymous:AnonymousUserRole=Owner \ |
| 94 | + mcr.microsoft.com/azure-app-configuration/app-configuration-emulator:1.0.0-preview |
| 95 | +``` |
| 96 | + |
| 97 | +### [GitHub](#tab/github) |
| 98 | + |
| 99 | +```console |
| 100 | +dotnet run --project src/Azure.AppConfiguration.Emulator.Host/Azure.AppConfiguration.Emulator.Host.csproj |
| 101 | +``` |
| 102 | + |
| 103 | +--- |
| 104 | + |
| 105 | +## Emulator in action |
| 106 | + |
| 107 | +Once started, the emulator is available at: `http://localhost:8483` |
| 108 | + |
| 109 | +1. Open your browser and navigate to `http://localhost:8483`. |
| 110 | + |
| 111 | + > [!div class="mx-imgBorder"] |
| 112 | + >  |
| 113 | +
|
| 114 | +1. Click the `Create` button and add a new key `Message`. |
| 115 | + |
| 116 | + > [!div class="mx-imgBorder"] |
| 117 | + >  |
| 118 | +
|
| 119 | +1. Click the `Save` button and you see the key value in the configuration explorer. |
| 120 | + |
| 121 | + > [!div class="mx-imgBorder"] |
| 122 | + >  |
| 123 | +
|
| 124 | +1. Get `http://localhost:8483/kv` and you get the following response. |
| 125 | + |
| 126 | + ```json |
| 127 | + {"items":[{"etag":"EzV9zWW8k5JpcIXL00T5Kg","key":"Message","label":null,"content_type":null,"value":"Hello World!","tags":{},"locked":false,"last_modified":"2025-08-12T16:56:25.384738+00:00"}]} |
| 128 | + ``` |
| 129 | + |
| 130 | +## Next steps |
| 131 | + |
| 132 | +For examples about how to use the emulator in your applications, go to the [GitHub repository](https://github.com/Azure/AppConfiguration-Emulator/tree/main/examples). |
0 commit comments