Tooling to Improve Namada Infrastructure quality – Namadock (Docker‑first Node Bootstrap) as fist step

Introducing Namadock: Docker‑first bootstrap for Namada nodes

Hi Namada community,

I’m happy to present Namadock, a Docker‑centric bootstrap image that applies Twelve‑Factor App principles to running a Namada node.

Why this matters

  • RPC is the heart of Namada infra – if a validator’s RPC crashes or lags, every explorer, wallet and dApp, indexers suffers. Reliable node management is critical for network health.
  • One‑command recovery – bring a fresh node online (or recover from disaster) in seconds using a snapshot.
  • Developer‑friendly – spin up a local node for testing without wrestling with system packages or source builds.
  • Open door for future tooling – Namadock’s environment‑based configuration lays the groundwork for automated upgraders and plug‑and‑play monitoring (examples below).

Note: only the Namadock container exists today. The updater and monitor shown below are ideas under active exploration.


Quick start

services:
  node:
    image: ghcr.io/mellifera-labs/namadock:v101.1.2-1beta
    container_name: namada_node
    ports:
      - "21257:26657"   # RPC
      - "21256:26656"   # P2P
      - "21260:26660"   # Prometheus
      - "21258:26658"   # CometBFT
    volumes:
      - /home/ubuntu/namadock-data:/home/namada/.local/share/namada
      - /home/ubuntu/namadock-masp:/home/namada/.masp-params
    environment:
      - RUN_FROM=snapshot
      - SNAPSHOT=https://server-5.itrocket.net/mainnet/namada/namada_2025-07-26_2919562_snap.tar.lz4
      - EXTERNAL_ADDRESS=IP:21260
      - PEERS=no
    command: ["ledger", "run"]

Run docker compose up -d and the node will restore from the snapshot and start syncing—no extra steps.

Try the beta

Grab the image & docs here → GitHub - MELLIFERA-Labs/namadock

Looking forward to your thoughts!

Future ideas (feedback welcome)

Automatic upgrades

Namada still doesn’t have an automatic update solution—this initiative introduces an automatic updater.

# 1️⃣ Scheduled upgrades — concept
services:
  node: # as above

  namada-updater:
    image: ghcr.io/mellifera-labs/namada-updater:edge
    environment:
      CONFIG: |-
        [
          {
            "height": 5_000_000,
            "image": "ghcr.io/mellifera-labs/namadock:v101.2.2-1beta"
          }
        ]

Furthermore, the updater can be configured to sync a full node from genesis, applying sequential upgrades during the initial sync to preserve the entire chain history.

Plug‑and‑play monitoring

Monitoring nodes and validators is essential—it’s a cornerstone of reliable Namada infrastructure.

Recent validator jails have underscored this issue.

A plug‑and‑play Docker image can make monitoring effortless: operators simply add a small config block to their docker-compose.yml, and their node or validator is immediately covered.

# 2️⃣ Plug‑and‑play monitoring — concept
services:
  node: # as above

  namada-monitor:         # <── not released yet
    image: ghcr.io/mellifera-labs/namada_monitor:edge
    environment:
      - ALERT__STALL=5m
      - ALERT__MISSED_BLOCKS=5
      - VALIDATOR_ADDRESS=tnam...
      - NODE_0_RPC=http://node:26657
      - ALERT_ROUTE=telegram
      - ALERT_TELEGRAM_TOKEN=<TOKEN>
      - ALERT_TELEGRAM_CHAT_ID=<CHAT_ID>
      - HEALTHCHECK=https://hc-ping.com/namada-node

I’ve already created a Prometheus exporter, but it requires Grafana, which adds another step. With this container, all you need is the environment block above—drop it into the Compose file and monitoring is live, whether your goal is to track a node or a validator.

How this all help increase quality of Namada infra

  • Higher RPC uptime – automatic container restarts and snapshot restores slash downtime after crashes

  • Smooth, timed upgrades – future updater sidecar can switch images at a target block without manual intervention

  • Standardized layout – fixed ports, paths, and env vars let monitoring/automation “just work” out of the box

  • Fast disaster recovery – RUN_FROM=snapshot re‑hydrates a node in minutes, keeping validators bonded and services current

  • Developer on‑ramp – docker compose up spins up a local chain for testing in under two minutes

  • Pre‑packaged monitoring – drop‑in alert container catches stalls, missed blocks, and health issues early

  • Easier decentralized hosting – container‑first design fits Akash, Flux, and other distributed clouds, spreading public RPC load

  • Consistent upgrade path for indexers – same Compose file can pin matching images for Namada‑indexer, MASP indexer, etc., preventing schema drift

  • Overall network reliability boost – fewer “RPC unavailable” errors, faster validator recovery, and more predictable upgrades improve the experience for wallets, dApps, explorers, and relayers

Questions for the community

  1. Does Namadock address real pain points for validators and developers?
  2. Should we invest time in building the updater and monitor sidecars?
  3. What additional features would improve node reliability or developer UX?
2 Likes
  1. Yes, especially for developers out side of the Namada community who are looking to integrate or become familiar with the ecosystem for the first time.

  2. I think if updates could be typed like; consensus-breaking, protocol-change, quality-of-life, etc. then introduce this to the object that we use to gate software updates like so: https://raw.githubusercontent.com/Luminara-Hub/namada-ecosystem/refs/heads/main/_luminara-homebase/services_health_config.json that would be great.

  3. TBD, but I’ll let you know after I get my hands aorund this a bit more.

A huge thank you! :heart_on_fire: