Skip to content

서버 관리 가이드

1. Kurtosis (Ethereum Network)

현재 Enclave: kt-howling-swamp

상태 확인

bash
kurtosis enclave ls
kurtosis enclave inspect kt-howling-swamp

서비스 로그

bash
# Execution Layer (Geth)
kurtosis service logs kt-howling-swamp el-1-geth-lighthouse -f

# Consensus Layer (Lighthouse)
kurtosis service logs kt-howling-swamp cl-1-lighthouse-geth -f

# Validator Client
kurtosis service logs kt-howling-swamp vc-1-geth-lighthouse -f

네트워크 중지/시작

bash
# 중지
kurtosis enclave stop kt-howling-swamp

# 시작 (중지된 enclave 재시작)
kurtosis enclave start kt-howling-swamp

# 완전 삭제
kurtosis enclave rm kt-howling-swamp

# 새로 생성 (설정 파일 사용)
kurtosis run github.com/ethpandaops/ethereum-package --args-file /home/blockchain/network_params.yaml

블록 확인

bash
# 현재 블록 번호
curl -s -X POST https://rpc.flutterdev.online \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' | jq

# 최신 블록 상세
curl -s -X POST https://rpc.flutterdev.online \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest", false],"id":1}' | jq

2. Docker 서비스 관리

전체 컨테이너 상태

bash
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"

Admin API

bash
cd /home/blockchain/admin-api
docker compose ps
docker compose logs -f
docker compose restart

Bot Backend

bash
cd /home/blockchain/bot-backend
docker compose ps
docker compose logs -f
docker compose restart

Blockscout (Block Explorer)

bash
cd /home/blockchain/blockscout
docker compose ps
docker compose logs backend -f
docker compose restart

Remix IDE

bash
cd /home/blockchain/remix-ide
docker compose ps
docker compose logs -f
docker compose restart

3. Nginx

상태 확인

bash
systemctl status nginx

재시작

bash
systemctl reload nginx   # 설정 변경 시
systemctl restart nginx  # 완전 재시작

설정 테스트

bash
nginx -t

설정 파일 위치

/etc/nginx/sites-available/
├── flutterdev.online
├── scan.flutterdev.online
├── remix.flutterdev.online
└── rpc.flutterdev.online

4. SSL Certificate

인증서 상태

bash
certbot certificates

도메인 목록

  • flutterdev.online
  • www.flutterdev.online
  • scan.flutterdev.online
  • remix.flutterdev.online
  • rpc.flutterdev.online

수동 갱신

bash
certbot renew

새 도메인 추가

bash
certbot --nginx -d flutterdev.online -d www.flutterdev.online \
  -d scan.flutterdev.online -d remix.flutterdev.online \
  -d rpc.flutterdev.online -d NEW_DOMAIN --expand

5. Docker 디스크 관리

디스크 사용량 확인

bash
df -h
docker system df

Docker 정리

bash
# 사용하지 않는 이미지 삭제
docker image prune -a

# 사용하지 않는 볼륨 삭제
docker volume prune

# 전체 정리 (주의)
docker system prune -a --volumes

로그 로테이션 설정

/etc/docker/daemon.json:

json
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

6. 데이터베이스 관리

Admin DB

bash
docker exec -it admin-db psql -U admin -d wallet_manager

Bot DB

bash
docker exec -it bot-db psql -U botuser -d botdb

백업

bash
# Admin DB 백업
docker exec admin-db pg_dump -U admin wallet_manager > admin_backup.sql

# 복원
docker exec -i admin-db psql -U admin wallet_manager < admin_backup.sql

7. 전체 시스템 재시작 순서

bash
# 1. Kurtosis 확인
kurtosis enclave inspect kt-howling-swamp

# 2. Admin API 시작
cd /home/blockchain/admin-api && docker compose up -d

# 3. Bot Backend 시작
cd /home/blockchain/bot-backend && docker compose up -d

# 4. Blockscout 시작
cd /home/blockchain/blockscout && docker compose up -d

# 5. Remix IDE 시작
cd /home/blockchain/remix-ide && docker compose up -d

# 6. Nginx 재시작
systemctl reload nginx

8. 문제 해결

RPC 연결 실패

bash
# 포트 확인
docker ps | grep geth

# 네트워크 확인
docker network ls | grep howling

Blockscout 동기화 안됨

bash
docker logs blockscout-backend --tail 200
docker compose -f /home/blockchain/blockscout/docker-compose.yml restart backend

봇 트랜잭션 실패

bash
docker logs bot-api --tail 100
docker restart bot-api

디스크 부족

bash
# 로그 정리
docker logs --tail 0 $(docker ps -q)

# Docker 정리
docker system prune -a

9. 모니터링

서버 상태 API

bash
curl https://flutterdev.online/api/server-status | jq

블록체인 상태

bash
curl https://flutterdev.online/api/network | jq

컨테이너 리소스 사용량

bash
docker stats --no-stream

FlutterDev Private Blockchain Platform