# Configure Docker on TurboStack

Enabling Docker for an application provisions the container engine so you can run a
containerized application.

![The Docker panel under Configure application > Technologies, enabled, with the note to expose the application through the Reverse Proxy tab|1000](../../assets/screenshots/technologies/docker.png)

## Where to configure it

Docker is enabled per application:

1. Open the host and select the application.
2. Go to **Configure application > Technologies > Docker**.
3. Enable Docker.

To publish the container, also enable the
[reverse proxy](../reverse-proxy/configure.md) and point its upstream port at the
container's exposed port.

## YAML configuration

### Required

| Key | Meaning |
|---|---|
| `docker_enabled` | Set to `true` to run a containerized application for this application. |

### Optional

There are no additional Docker keys to set. To expose the container, configure
the reverse proxy keys (`proxy_enabled`, `proxy_upstream_port`) - see
[Configure Reverse Proxy](../reverse-proxy/configure.md).

```yaml
# Per-application: run a containerized app and proxy to it
docker_enabled: true
proxy_enabled: true
proxy_upstream_port: 3000   # the container's exposed port
```

> [!TIP]
> Docker and the reverse proxy work together: Docker runs the container, and
> Nginx forwards public traffic to the container's port. Configure both for a
> publicly reachable containerized app.

## Common tasks

- [run a Docker container](run-a-container.md)
- [use Docker Compose](use-docker-compose.md)

## Related

- [What is Docker?](what-is.md)
- [Configure Reverse Proxy](../reverse-proxy/configure.md)
- [Applications tab](../../platform/hosts/applications/index.md)
