Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
50cc1bc
feat: reef chain bootstrap
anukulpandey Oct 3, 2025
f5949cb
fix: missing doc field
anukulpandey Oct 3, 2025
91653cd
feat: reef rpc
anukulpandey Oct 3, 2025
41920f4
fix: meta
anukulpandey Oct 3, 2025
72b2109
feat: toml changes
anukulpandey Oct 3, 2025
8869a34
fix: var in rpc
anukulpandey Oct 3, 2025
35bfe1c
feat: minimal rpc
anukulpandey Oct 3, 2025
bba1445
feat: default envs
anukulpandey Oct 3, 2025
f63563f
bootnode toml
anukulpandey Oct 3, 2025
2971695
feat: icon
anukulpandey Oct 3, 2025
3e19c09
feat: icon
anukulpandey Oct 3, 2025
61bab62
feat: old icons
anukulpandey Oct 3, 2025
d915a3e
Update template.toml
anukulpandey Oct 6, 2025
0c600c6
Update template.toml
anukulpandey Oct 6, 2025
9fa625f
fix: service name
anukulpandey Oct 8, 2025
13ccca6
feat: reef-faucet
anukulpandey Oct 9, 2025
6453f1e
feat: reef-keygen
anukulpandey Dec 10, 2025
d0277ff
feat: meta added
anukulpandey Dec 10, 2025
3766185
fix: node_name unused var
anukulpandey Dec 10, 2025
9bf92ed
fix: service name
anukulpandey Dec 10, 2025
dc7bf2e
feat: add platform
anukulpandey Dec 10, 2025
f47613b
feat: dokploy compatible
anukulpandey Dec 10, 2025
eba1896
force: platform
anukulpandey Dec 10, 2025
b8dd5e2
feat: linux
anukulpandey Dec 10, 2025
8095cb3
feat: linux-2
anukulpandey Dec 10, 2025
bbf5745
feat: eth-rpc
anukulpandey Dec 10, 2025
0a9d59b
fix: image
anukulpandey Dec 10, 2025
4d36eb5
fix: variables
anukulpandey Dec 10, 2025
bcde700
feat: bootnode update
anukulpandey Dec 10, 2025
ffad5d2
feat: spec generator running
anukulpandey Dec 10, 2025
aa0d3ba
feat: validator
anukulpandey Dec 10, 2025
489f393
fix: meta.json for validator
anukulpandey Dec 10, 2025
bf6d27c
fix: exec binary for reef-validator
anukulpandey Dec 10, 2025
b8d1e87
feat: validator start
anukulpandey Dec 10, 2025
7b80d7a
feat: remove container name
anukulpandey Dec 10, 2025
a0683df
fix: env var for eth-rpc
anukulpandey Dec 10, 2025
6e40b9a
feat: custom spec generator
anukulpandey Dec 11, 2025
9c4c147
fix: image for reef-spec
anukulpandey Dec 11, 2025
1ef6b3c
feat: dev cluster
anukulpandey Dec 11, 2025
62d8e61
fix: name
anukulpandey Dec 11, 2025
90eb1ae
fix: meta.json
anukulpandey Dec 11, 2025
3e430b3
fix: wget
anukulpandey Dec 11, 2025
4af929d
feat: reef-* removed
anukulpandey Dec 12, 2025
7045f5e
feat: reef-dev cluster
anukulpandey Dec 12, 2025
6bbeec3
Update docker-compose.yml
Siumauricio Dec 14, 2025
593d3d2
feat: close rpc ports for reef-dev-cluster
anukulpandey Dec 15, 2025
e74cb02
Merge branch 'reef-chain' of https://github.com/anukulpandey/dokploy-…
anukulpandey Dec 15, 2025
4f3ed19
feat: removed rpc ports from validator
anukulpandey Dec 15, 2025
12847f4
feat: rpc node seperate
anukulpandey Dec 15, 2025
0117938
feat: rpc node
anukulpandey Dec 15, 2025
93c6307
feat: reef-rpc
anukulpandey Dec 15, 2025
5ba5320
fix: meta
anukulpandey Dec 15, 2025
49fcc4e
feat: removed version from docker-compose bootstrap
anukulpandey Dec 15, 2025
67828bf
feat: expose 9944 for dev cluster
anukulpandey Dec 15, 2025
4de4fcb
fix: start-rpc script
anukulpandey Dec 15, 2025
4cdff52
feat: eth-rpc rpc host
anukulpandey Dec 18, 2025
0afec75
fix: flag for eth-rpc external rpc connections
anukulpandey Dec 18, 2025
1d42a67
feat: cors for all
anukulpandey Dec 18, 2025
247ca6a
Merge branch 'canary' into reef-chain
anukulpandey Dec 26, 2025
c296fa0
fix: meta.json missing ]
anukulpandey Dec 26, 2025
05ea5ba
feat:process meta
anukulpandey Dec 26, 2025
5beccb1
feat: removed container_name from docker-compose
anukulpandey Dec 26, 2025
14d369f
feat: port and p2p port must be string for bootnode
anukulpandey Dec 26, 2025
d0fed69
feat: ports for reef dev cluster
anukulpandey Dec 26, 2025
e991677
fix: ports for reef-dev-cluster
anukulpandey Dec 26, 2025
7469a84
feat: all ports to strings
anukulpandey Dec 26, 2025
819e26d
Wire Reef templates to external scripts repo
anukulpandey Apr 8, 2026
6c16481
Merge branch 'Dokploy:canary' into reef-chain
anukulpandey Apr 17, 2026
17f8f45
fix: align reef templates with dokploy rules
anukulpandey Apr 17, 2026
e7f555a
chore: process meta.json
anukulpandey Apr 17, 2026
c2fa2ee
fix: route reef spec generator via subdomain
anukulpandey Apr 17, 2026
b9c8876
feat: make reef dev cluster self-contained
anukulpandey Apr 17, 2026
06e46ec
fix: make reef templates amd64 compatible
anukulpandey Apr 17, 2026
20795c4
chore: update reef images to latest tags
anukulpandey Apr 17, 2026
02da0d9
fix: make reef dev cluster bootstrap portable
anukulpandey Apr 17, 2026
2eed1f9
fix: bootstrap reef dev cluster from pinned assets
anukulpandey Apr 17, 2026
def2dca
fix: make reef dev cluster zero-config
anukulpandey Apr 17, 2026
77cbb62
fix: pin reef dev cluster bootstrap
anukulpandey Apr 17, 2026
fa4925a
feat: add eth rpc to reef dev cluster
anukulpandey Apr 17, 2026
3b65138
fix: pin reef dev cluster eth rpc assets
anukulpandey Apr 17, 2026
86bdfc6
fix: align reef traefik routing
anukulpandey Apr 17, 2026
a396077
fix: pin reef dev cluster traefik updates
anukulpandey Apr 17, 2026
182735b
feat: add reef faucet frontend
anukulpandey Apr 17, 2026
dfcac1a
fix: pin reef faucet frontend assets
anukulpandey Apr 17, 2026
652d7cb
fix: make reef dev cluster eth rpc dokploy-safe
anukulpandey Apr 17, 2026
c095e5d
fix: gate reef dev cluster eth rpc on health
anukulpandey Apr 17, 2026
74b5720
fix: restore reef dev cluster ws rpc
anukulpandey Apr 17, 2026
5e8b053
fix: pin reef dev cluster ws assets
anukulpandey Apr 17, 2026
1d644e4
fix: proxy reef dev cluster ws host headers
anukulpandey Apr 17, 2026
8237a34
fix: pin reef dev cluster host proxy assets
anukulpandey Apr 17, 2026
d8a8242
fix: raise reef faucet drip amount
anukulpandey Apr 23, 2026
03b1101
fix: pin reef faucet amount assets
anukulpandey Apr 23, 2026
66c59e6
Update docker-compose.yml
anukulpandey May 28, 2026
ccb0259
Merge remote-tracking branch 'origin/canary' into reef-chain
Siumauricio Jul 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions blueprints/reef-bootnode/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
version: "3.8"

services:
reef-bootnode:
image: anukulpandey/reef-chain-node:latest
restart: unless-stopped
working_dir: /workspace

volumes:
- ./output:/output

expose:
- "${PORT}"
- "${P2P_PORT}"

environment:
V1_ADDR: ${V1_ADDR}
V1_SEED: ${V1_SEED}

V2_ADDR: ${V2_ADDR}
V2_SEED: ${V2_SEED}

V3_ADDR: ${V3_ADDR}
V3_SEED: ${V3_SEED}

PORT: ${PORT}
P2P_PORT: ${P2P_PORT}

entrypoint: /bin/sh
command: -c "
set -e &&

echo '📦 Installing dependencies...' &&
apt-get update &&
apt-get install -y python3 wget ca-certificates &&

echo '📥 Downloading bootstrap scripts...' &&
mkdir -p /workspace/bootstrap/scripts &&
wget -O /workspace/bootstrap/scripts/run.sh \
https://raw.githubusercontent.com/anukulpandey/dokploy-reef-chain-scripts/52c3e30d06bba10936aea2db9740eafd76b3ac40/bootstrap/scripts/run.sh &&
wget -O /workspace/bootstrap/scripts/update-spec.py \
https://raw.githubusercontent.com/anukulpandey/dokploy-reef-chain-scripts/52c3e30d06bba10936aea2db9740eafd76b3ac40/bootstrap/scripts/update-spec.py &&
wget -O /workspace/bootstrap/scripts/update-spec.sh \
https://raw.githubusercontent.com/anukulpandey/dokploy-reef-chain-scripts/52c3e30d06bba10936aea2db9740eafd76b3ac40/bootstrap/scripts/update-spec.sh &&

echo '🔧 Making scripts executable...' &&
chmod +x /workspace/bootstrap/scripts/run.sh &&
chmod +x /workspace/bootstrap/scripts/update-spec.sh &&

echo '🚀 Running spec generator + bootnode:' &&
exec /workspace/bootstrap/scripts/run.sh"
Comment on lines +39 to +51

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 security Scripts fetched from main with no integrity verification

All seven templates download shell/Python scripts from https://raw.githubusercontent.com/anukulpandey/dokploy-reef-chain-scripts/main/… at container startup without any hash check. Because the URL points to the mutable main branch, any future push to that repo (or a compromise of it) will silently replace the scripts executed in every deployment on next restart, with no way for the operator to detect the change. Consider pinning to a specific commit SHA or git tag in the URL, or verifying a checksum after download.

18 changes: 18 additions & 0 deletions blueprints/reef-bootnode/meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"id": "reef-bootnode",
"name": "Reef Chain - Bootnode Validator",
"version": "1",
"description": "Runs bootnode for a custom Reef Chain cluster",
"links": {
"github": "https://github.com/reef-chain/chain-upgrade",
"website": "https://hub.docker.com/repository/docker/anukulpandey/reef-chain-node",
"docs": "https://docs.reef.io/"
},
"logo": "reef.svg",
"tags": [
"reef-chain",
"validator",
"self-hosted",
"evm"
]
}
68 changes: 68 additions & 0 deletions blueprints/reef-bootnode/reef.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
37 changes: 37 additions & 0 deletions blueprints/reef-bootnode/template.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
[variables]
V1_ADDR = ""
V1_SEED = ""

V2_ADDR = ""
V2_SEED = ""

V3_ADDR = ""
V3_SEED = ""

PORT="8000"
P2P_PORT="30335"

[[config.domains]]
serviceName = "reef-bootnode"
port = 8000
host = "${domain}"
path = "/"

[[config.domains]]
serviceName = "reef-bootnode"
port = 8000
host = "spec.${domain}"
path = "/"

[config.env]
V1_ADDR = ""
V1_SEED = ""

V2_ADDR = ""
V2_SEED = ""

V3_ADDR = ""
V3_SEED = ""

PORT="8000"
P2P_PORT="30335"
129 changes: 129 additions & 0 deletions blueprints/reef-dev-cluster/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
services:
reef-dev-cluster:
image: anukulpandey/reef-chain-node:latest
restart: unless-stopped
working_dir: /workspace

environment:
v1sec: "${v1sec:-}"
v2sec: "${v2sec:-}"
v3sec: "${v3sec:-}"
faucetsec: "${faucetsec:-}"
DEFAULT_AMOUNT: "${DEFAULT_AMOUNT:-2000}"
MAX_AMOUNT: "${MAX_AMOUNT:-2000}"

volumes:
- reef-dev-cluster-state:/workspace/state
- reef-dev-cluster-download:/workspace/download

expose:
- "30335"
- "30333"
- "30334"
- "30336"
- "8001"
- "9944"
- "9945"
- "8080"

healthcheck:
test:
- CMD-SHELL
- bash -lc 'exec 3<>/dev/tcp/127.0.0.1/9944'
interval: 10s
timeout: 5s
retries: 30
start_period: 300s

entrypoint: /bin/sh

command:
- -c
- |
set -e

export DEBIAN_FRONTEND=noninteractive

echo '📦 Installing required tools...'

apt-get update

apt-get install -y \
wget \
curl \
python3 \
ca-certificates \
gnupg \
nginx

mkdir -p \
/etc/apt/keyrings \
/workspace \
/workspace/state \
/workspace/download

echo '🔑 Configuring NodeSource repository...'

curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key \
| gpg --batch --yes --dearmor -o /etc/apt/keyrings/nodesource.gpg

echo 'deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main' \
> /etc/apt/sources.list.d/nodesource.list

apt-get update

apt-get install -y nodejs

echo '📥 Downloading cluster bootstrap...'

wget -O /workspace/run-cluster.sh \
https://raw.githubusercontent.com/anukulpandey/dokploy-templates/d8a82420dad013a3eb7e5d8afc0b9f2700a0045a/blueprints/reef-dev-cluster/run-cluster.sh

echo '🔧 Making script executable...'

chmod +x /workspace/run-cluster.sh

echo '🚀 Starting self-contained network...'

exec env TEMPLATE_ASSET_REF=d8a82420dad013a3eb7e5d8afc0b9f2700a0045a \
/workspace/run-cluster.sh

reef-dev-cluster-eth-rpc:
image: anukulpandey/reef-chain-eth-rpc:latest
restart: unless-stopped
working_dir: /workspace

depends_on:
reef-dev-cluster:
condition: service_healthy

expose:
- "8545"

environment:
NODE_RPC_URL: ws://reef-dev-cluster:9945
PORT: "8545"

healthcheck:
test:
- CMD-SHELL
- bash -lc 'exec 3<>/dev/tcp/127.0.0.1/8545'
interval: 10s
timeout: 5s
retries: 12
start_period: 20s

entrypoint: /bin/sh

command:
- -c
- |
exec eth-rpc \
--node-rpc-url "$$NODE_RPC_URL" \
--rpc-port "$$PORT" \
--rpc-external \
--rpc-cors all

volumes:
reef-dev-cluster-state:
reef-dev-cluster-download:
13 changes: 13 additions & 0 deletions blueprints/reef-dev-cluster/faucet/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"name": "reef-dev-cluster-faucet",
"version": "1.0.0",
"private": true,
"description": "HTTP faucet for a self-contained Reef dev cluster",
"main": "server.js",
"scripts": {
"start": "node server.js"
},
"dependencies": {
"@polkadot/api": "^16.4.8"
}
}
Loading
Loading