Skip to content

Instantly share code, notes, and snippets.

@QCPOLstakepool
Last active September 2, 2025 19:50
Show Gist options
  • Save QCPOLstakepool/fb47747fb004ed3f507c74d2924a8ca8 to your computer and use it in GitHub Desktop.
Save QCPOLstakepool/fb47747fb004ed3f507c74d2924a8ca8 to your computer and use it in GitHub Desktop.

Midnight Validator (preview)

This is an attempt to run a Midnight validator as partner chain on Cardano preview network. Follow the steps at: https://docs.midnight.network/validate/run-a-validator/step-2

The provided docker compose file compose-partner-chains.yml includes cardano-node, but we want to use our existing cardano node running outside of docker.

Prerequisites

  1. A CPU that supports AVX-512.
  2. Make sure cardano-node runs with the --socket-path argument with a socket name node.socket such as cardano-node run [...] --socket-path /home/core/cardano-my-node/db/node.socket [...].

Modified compose-partner-chains.yml (without cardano-node):

volumes:
  db-sync-data: {}
  postgres-data: {}
  ogmios-data: {}

services:
  postgres:
    image: postgres:15.3
    platform: linux/amd64
    container_name: db-sync-postgres
    environment:
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - POSTGRES_DB=${POSTGRES_DB}
      - POSTGRES_USER=${POSTGRES_USER}
    volumes:
      - postgres-data:/var/lib/postgresql/data
    ports:
      - "${POSTGRES_PORT}:${POSTGRES_PORT}"
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"]
      interval: 5s
      timeout: 5s
      retries: 5

  cardano-db-sync:
    image: ghcr.io/intersectmbo/cardano-db-sync:13.6.0.4
    platform: linux/amd64
    container_name: cardano-db-sync
    restart: unless-stopped
    depends_on:
      postgres:
        condition: service_healthy
    environment:
      - NETWORK=${CARDANO_NETWORK}
      - POSTGRES_HOST=${POSTGRES_HOST}
      - POSTGRES_PORT=${POSTGRES_PORT}
      - POSTGRES_DB=${POSTGRES_DB}
      - POSTGRES_USER=${POSTGRES_USER}
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
    volumes:
      - /home/core/cardano-my-node/db:/node-ipc
      - db-sync-data:/var/lib

  cardano-ogmios:
    image: cardanosolutions/ogmios:v6.11.0
    platform: linux/amd64
    container_name: cardano-ogmios
    restart: unless-stopped
    environment:
      - DATA_DIR=/data
    ports:
      - "1337:1337"
    volumes:
      - /home/core/cardano-my-node/db:/ipc
      - ogmios-data:/data
    command:
      - --node-socket
      - /ipc/node.socket
      - --node-config
      - /config/${CARDANO_NETWORK}/cardano-node/config.json
      - --host
      - 0.0.0.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment