> ## Documentation Index
> Fetch the complete documentation index at: https://docs.levelrail.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Self-host Consul with Docker

> HashiCorp Consul in single-server mode with the web UI: service discovery, health checks and a key-value store.

HashiCorp Consul in single-server mode with the web UI: service discovery, health checks and a key-value store.

This page describes the Levelrail template for Consul (Infrastructure). It deploys the services below as one Docker Compose app on your own server. Project site: [https://developer.hashicorp.com/consul/docs](https://developer.hashicorp.com/consul/docs).

Recommended memory: about 256 MiB.

## Services, ports and volumes

| Service | Image | Container ports | Volumes |
| - | - | - | - |
| `consul` | `hashicorp/consul:1.20` | 8500 | `data -&#62; /consul/data` |

## Environment variables

| Service | Variable | Value |
| - | - | - |
| `consul` | `CONSUL_BIND_INTERFACE` | Preset in the template |

Passwords and keys marked as generated are created for you when the app is deployed and stored as secrets. Values are not shown here.

## Deploy Consul with Levelrail

In the dashboard, open **Apps**, choose **New app**, then **Browse templates**, and select Consul. Review the Compose body and deploy.

With the CLI:

```bash theme={"dark"}
levelrail-cli templates deploy consul --name my-consul
```

See the [service template catalog](/templates-and-registry) for how templates work, and [Getting started](/getting-started) if you have not installed Levelrail yet.

## More Infrastructure templates

* [AdGuard Home](/self-host/adguard-home)
* [Cloudflare DDNS](/self-host/cloudflare-ddns)
* [Elasticsearch](/self-host/elasticsearch)
* [etcd](/self-host/etcd)
* [NATS](/self-host/nats)

All templates are listed in the [self-host gallery](/self-host).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.