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
- Managed and maintained blockchain node infrastructure
- Collaborated closely with Web3 developers to ensure network stability
- Supported 6+ active blockchain nodes across the IDREN network
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
- Deployed and managed Linux servers & VMs for decentralized systems
- Resolved critical server and network issues through proactive troubleshooting
- Minimized downtime for the blockchain infrastructure
Impact
- Built end-to-end monitoring improving server performance visibility
- Reduced manual operational overhead through automation
- Laid the foundation for future Kubernetes orchestration
- Ensured network stability across all IDREN blockchain nodes
Tech Stack
- Blockchain: IPFS (InterPlanetary File System)
- Containers: Docker, Docker Compose
- Monitoring: Prometheus, Grafana
- OS: Linux (Ubuntu/Debian)
- Automation: Bash, Python
- Infrastructure: Virtual Machines, Linux Servers