> For the complete documentation index, see [llms.txt](https://tdiesler.gitbook.io/cardano/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tdiesler.gitbook.io/cardano/docker-compose/cardano-compose.md).

# Cardano Services

Everything in one script with Docker Compose.

## Prepare the Configuration Volume

The block producer gets its keys from a volume that we prepare here

```
docker run --name=tmp -v bprod-keys:/keys centos
docker cp ~/cardano/keys/pool/kes.skey tmp:/keys/kes.skey
docker cp ~/cardano/keys/pool/vrf.skey tmp:/keys/vrf.skey
docker cp ~/cardano/keys/pool/node.cert tmp:/keys/node.cert
docker rm -f tmp
```

## Running the Relay + Block Producer

```
$ docker-compose -f nix/docker/compose/cardano-nodes.yaml up --detach

Creating compose_relay ... done
Creating compose_bprod ... done
```

For details you may want to have a look at [nix/docker/compose/cardano-nodes.yaml](https://github.com/tdiesler/nessus-cardano/blob/master/nix/docker/compose/cardano-nodes.yaml).

## Stopping the Relay + Block Producer

```
$ docker-compose -f nix/docker/compose/cardano-nodes.yaml down

Stopping compose_bprod ... done
Stopping compose_relay ... done
Removing compose_bprod ... done
Removing compose_relay ... done
Removing network cardano
```
