1.6 KiB
1.6 KiB
아키텍처
시스템 구성
[Client Browser]
↓
[Nginx Reverse Proxy - LXC 101]
├── hanarang.nabomhalang.co.kr → Next.js FE (:3004)
└── hanarang-api.nabomhalang.co.kr → Nest.js BE (:3005)
├── SSH → 4자매 서버 (상태 조회)
├── HTTP → Gitea API (프로젝트/repo)
└── DB → MariaDB LXC 103
Frontend (Next.js)
- 프레임워크: Next.js (App Router)
- 스타일링: styled-components (return 아래에 적재)
- 상태관리: React hooks
- 테마: 다크 테마 기본, CSS 변수로 색상 관리
- 포트: 3004
Backend (Nest.js)
- 프레임워크: Nest.js
- ORM: Prisma
- 포트: 3005
- 외부 연동:
- SSH (node-ssh): 4자매 서버 상태 조회
- Gitea REST API: 프로젝트/repo/PR 정보
- MariaDB: 대시보드 자체 데이터
데이터 수집 방식
Backend가 SSH로 각 자매 서버에서 수집:
systemctl --user is-active openclaw-gateway→ 온라인 상태~/.openclaw/openclaw.json→ 설정 정보~/.openclaw/agents/main/sessions/→ 세션 로그- Gitea API → 프로젝트/브랜치/PR 정보
DB (MariaDB)
- 호스트: 10.10.10.146:33006
- DB명: hanarang_dashboard
- 인코딩: utf8mb4
배포
- Dev 서버: 10.10.10.169
- 프로세스 관리: PM2
- FE: pm2 start npm --name hanarang-web -- start (포트 3004)
- BE: pm2 start dist/main.js --name hanarang-api (포트 3005)