Add external server stats API
This commit is contained in:
@@ -244,6 +244,10 @@
|
||||
- `GET /api/auth/me`
|
||||
- 로그인 세션이 살아 있는 사용자의 `last_login_at`을 주기적으로 갱신해, 회원 관리에서 `마지막 접속일`을 따로 볼 수 있게 한다.
|
||||
- `GET /api/auth/meta`
|
||||
- `GET /api/server-stats`
|
||||
- 외부 대시보드/모니터링 앱에서 주기적으로 서비스 현황을 읽는 API다.
|
||||
- `Authorization: Bearer <SERVER_STATS_TOKEN>` 헤더 또는 `?token=` 쿼리로 인증한다.
|
||||
- 회원 수, 티어표 수, 템플릿 수, 템플릿 요청 상태, 커스텀 아이템 수, 즐겨찾기/댓글/팔로우 수를 반환한다.
|
||||
- `POST /api/auth/profile`
|
||||
- `POST /api/auth/password`
|
||||
- 로그인한 사용자가 현재 비밀번호를 확인한 뒤 새 비밀번호로 직접 변경한다.
|
||||
@@ -429,6 +433,7 @@
|
||||
- `DB_NAME`: 데이터베이스명
|
||||
- `PORT`: 서버 포트
|
||||
- `SESSION_SECRET`: 세션 서명 키
|
||||
- `SERVER_STATS_TOKEN`: 외부 대시보드용 `GET /api/server-stats` 호출 토큰. 미설정 시 해당 API는 503을 반환한다.
|
||||
- `CORS_ORIGINS`: 허용할 프런트 도메인 목록(쉼표 구분)
|
||||
- `TRUST_PROXY`: 프록시 홉 수
|
||||
- `SESSION_COOKIE_SECURE`: `true`면 HTTPS 전용 쿠키
|
||||
|
||||
@@ -54,6 +54,7 @@ cp .env.production.example .env.production
|
||||
- `MARIADB_ROOT_PASSWORD`
|
||||
- `MARIADB_PASSWORD`
|
||||
- `SESSION_SECRET`
|
||||
- `SERVER_STATS_TOKEN`
|
||||
|
||||
예시:
|
||||
|
||||
@@ -63,6 +64,7 @@ MARIADB_DATABASE=tier_cursor
|
||||
MARIADB_USER=tier_cursor
|
||||
MARIADB_PASSWORD=very-strong-app-password
|
||||
SESSION_SECRET=very-strong-random-session-secret
|
||||
SERVER_STATS_TOKEN=very-strong-dashboard-token
|
||||
```
|
||||
|
||||
## 3. 컨테이너 실행
|
||||
@@ -87,7 +89,7 @@ docker compose --env-file .env.production -f docker-compose.prod.yml --profile a
|
||||
|
||||
```bash
|
||||
git pull origin main
|
||||
docker compose --env-file .env.production -f docker-compose.prod.yml up -d --build
|
||||
sudo docker compose --env-file .env.production -f docker-compose.prod.yml up -d --build
|
||||
```
|
||||
|
||||
- Dockerfile, Nginx 설정, 프런트 소스, 백엔드 소스가 바뀐 경우에는 `--build`를 유지한다.
|
||||
@@ -170,6 +172,8 @@ docker compose --env-file .env.production -f docker-compose.prod.yml up -d --bui
|
||||
## 7. 점검 포인트
|
||||
- 메인 접속: `https://tmaker.sori.studio`
|
||||
- 헬스체크: `https://tmaker.sori.studio/health`
|
||||
- 외부 대시보드 통계:
|
||||
`curl -H "Authorization: Bearer $SERVER_STATS_TOKEN" https://tmaker.sori.studio/api/server-stats`
|
||||
- 로그인 후 새로고침 또는 `내 티어표` 진입 시 세션이 유지되는지 확인
|
||||
- 관리자 로그인 후:
|
||||
- 게임 생성
|
||||
|
||||
Reference in New Issue
Block a user