SMHUB 설치 (smplus-hub-admin)
신규 서버에 SMHUB(인증/SSO)를 설치하고, SMPLUS-IM · SMPLUS-STORE · SMPLUS-WEB을 한 화면에서 연결·관리할 수 있는 설치 관리자입니다. Docker 이미지 하나를 받아 웹 서비스 컨테이너 하나만 띄우면, 이후 모든 설정은 브라우저에서 진행합니다.
다운로드
Docker 이미지(gzip tar, 약 87MB)를 내려받아 docker load로 바로 사용할 수
있습니다.
이 이미지가 하는 일
smplus-hub-admin 컨테이너 자체는 웹 서비스 하나만 구동합니다. 다른
데이터베이스나 백그라운드 프로세스를 이미지 안에 담지 않고, 호스트의 Docker 데몬을
제어해 나머지 구성요소를 설치·기동합니다.
- SMHUB 설치 — 대시보드에서 PostgreSQL/Redis/IMAP 접속 정보를 입력하면
smhub:latest이미지를 실제로docker run해 인증(OIDC/OAuth2) 서버를 기동합니다. 이미 설치된 경우 시작/중지/재시작과 최근 로그 확인도 이 화면에서 합니다. - SMPLUS-IM / SMPLUS-STORE / SMPLUS-WEB 연결 — 같은 호스트에 이미 떠 있는 메신저(IM)·저장소(Store)·웹메일(Web) 컨테이너를 감지해 실행 상태를 보여주고 시작/중지/재시작을 제어합니다. 컨테이너 이름은 환경변수로 지정하며, 기본값은 각 제품의 표준 컨테이너명입니다.
- 계정 보호 — 최초 접속 시 도메인과 관리자 아이디/비밀번호를 한 번 입력받습니다. 아이디는 AES-256-GCM으로, 비밀번호는 bcrypt로 암호화해 컨테이너 데이터 볼륨의 파일에 저장하고, 이후 접속부터는 이 계정으로만 로그인됩니다. 별도의 데이터베이스가 필요 없습니다.
설치 방법
이미지를 불러온 뒤, 데이터 보관용 볼륨과 호스트 Docker 소켓을 함께
마운트해 컨테이너를 실행합니다. Docker 소켓 마운트는 이 컨테이너가 호스트에 다른
컨테이너를 생성·시작·중지할 수 있게 하기 위해 반드시 필요합니다. SMHUB의 도메인/
사용자/부서/그룹/역할/클라이언트를 직접 관리하는 화면이 호스트의 PostgreSQL(sm_ent)에
127.0.0.1로 접속해야 하므로 --network host로 실행합니다.
docker load < smplus-hub-admin-image.tar.gz mkdir -p /opt/smplus-hub-admin/data docker run -d --name smplus-hub-admin --restart unless-stopped --network host \ -e PORT=4090 \ -v /opt/smplus-hub-admin/data:/app/data \ -v /var/run/docker.sock:/var/run/docker.sock \ smplus-hub-admin:latest
실행 후 브라우저로 http://서버주소:4090에 접속하면 최초 설정 화면이
나타납니다. 도메인과 관리자 아이디/비밀번호를 입력하면 바로 대시보드로 이동하고,
이후부터는 그 계정으로 로그인해야 합니다.
환경변수 (선택)
| 변수 | 설명 |
|---|---|
| PORT | 관리 화면이 수신할 포트(기본 4090) |
| IM_CONTAINER_NAME | SMPLUS-IM으로 인식할 컨테이너 이름(기본 ejabberd) |
| STORE_CONTAINER_NAME | SMPLUS-STORE로 인식할 컨테이너 이름(기본 minio-freeitm) |
| WEB_CONTAINER_NAME | SMPLUS-WEB으로 인식할 컨테이너 이름(기본 freeitm-webmail) |
| SMHUB_CONTAINER_NAME | SMHUB로 인식할 컨테이너 이름(기본 smplus-hub) |
| SM_ENT_PG_HOST / PORT / USER / PASSWORD / DATABASE | 도메인/사용자/부서/그룹/역할/클라이언트 관리 화면이 접속할 SMHUB 자체 PostgreSQL(기본 127.0.0.1:5432, database sm_ent) |
도메인/사용자/조직 관리
사이드바의 "SMHUB"를 클릭하면 정보 · 도메인 · 사용자 · 그룹 · 부서 · 조직도 · 역할 · 클라이언트 · 외부인증 9개 메뉴가 나타납니다. 전부 SMHUB 자체 PostgreSQL(sm_ent)을 직접 읽고 씁니다 - SMHUB를 설치한 뒤 별도 관리 도구 없이 이 화면 하나로 운영할 수 있습니다.
보안 안내
/var/run/docker.sock을 마운트하면 이 컨테이너는 사실상 호스트 전체를
제어할 수 있는 권한을 갖습니다. 반드시 신뢰할 수 있는 서버에서만 실행하고, 4090 포트를
외부에 직접 노출하지 말고 리버스 프록시로 TLS와 접근 제한(사내망/특정 IP 등)을 적용한
뒤 사용하는 것을 권장합니다.
SMHUB 설치 화면에서 입력하는 값
대시보드의 "SMHUB" 메뉴에서 아래 정보를 입력하면 인증 서버 컨테이너가 바로 기동됩니다. PostgreSQL과 Redis는 이 설치 관리자가 함께 설치하지 않으므로 미리 준비되어 있어야 합니다.
| 입력값 | 설명 |
|---|---|
| OIDC Issuer URL / 포트 | SMHUB가 응답할 외부 주소와 내부 리슨 포트 |
| Postgres 접속 정보 | 사용자/역할/도메인 등 SMHUB 자체 데이터 저장용 |
| Redis 접속 정보 | 세션/토큰 캐시용 |
| IMAP 접속 정보 | 로컬 인증(auth_type=local) 사용 시 비밀번호 검증에 사용 |
| SMTP / 알림 메일 | 가입 인증메일, 비밀번호 재설정 메일 발송용 |