Skip to content
Refalia Defani
Go back

Managing Blockchain Infrastructure at Ditjen Dikti (IDREN Network)

Context

During my internship at Direktorat Jendral Pendidikan Tinggi (Ditjen Dikti) through MSIB Batch 6, I was responsible for managing blockchain infrastructure on the Indonesian Research and Education Network (IDREN).

Responsibilities

Infrastructure Setup

┌──────────────────────────────────────────┐
│           IDREN Network                   │
│                                          │
│  ┌──────────┐  ┌──────────┐  ┌────────┐│
│  │ Node 1   │  │ Node 2   │  │ Node 3 ││
│  │ (IPFS)   │  │ (IPFS)   │  │ (IPFS) ││
│  └──────────┘  └──────────┘  └────────┘│
│  ┌──────────┐  ┌──────────┐  ┌────────┐│
│  │ Node 4   │  │ Node 5   │  │ Node 6 ││
│  └──────────┘  └──────────┘  └────────┘│
│                                          │
│  ┌───────────────────────────────┐       │
│  │ Monitoring Stack (Docker)     │       │
│  │ Prometheus + Grafana + IPFS   │       │
│  └───────────────────────────────┘       │
└──────────────────────────────────────────┘

Key Achievements

Containerized Monitoring Stack

Implemented early-stage CI/CD practices by containerizing the entire monitoring stack:

# docker-compose.yml
version: '3.8'
services:
  ipfs:
    image: ipfs/kubo:latest
    ports:
      - "4001:4001"  # Swarm
      - "5001:5001"  # API
      - "8080:8080"  # Gateway
    volumes:
      - ipfs_data:/data/ipfs

  prometheus:
    image: prom/prometheus:latest
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
    ports:
      - "9090:9090"

  grafana:
    image: grafana/grafana:latest
    ports:
      - "3000:3000"
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASS}

Automation Scripts

Automated routine system checks using Bash and Python:

#!/bin/bash
# Health check for all IPFS nodes
for node in node{1..6}; do
    status=$(ssh $node "docker exec ipfs ipfs id" 2>/dev/null)
    if [ $? -ne 0 ]; then
        echo "[ALERT] $node is DOWN" | notify
    fi
done

Server & VM Management

Impact

Tech Stack


Share this post on:

Previous Post
Integrated Observability: Uptime Kuma & MikroTik Monitoring via Prometheus & Grafana