Sign inSign up

cardanosolutions/ogmios

By cardanosolutions

β€’Updated 3 months ago

https://ogmios.dev/getting-started/docker/

Image
Developer tools
5

100K+

cardanosolutions/ogmios repository overview

⁠🐳 Overview

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.

imagerepositorytags
cardano-node-ogmioscardanosolutions/cardano-node-ogmios⁠latest
latest-{NETWORK}
v*.*.*_{CARDANO_NODE_VERSION}
v*.*.*_{CARDANO_NODE_VERSION}-{NETWORK}
ogmioscardanosolutions/ogmios⁠latest
v*.*.*

Supported NETWORK names:

  • mainnet
  • preview
  • preprod
  • sanchonet

⁠Running (standalone)

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

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

⁠Running (docker-compose)

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 [email protected]: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
⁠Configuration

The compose file allows for minimal (albeit useful) configuration parameters via environment variables:

VariableDescriptionValuesDefault
NETWORKWhich Cardano network to connect to. This impacts both Ogmios and the underlying Cardano node.mainnet, preview, preprod, sanchonetmainnet
OGMIOS_PORTWhich 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⁠

Tag summary

Content type

Image

Digest

sha256:c3fcbe58d…

Size

105.1 MB

Last updated

3 months ago

docker pull cardanosolutions/ogmios