SMHUB 설치 (smplus-hub-admin)

신규 서버에 SMHUB(인증/SSO)를 설치하고, SMPLUS-IM · SMPLUS-STORE · SMPLUS-WEB을 한 화면에서 연결·관리할 수 있는 설치 관리자입니다. Docker 이미지 하나를 받아 웹 서비스 컨테이너 하나만 띄우면, 이후 모든 설정은 브라우저에서 진행합니다.

다운로드

Docker 이미지(gzip tar, 약 87MB)를 내려받아 docker load로 바로 사용할 수 있습니다.

smplus-hub-admin-image.tar.gz 다운로드

이 이미지가 하는 일

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_NAMESMPLUS-IM으로 인식할 컨테이너 이름(기본 ejabberd)
STORE_CONTAINER_NAMESMPLUS-STORE로 인식할 컨테이너 이름(기본 minio-freeitm)
WEB_CONTAINER_NAMESMPLUS-WEB으로 인식할 컨테이너 이름(기본 freeitm-webmail)
SMHUB_CONTAINER_NAMESMHUB로 인식할 컨테이너 이름(기본 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 / 알림 메일가입 인증메일, 비밀번호 재설정 메일 발송용