Dokploy Instructions

How to deploy clusters seamlessly using Dokploy.

Reef Cluster - Dokploy Deployment Guide

A Reef validator cluster can be deployed in two different ways on Dokploy: 🟢 Method 1: Single Template (Full Cluster Setup) [RECOMMENDED]

  • A single deployment handles bootnode + all validators + RPC.

šŸ”µ Method 2: Multiple Templates (Bootstrap + Individual Validators)

  • You deploy bootstrap + validators separately for more control.

šŸ“‘ Table of Contents


🟢 Method 1: Single Template – Full Cluster Setup

Step 1: Generate Validator Keys

  1. Go to Create Service

    Create Service
  2. Select Template from the menu.

  3. Add template repo URL at the top-right:

  4. Search for “Reef”

Search Reef
  1. Click Create on Reef Chain – Keys Generator, then confirm.
Keys Generator Create
  1. Deploy the service.
Deploy Service
  1. Visit the port http://reef.host:48765 or your IP address / hostname at port 48765
Visit Port 48765
  1. Copy all address + seed pairs, they will be needed later.
Copy Address Seed Pairs

Step 2: Deploy Custom Spec Generator

  1. Go to Templates and search for:

Reef Chain – Custom Spec Generator

Custom Spec Generator
  1. Deploy it.

  2. It runs on port 8000 by default:

ETH RPC Running ETH RPC Dashboard

šŸŽ‰ Your full cluster (bootnode + validators + RPC + ETH RPC) is now live.


šŸ”µ Method 2: Multiple Templates – Bootstrap & Validators

Step 1: Generate Validator Keys (Same as Method 1)

šŸ‘‰ Jump to: Generate Validator Keys

Step 2: Deploy Bootnode Validator

Create service → choose template:

Reef Chain – Bootnode Validator

Bootnode Validator Template

Fill in:

  • v1sec, v2sec, v3sec
  • v1addr, v2addr, v3addr
  • PORT=8000 → exposes custom spec
  • P2P_PORT=30335 → bootnode peer port
Bootnode Environment Config

Bootnode starts → no peers yet (expected behavior).


Step 3: Deploy Additional Validators

Use: Reef Chain – Validator

Validator Template
Deploy 2 or more validators → finalize blocks.

Deploy ETH RPC (Method 2)

Same template:

Reef Chain – ETH RPC

ETH RPC Template

āš ļø Important — ETH RPC default port: http://reef.host:8545


Local Docker deployment instructions:

  1. clone the git repo.

    git clone -b reef-chain https://github.com/anukulpandey/dokploy-templates.git

  2. switch to the reef-dev-cluster directory.

    cd dokploy-templates/blueprints/reef-dev-cluster

  3. Start the docker instance:

    docker-compose up

  4. Verify the logs — once completed, your logs should look similar to the following:

reef-dev-cluster-1  | 2026-04-23 09:41:22 Running JSON-RPC server: addr=127.0.0.1:42967,[::1]:36105
reef-dev-cluster-1  | 2026-04-23 09:41:22 ć€½ļø Prometheus exporter started at 127.0.0.1:9618
reef-dev-cluster-1  | 2026-04-23 09:41:22 šŸ‘¶ Starting BABE Authorship worker
Container reef-dev-cluster-reef-dev-cluster-1 Healthy
reef-dev-cluster-eth-rpc-1  | 2026-04-23 09:41:26 🌐 Connecting to node at: ws://reef-dev-cluster:9945 ...
reef-dev-cluster-eth-rpc-1  | 2026-04-23 09:41:26 🌟 Connected to node at: ws://reef-dev-cluster:9945
reef-dev-cluster-eth-rpc-1  | 2026-04-23 09:41:26 šŸ’¾ Using in-memory database, keeping only 256 blocks in memory
reef-dev-cluster-eth-rpc-1  | 2026-04-23 09:41:26 Node does not have getAutomine RPC. Defaulting to automine=false.
reef-dev-cluster-eth-rpc-1  | 2026-04-23 09:41:26 ć€½ļø Prometheus exporter started at 127.0.0.1:9616
reef-dev-cluster-eth-rpc-1  | 2026-04-23 09:41:26 Running JSON-RPC server: addr=0.0.0.0:8545,[::]:32917
reef-dev-cluster-eth-rpc-1  | 2026-04-23 09:41:26 šŸ”Œ Subscribing to new blocks (BestBlocks)
reef-dev-cluster-eth-rpc-1  | 2026-04-23 09:41:26 šŸ”Œ Subscribing to new blocks (FinalizedBlocks)
reef-dev-cluster-1          | ==> /tmp/bootnode.log <==
reef-dev-cluster-1          | 2026-04-23 09:41:27 šŸ’¤ Idle (0 peers), best: #0 (0xe72c…1267), finalized #0 (0xe72c…1267), ⬇ 0 ⬆ 0