cardanosolutions/ogmios
https://ogmios.dev/getting-started/docker/
100K+
The easiest way to get started with Ogmios is to use docker. This guide won't cover installing docker, so make sure you have the Docker daemon installed and running.
Ogmios docker images come in two flavours: cardano-node-ogmios
and ogmios
. The former is used to run a single container that bundles both a Cardano-node and an Ogmios server running side-by-side. It is likely the easiest way to get started. The latter is a standalone Ogmios server, and you'll need to run that container in orchestration with a cardano-node; this is made relatively easy with Docker compose.
Images are uploaded to Dockerhub
and are tagged using release versions combined with the supported network name,
or with :latest
if you're living on the edge. If using the mainnet
image
you can omit the network name.
image | repository | tags |
---|---|---|
cardano-node-ogmios | cardanosolutions/cardano-node-ogmios | latest latest-{NETWORK} v*.*.*_{CARDANO_NODE_VERSION} v*.*.*_{CARDANO_NODE_VERSION}-{NETWORK} |
ogmios | cardanosolutions/ogmios | latest v*.*.* |
Supported NETWORK names:
mainnet
preview
preprod
sanchonet
Assuming that you have a cardano-node running, with its domain socket (node.socket
) available under ./ipc
, you may start a standalone Ogmios container as follows:
$ docker run --rm \
--name ogmios \
-p 1337:1337 \
-v ./ipc:/ipc \
cardanosolutions/ogmios:latest \
--node-socket /ipc/node.socket \
--node-config /config/mainnet/cardano-node/config.json \
--host 0.0.0.0
Note that the --host
argument is necessary to bind the server from within the container.
Configuration files are available from within the image under /config
in folders named after the supported networks.
/config
├── mainnet
│ ├── cardano-node
│ │ ├── config.json
│ │ └── topology.json
│ └── genesis
│ ├── alonzo.json
│ ├── byron.json
│ ├── conway.json
│ └── shelley.json
├── preprod
│ ├── cardano-node
│ │ ├── config.json
│ │ └── topology.json
│ └── genesis
│ ├── alonzo.json
│ ├── byron.json
│ ├── conway.json
│ └── shelley.json
└── preview
├── cardano-node
│ ├── config.json
│ └── topology.json
└── genesis
├── alonzo.json
├── byron.json
└── shelley.json
Alternatively, you may use Docker's compose to run either Ogmios standalone, or an orchestration of cardano-node and Ogmios talking to each other. Compose is a handy tool to orchestrate multiple services packaged as containers. It works from a compose file which is available in the project repository, get it via:
$ git clone --depth 1 git@github.com:cardanosolutions/ogmios.git
$ cd cardano-ogmios
Then, starts the components stack using:
$ docker-compose up
👆This will run and connect:
Once finish, tear the stack down using:
$ docker-compose down
The compose file allows for minimal (albeit useful) configuration parameters via environment variables:
Variable | Description | Values | Default |
---|---|---|---|
NETWORK | Which Cardano network to connect to. This impacts both Ogmios and the underlying Cardano node. | mainnet , preview , preprod , sanchonet | mainnet |
OGMIOS_PORT | Which ports to listen to (both for WebSockets and health endpoints) | Any valid port number. | 1337 |
Need more information? Have a look at the user-guide
docker pull cardanosolutions/ogmios