JJServiceManagerEnt 중계 서버 (Docker + PostgreSQL, jjsm.joynala.com)
 
 
 
Go to file
diadmin 63ad4012e1
중계 서버 1.0.0: 등록·로그인·권한·중개·중계·감사 로그·연결 기록, Docker 구성, NAS 설치 안내
- server/: ASP.NET Core WebSocket (/ws/agent, /ws/manager, /relay), PostgreSQL 스키마 자동 적용
- 권한 티켓 ECDSA P-256 서명, 로그인·등록 실패 제한
- docker-compose: jjsm-db(PostgreSQL 16), jjsm-server(127.0.0.1:21900), jjsm-backup(매일, 30개)
- tests/RelayTest: 자동 점검 60개 항목

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013U497kUNL8ArhV7jkzCpKa
2026-10-27 06:36:32 +00:00
backup 중계 서버 1.0.0: 등록·로그인·권한·중개·중계·감사 로그·연결 기록, Docker 구성, NAS 설치 안내 2026-10-27 06:36:32 +00:00
docs 중계 서버 1.0.0: 등록·로그인·권한·중개·중계·감사 로그·연결 기록, Docker 구성, NAS 설치 안내 2026-10-27 06:36:32 +00:00
server 중계 서버 1.0.0: 등록·로그인·권한·중개·중계·감사 로그·연결 기록, Docker 구성, NAS 설치 안내 2026-10-27 06:36:32 +00:00
tests/RelayTest 중계 서버 1.0.0: 등록·로그인·권한·중개·중계·감사 로그·연결 기록, Docker 구성, NAS 설치 안내 2026-10-27 06:36:32 +00:00
.dockerignore 중계 서버 1.0.0: 등록·로그인·권한·중개·중계·감사 로그·연결 기록, Docker 구성, NAS 설치 안내 2026-10-27 06:36:32 +00:00
.env.example 중계 서버 1.0.0: 등록·로그인·권한·중개·중계·감사 로그·연결 기록, Docker 구성, NAS 설치 안내 2026-10-27 06:36:32 +00:00
.gitignore 중계 서버 1.0.0: 등록·로그인·권한·중개·중계·감사 로그·연결 기록, Docker 구성, NAS 설치 안내 2026-10-27 06:36:32 +00:00
Dockerfile 중계 서버 1.0.0: 등록·로그인·권한·중개·중계·감사 로그·연결 기록, Docker 구성, NAS 설치 안내 2026-10-27 06:36:32 +00:00
README.md 중계 서버 1.0.0: 등록·로그인·권한·중개·중계·감사 로그·연결 기록, Docker 구성, NAS 설치 안내 2026-10-27 06:36:32 +00:00
docker-compose.yml 중계 서버 1.0.0: 등록·로그인·권한·중개·중계·감사 로그·연결 기록, Docker 구성, NAS 설치 안내 2026-10-27 06:36:32 +00:00

README.md

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