서버 관리 가이드
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}' | jq2. 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 restartBot Backend
bash
cd /home/blockchain/bot-backend
docker compose ps
docker compose logs -f
docker compose restartBlockscout (Block Explorer)
bash
cd /home/blockchain/blockscout
docker compose ps
docker compose logs backend -f
docker compose restartRemix IDE
bash
cd /home/blockchain/remix-ide
docker compose ps
docker compose logs -f
docker compose restart3. 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.online4. 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 --expand5. Docker 디스크 관리
디스크 사용량 확인
bash
df -h
docker system dfDocker 정리
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_managerBot 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.sql7. 전체 시스템 재시작 순서
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 nginx8. 문제 해결
RPC 연결 실패
bash
# 포트 확인
docker ps | grep geth
# 네트워크 확인
docker network ls | grep howlingBlockscout 동기화 안됨
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 -a9. 모니터링
서버 상태 API
bash
curl https://flutterdev.online/api/server-status | jq블록체인 상태
bash
curl https://flutterdev.online/api/network | jq컨테이너 리소스 사용량
bash
docker stats --no-stream