GMC Infra Dashboard

System Ready
Update: 2026-03-08 05:27:17

Notification Center

×
Loading recent alerts...

GMC Admin Panel

Infrastructure Guide 개요 ×

서버3 릴레이 공인IP 34.47.112.73 화이트리스트 기준 IP

현재 관제 기준은 s1(운영) · s2(리미테크) · s4(macstudio push-agent) 3개 카드입니다. s3(relay)는 중계/네트워크 유지보수용이며 일상 컨테이너 제어 대상이 아닙니다.
빠른 참조: s3 relay 공인IP 34.47.112.73 · s3 relay 내부IP 10.178.0.19 · s4 Mac Studio Tailscale 100.119.47.90 · s4 외부 송신IP(egress)는 카드에 실시간 표기
중요: 도메인 인바운드가 relay를 타더라도, Mac Studio가 exit-node를 사용하지 않으면 거래소에는 Mac Studio의 별도 공인IP가 보일 수 있습니다.

공용 라우팅 / 접근

DashboardHTTPS monitor.nanoplanc.com → s1 :5002
Public Edges1 Traefik → :80 / :443
Relay Public IP34.47.112.73 (gmc-devbox-relay)
Mac Studio Tailscale100.119.47.90 (vibecrew-macstudio)
Scutum/OKXHTTPS scutumbots.nanoplanc.com → 34.47.112.73(s3 relay) → 100.119.47.90:5001(s4)
Scutum MaestroHTTPS scutum.nanoplanc.com → s1 Traefik → maestro-web
Admin Toolss1 Portainer :9000 / :9443 (관리용)

작업자 전달용 접속 정보입니다. 호스트/계정/명령까지만 안내하고, 개인키/비밀번호/토큰은 이 화면에 넣지 않는 기준을 유지합니다.

서버별 SSH 접속

접속 원칙
GCP 서버(s1, s2, s3 relay)는 직접 SSH(IP:22) 대신 IAP 터널(--tunnel-through-iap) 기반 접속만 사용합니다.
포트 오픈 요청 대신 IAM 권한을 부여해서 접속합니다.
s1 SSH⚠️ 직접 SSH 불가 포트 22 차단됨 — IAP 터널 사용 필수
s1 gcloudgcloud compute ssh gmc-master-server --zone=us-west1-b --project=gmc-master-infra --tunnel-through-iap
s2 gcloudgcloud compute ssh scutum-main-server --zone=asia-northeast3-a --project=scutum-maestro --tunnel-through-iap
s3 gcloudgcloud compute ssh gmc-devbox-relay --zone=asia-northeast3-a --project=gmc-master-infra --tunnel-through-iap 릴레이 점검 시
s3 relay 공인IP34.47.112.73 외부 라우팅 엔드포인트
s3 relay 내부IP10.178.0.19 (VPC 내부)
s4 SSHssh <mac-user>@100.119.47.90 (Tailscale 내부망)
s4 Tailscale IP100.119.47.90
s4 외부 송신IP서버 카드의 s4-ip 줄에서 egress x.x.x.x로 확인 (거래소 화이트리스트 기준)
화이트리스트 고정 모드tailscale set --exit-node=100.66.58.126 --exit-node-allow-lan-access=true (Mac Studio outbound를 relay 공인IP로 고정)
필수 선행Tailscale Admin Console에서 gmc-devbox-relay0.0.0.0/0, ::/0 경로(Exit Node)를 승인해야 적용됨
s4 agent 점검launchctl list | grep gmc-devbox-status-push 또는 로그에서 action pull/ack 정상 여부 확인

IAP 포트 포워딩 (로컬 개발)

사용법특정 포트를 로컬에서 접근할 때 — 서버에서 포트를 열 필요 없음
s1 포워딩gcloud compute ssh gmc-master-server --zone=us-west1-b --project=gmc-master-infra --tunnel-through-iap -- -L 로컬포트:localhost:서버포트 -N
s3 포워딩gcloud compute ssh gmc-devbox-relay --zone=asia-northeast3-a --project=gmc-master-infra --tunnel-through-iap -- -L 로컬포트:localhost:서버포트 -N 필요 시
예시-L 8085:localhost:8085 -N → 브라우저에서 localhost:8085 접근

작업자 GCP 접근 권한 추가 방법

IAM 추가GCP 콘솔 → IAM → 구성원 추가 → roles/iap.tunnelResourceAccessor 부여
프로젝트gmc-master-infra (s1, s3) / scutum-maestro (s2)
인증작업자가 gcloud auth login 후 위 gcloud 명령어 사용 가능
전달 원칙
접속 주소와 사용자 계정만 공유합니다.
개인 SSH 키, 콘솔 비밀번호, Telegram 토큰, 각 프로젝트 secret은 이 가이드에 넣지 않습니다.

macstudio(s4)에서 검증한 프로젝트를 s1(master/public edge)에 올릴 때는 개발 실행 기준이 아니라 운영 배치 기준으로 다시 체크해야 합니다. Scutum Maestro 배포는 맥 로컬에서 make push-prod 또는 s1 배포 스크립트를 사용합니다.

s4 → s1 배치 체크리스트

배치 판단이 프로젝트가 public route 대상인지, s1이 맞는지 먼저 판단합니다.
도메인외부 공개가 필요하면 domain, Traefik label, TLS entrypoint를 같이 준비합니다.
포트s4의 임시 포트나 localhost 바인딩을 그대로 옮기지 말고, s1에서는 Traefik 뒤에 둘지 host port를 열지 결정합니다.
환경값env 파일 위치, secret, DB/Redis 연결 대상, callback URL을 운영 기준으로 다시 맞춥니다.
데이터volume, uploads, sqlite, local file cache가 있으면 먼저 백업/이전 여부를 확정합니다.
자동기동restart policy, 서버 재부팅 후 자동기동, healthcheck 유무를 확인합니다.
검증배포 후에는 container running/healthy, domain 200, 로그인/헬스체크, dashboard 표시까지 봅니다.
실무 팁
s4(macstudio)는 로컬 전용 설정/임시 바인딩이 많습니다.
s1에 올릴 때는 “컨테이너가 뜬다”보다 “도메인/헬스/TLS/자동기동이 운영 기준에 맞다”를 더 중요하게 봐야 합니다.

운영 원칙

서버 카드는 머신 상태(CPU/MEM/DSK/APP)를 보고, 아래 표는 컨테이너 인벤토리를 봅니다.
선택 프로젝트 중지/시작은 현재 보이는 서버 + 현재 선택한 프로젝트 범위에만 적용됩니다.
s3(relay)는 숨김된 중계 전용 서버이며, 컨테이너 관제 기준은 s1/s2/s4입니다.
s4 제어는 push-agent 대기열 방식이라 버튼 실행 후 수 초~수십 초 지연이 있을 수 있습니다.
s4 CPU는 mac load average를 퍼센트로 환산해 표시합니다(원본 load 값은 괄호로 병기).

작업자 전달용 체크

  • s1 작업 전에는 public route 영향 여부를 먼저 전달합니다.
  • s4 작업 전에는 dev/prod 혼재 여부와 로컬 데이터 경로(volume/파일) 범위를 같이 공유합니다.
  • GCP 서버(s1/s2/s3 relay) 접속은 IAP 터널(--tunnel-through-iap) 필수. 직접 IP:22 SSH는 차단됨. 포트 오픈 요청 대신 GCP IAM 계정 추가를 요청하세요.
  • 새 프로젝트를 s1에 올릴 때는 도메인, env, volume, healthcheck, restart policy를 한 묶음으로 전달합니다.

:root에 정의된 CSS 디자인 토큰입니다. 색상, 타이포그래피, 반경, 그림자를 일관되게 유지합니다.

Surface

--surface-base
#0d1117
--surface-raised
#161b27
--surface-overlay
#1c2235
--surface-sunken
#0a0d14

Border · Text

--border-subtle
#2a3347
--border-muted
#3d4f6b
--text-primary
#e6edf3
--text-secondary
#b0bec5
--text-muted
#7a8fa8
--text-soft
#96a8bb

Semantic Colors

--color-success
#3dba70
--color-success-light
#5dd68d
--color-danger
#ef4444
--color-danger-soft
#f87171
--color-info
#60a5fa
--color-info-alt
#3b82f6
--color-primary
#6366f1
--color-warning
#f59e0b

Brand · Group Colors

--group-gmc
GMC Core
--group-aegis
Aegis
--group-airdropper
Airdropper
--group-maestro
Maestro
--group-scutum
Scutum/OKX
--group-viguard
Viguard
--group-web3
Web3 Payout
--group-infra
인프라

Typography Scale

--text-xlServer Monitor20px
--text-lg컨테이너 상태16px
--text-mdmaestro-worker · Running14px
--text-baseAPI: python3 dashboard_server.py13px
--text-captionMEM · CPU · DSK 레이블12px
--text-sm배지 · 버튼 서브텍스트11px
--text-xs알림 카운터 · 메타정보10px

Border Radius

--radius-sm6px
--radius-md8px
--radius-lg12px
--radius-xl16px
--radius-pill999px

Shadows

--shadow-card
0 2px 8px rgba(0,0,0,0.4)
--shadow-elevated
0 8px 24px rgba(0,0,0,0.5)
--shadow-panel
0 20px 60px rgba(0,0,0,0.7)

서버 이력 ×

최근 작업/재부팅/자동복구 이력을 불러오는 중...

Dashboard Settings

×
공백으로 두면 현재 토큰 유지.
기기 지원 여부 확인 중...
아이폰은 Safari에서 이 페이지를 연 뒤 공유 버튼 → 홈 화면에 추가 후, 홈 화면 앱에서 푸시를 켤 수 있습니다.
gmc-master-server
Master Server #1
● SSH
136.109.235.47 · us-west1-b
40Running
0Stopped
40Total
CPU4코어/12.8%
MEM15.6GB/38.0%
DSK80%
APP정상
UP-
Click to filter this server
scutum-main-server
Limitech Server #2
● SSH
34.50.49.231 · asia-northeast3-a
-Running
-Stopped
-Total
CPU대기 중
MEM대기 중
DSK대기 중
APP정상
UP-
Click to filter this server
vibecrew-macstudio
Local Dev Server #4 (push-agent, relay 34.47.112.73)
● PUSH-AGENT
100.119.47.90 · tailscale (relay 34.47.112.73) · egress 수집 중
0Running
0Stopped
0Total
CPUPUSH 대기
MEMPUSH 대기
DSKPUSH 대기
APP정상
UPPUSH 대기
Click to filter this server
컨테이너 상태

gmc-master-server1번 운영서버

필터 / 전체
컨테이너상태CPU가동 시간제어
maestro-web healthy 17 minutes
maestro-worker running 17 minutes
airdropper-v2-web running About an hour
airdropper-v2-api healthy About an hour
aegis_frontend_green running About an hour
aegis_spot_worker_green running About an hour
aegis_backend_green running About an hour
airdropper-v2-worker running 2 hours
airdropper-v2-postgres healthy 2 hours
maestro-dev-web healthy 7 hours
maestro-dev-worker running 8 hours
maestro-scheduler running 12 hours
maestro-coach running 12 hours
maestro-dev-mysql healthy 23 hours
maestro-mysql healthy 23 hours
aegis_futures_worker_green running 28 hours
maestro-dev-coach running 22 hours
scutumbots-prod-app-1 healthy 2 days
scutumbots-prod-worker-1 running 2 days
maestro-dev-scheduler running 2 days
maestro-redis healthy 2 days
traefik running 5 hours
maestro-dev-redis healthy 2 days
aegis_frontend_dev running 4 days
web3-payout-engine-api-1 healthy 4 days
web3-payout-engine-worker-1 running 3 days
web3-payout-engine-watcher-1 running 4 days
web3-payout-engine-beat-1 running 4 days
scutumbots-mysql-prod-1 healthy 4 days
scutumbots-redis-prod-1 healthy 4 days
aegis_spot_worker_dev running 4 days
aegis_backend_dev running 4 days
aegis_futures_worker_dev running 4 days
web3-payout-engine-frontend-1 running 4 days
web3-payout-engine-certbot-1 running 4 days
web3-payout-engine-db-1 healthy 4 days
web3-payout-engine-redis-1 healthy 4 days
portainer running 4 days
shared-redis running 4 days
shared-postgres running 4 days

scutum-main-serverLimitech 서버

필터 / 전체
컨테이너상태CPU가동 시간제어

vibecrew-macstudio4번 로컬 개발서버 (push-agent)

필터 / 전체
컨테이너상태CPU가동 시간제어
PUSH 대기

📁 파일 브라우저

준비
이름 크기 수정일 권한