37 lines
1.5 KiB
Markdown
37 lines
1.5 KiB
Markdown
# JJServiceManagerRelay
|
|
|
|
JJServiceManagerEnt 중계 서버 — Synology NAS Docker + PostgreSQL, `https://jjsm.joynala.com`
|
|
|
|
모든 PC가 NAS로 바깥 방향 접속만 하면 서로 연결됩니다 (먼저 직접 연결, 안 되면 NAS 중계).
|
|
서버는 통신 내용을 볼 수 없고(종단 간 TLS), 대상 PC 접속 비밀번호도 모릅니다.
|
|
|
|
| 문서 | 내용 |
|
|
|---|---|
|
|
| [docs/설계서.md](docs/설계서.md) | 구조, 보안, 권한, DB, 메시지 |
|
|
| [docs/NAS설치.md](docs/NAS설치.md) | NAS에 설치·운영·업데이트 |
|
|
|
|
## 구성
|
|
| 경로 | 내용 |
|
|
|---|---|
|
|
| `server/` | 중계 서버 (C# .NET 8, ASP.NET Core WebSocket, Npgsql) |
|
|
| `server/Schema/` | DB 스키마 (서버가 시작할 때 자동 적용) |
|
|
| `Dockerfile` | NAS에서 직접 빌드 (`dotnet/sdk:8.0` → `dotnet/aspnet:8.0`) |
|
|
| `docker-compose.yml` | `jjsm-db` (PostgreSQL 16), `jjsm-server`, `jjsm-backup` |
|
|
| `backup/backup.sh` | 매일 pg_dump, 최근 30개 보관 |
|
|
| `.env.example` | 비밀번호·설정 예시 (`.env`로 복사해서 사용) |
|
|
|
|
## 주소
|
|
| 경로 | 용도 |
|
|
|---|---|
|
|
| `GET /health` | 상태 확인 |
|
|
| `wss://…/ws/agent` | 대상 PC (등록·온라인 상태·연결 요청 받기·감사 로그 보고) |
|
|
| `wss://…/ws/manager` | 관리 PC (로그인·기기 목록·연결 요청·[서버 관리]) |
|
|
| `wss://…/relay/{세션}` | 중계 통로 |
|
|
|
|
## 개발 환경에서 실행
|
|
```sh
|
|
cd server
|
|
JJSM_DB="Host=127.0.0.1;Port=5432;Database=jjsm;Username=jjsm;Password=..." \
|
|
JJSM_ADMIN_USER=admin JJSM_ADMIN_PASSWORD=처음비밀번호 dotnet run
|
|
```
|