1.5 KiB
1.5 KiB
JJServiceManagerRelay
JJServiceManagerEnt 중계 서버 — Synology NAS Docker + PostgreSQL, https://jjsm.joynala.com
모든 PC가 NAS로 바깥 방향 접속만 하면 서로 연결됩니다 (먼저 직접 연결, 안 되면 NAS 중계). 서버는 통신 내용을 볼 수 없고(종단 간 TLS), 대상 PC 접속 비밀번호도 모릅니다.
| 문서 | 내용 |
|---|---|
| docs/설계서.md | 구조, 보안, 권한, DB, 메시지 |
| 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/{세션} |
중계 통로 |
개발 환경에서 실행
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