오픈소스 · 셀프 호스팅 · 단일 테넌트

고객지원 데스크와 지식 베이스 — 직접 운영하는 인프라 위에.

SmartTicket은 셀프 호스팅 티켓 관리 & 지식 협업 플랫폼입니다. 단일 정적 바이너리, 내장 SQLite, RBAC, SLA 추적, 직접 연결하는 LLM RAG. 5분 만에 배포하고, 데이터를 완전히 통제하세요.

$ git clone https://github.com/liliang-cn/smartticket && cd smartticket && docker compose up -d
1
정적 바이너리
<512MB
메모리 사용량
0
외부 서비스
SQLite
내장 데이터베이스
100%
내 데이터
https://support.your-company.com
Dashboard
Tickets
Knowledge
Customers
Access
AI Providers
workspace overview
128
미처리 티켓
96%
SLA 준수율
2.4h
평균 첫 응답
312
KB 문서
업그레이드 후 이메일 알림이 중단됨긴급in SLA
우리 프로바이더로 SSO를 구성하는 방법이 궁금합니다높음in SLA
고객 티켓을 CSV로 내보내기보통답변 완료
// 한눈에 보기

SmartTicket을 한 화면에.

사람과 AI 엔진 모두를 위해, 핵심 정보를 간결하게 정리했습니다.

제품 유형오픈소스 셀프 호스팅 티켓 관리 & 지식 베이스
모델단일 테넌트 — 조직당 하나의 인스턴스
라이선스MIT — 셀프 호스팅 무료
스택Go 1.25 · React + TypeScript · SQLite
배포 방식단일 정적 바이너리, 또는 docker compose up
의존성없음 — 내장 SQLite, DB·Redis·프록시 불필요
AIOpenAI 호환 LLM + RAG 직접 연결 (선택 사항)
리소스< 512 MB RAM; 오프라인 / 폐쇄망 환경에서도 동작
라이브 데모smartticket.superleo.app
// 하나의 바이너리에 모든 것

완전한 지원 스택, 별도 연결 작업 없음.

티켓, SLA, 버전 관리 지식 베이스, 역할 기반 접근 제어, 고객 격리, AI 지원 — 모두 내장되어 있으며 직접 소유한 단일 프로세스에서 실행됩니다.

전체 티켓 라이프사이클

우선순위 & 심각도, 담당자 배정, 스레드형 대화, 첨부파일, 상태 워크플로우, 감사 추적 — 접수부터 해결까지.

SLA 추적

티어별 응답 및 해결 목표, 구성 가능한 지원 레벨, 노드별/연간 구독 추적.

지식 베이스

공개/내부 공개 여부를 갖춘 버전 관리 문서, 전체 텍스트 및 시맨틱 검색, 깔끔한 읽기 화면.

RBAC & 고객 격리

역할, 세분화된 권한, 각 고객이 자신의 티켓만 볼 수 있도록 범위를 제한하는 서비스 레이어 액터 모델 — REST와 MCP 모두 적용.

LLM + RAG 직접 연결

채팅 및 임베딩용 OpenAI 호환 프로바이더 — OpenAI, Azure, DeepSeek, Ollama, vLLM. 지식 베이스 기반 RAG, 키는 저장 시 암호화.

인앱 알림

답변, 배정, 상태 변경이 실시간 인앱 알림으로 표시됩니다 — 이메일 서버 없이도 놓치지 않습니다.

가져오기 / 내보내기

티켓, 지식, 사용자, 제품 및 서비스를 JSON, CSV, XML, Markdown으로 내보내세요. 데이터는 설계상 이식 가능합니다.

화이트라벨 브랜딩

설정 페이지에서 제품 이름, 강조색, 로고를 지정하세요 — 콘솔과 로그인 화면 전체에 적용됩니다.

내장 MCP 서버

Model Context Protocol 서버가 티켓 & 답변을 도구로 노출하여 에이전트가 프로그래밍 방식으로 분류하고 응답할 수 있습니다.

// 다운로드 → 실행

5분 만에 나만의 인스턴스를 배포하세요.

SmartTicket은 웹 콘솔과 API를 함께 제공하는 단일 자체 포함 바이너리로 제공됩니다. 시작하는 데 데이터베이스 서버, 메시지 큐, 리버스 프록시가 필요 없습니다.

# Recommended — one command, nothing else to install
git clone https://github.com/liliang-cn/smartticket.git
cd smartticket

# (recommended) generate strong secrets
echo "SMARTTICKET_JWT_SECRET=$(openssl rand -hex 32)"  > .env
echo "SMARTTICKET_SECRET_KEY=$(openssl rand -hex 32)" >> .env

docker compose up -d

# → http://localhost:6533
# login: admin@smartticket.local / admin123 (change it!)
# Prerequisites: Go 1.25+, Node 20+, pnpm
git clone https://github.com/liliang-cn/smartticket.git
cd smartticket

# builds the console and embeds it into one static binary
make build-all

./build/smartticket serve --config configs/config.dev.yaml

# → http://localhost:6533
# Build once, install the single binary
make build-all
sudo cp build/smartticket /usr/local/bin/

# Set persistent secrets + point at the prod config
# (edit storage.data_path in configs/config.prod.yaml first)
export SMARTTICKET_JWT_SECRET=$(openssl rand -hex 32)
export SMARTTICKET_SECRET_KEY=$(openssl rand -hex 32)

smartticket serve --config configs/config.prod.yaml

# Put TLS in front with Caddy/Nginx, or use the
# systemd unit in deployments/systemd/.
1클론 & 실행. docker compose up 한 번으로 포트 6533에서 앱 전체가 실행됩니다.
2로그인. 기본 관리자 계정으로 로그인한 후 즉시 비밀번호를 변경하세요.
3브랜딩 설정. Settings에서 이름, 색상, 로고를 지정하세요.
4AI 연결 (선택 사항). AI Providers에서 OpenAI 호환 채팅 + 임베딩 프로바이더를 추가하세요.
데이터 & 백업

티켓, 지식, RAG 벡터 스토어, 설정 등 모든 데이터가 smartticket-data 볼륨(단일 SQLite 파일과 업로드 파일)에 저장됩니다. 볼륨을 복사하면 백업 완료, 되돌려 놓으면 복원 완료입니다.

// 데이터 주권

데이터가 내 서버를 떠나지 않습니다.

SmartTicket은 설계상 단일 테넌트입니다: 조직 하나, 인스턴스 하나. 외부 연락하는 SaaS 백엔드도, 공유 멀티 테넌트 데이터베이스도, 필수 서드파티 서비스도 없습니다.

  • 내장 SQLite — 원하면 완전 오프라인, 폐쇄망 환경에서도 실행.
  • LLM API 키는 AES-256-GCM으로 저장 시 암호화.
  • 개방형 포맷으로 전체 내보내기 — 벤더 종속 없음.
단일 테넌트 토폴로지
┌─ your server ──────────────┐
│  smartticket (1 binary)    │
│   ├─ web console  :6533    │
│   ├─ REST API     :6533    │
│   ├─ MCP server   (stdio)  │
│   └─ SQLite + RAG (vol)    │
└────────────┬───────────────┘
             │ optional, you choose
        your LLM provider
// 나만의 AI 연결

내 조건으로 AI 지원을.

채팅과 임베딩 프로바이더를 각각 독립적으로 구성하세요 — 각자 고유한 베이스 URL, 모델, 키를 가집니다. 지식 문서는 검색 증강 답변을 위해 내장 벡터 스토어에 인덱싱됩니다.

OpenAI Azure OpenAI DeepSeek Aliyun Bailian Ollama vLLM LocalAI …OpenAI 호환 모두 지원
검색 증강 답변
Q: 팀을 위한 싱글 사인온(SSO)은 어떻게 활성화하나요?
ANSWER · cited from 3 KB articles

Settings → Access를 열고 아이덴티티 프로바이더의 메타데이터 URL을 추가한 후, 이메일 클레임을 매핑하고, 팀에 대한 SSO 강제 적용을 활성화하세요…

// 운영자를 위한 설계

검증된 안정적인 스택으로 구축.

백엔드는 Go, 프론트엔드는 React, 하위에는 SQLite. 특별한 런타임도, 사용자당 라이선스도, 예상치 못한 의존성도 없습니다.

Go 1.25· 백엔드
GIN + GORM· API & ORM
SQLite· 내장 (CGO-free)
React + TypeScript· 콘솔
Vite + Tailwind· 빌드 & 스타일링
JWT + RBAC· 인증
CortexDB· RAG 벡터 스토어
Docker· 원커맨드 배포
// 자주 묻는 질문

FAQ

데이터베이스 서버나 Redis가 필요한가요?+

아니요. SQLite가 바이너리에 직접 내장되어 있으며 다른 필수 서비스가 없습니다. 앱 전체가 하나의 프로세스입니다 — 바로 그것이 핵심입니다.

새 버전으로 어떻게 업데이트하나요?+

Docker 사용 시: git pull && docker compose up -d --build. 데이터는 named 볼륨에 저장되어 있어 재빌드 시 영향을 받지 않습니다. 소스 빌드 시: git pull && make build-all 후 바이너리를 재시작하세요. 스키마 마이그레이션은 시작 시 자동으로 실행됩니다.

AI 기능이 필수인가요?+

아니요 — 티켓, SLA, 지식 베이스, RBAC 모두 LLM 설정 없이 작동합니다. AI 기능은 선택 사항으로, 시맨틱 검색과 RAG 답변을 원할 때만 프로바이더를 추가하면 됩니다.

고객들이 서로의 티켓을 볼 수 있나요?+

아니요. 고객 역할 사용자는 서비스 레이어에서 자신의 조직 티켓만 볼 수 있도록 범위가 제한됩니다 — REST API와 MCP 서버 모두 동일한 격리가 적용됩니다.

인스턴스를 어떻게 백업하나요?+

데이터 볼륨(SQLite 파일, RAG 스토어, 업로드된 첨부파일)을 복사하면 됩니다. 복원 시에는 파일을 되돌려 놓고 바이너리를 시작하면 됩니다. 데이터 화면에서 JSON/CSV/XML/Markdown으로 전체 내보내기도 가능합니다.

비용이 얼마나 드나요?+

소프트웨어는 오픈소스이며 셀프 호스팅 시 무료입니다. 유일한 비용은 서버 운영비이며 — AI를 활성화한 경우 — 선택한 LLM 프로바이더 이용료가 추가됩니다.

// 5분 만에 준비 완료

지원 스택을 직접 소유하세요.

클론하고, 명령어 하나를 실행하면 직접 운영하는 인프라 위에 완전한 티켓 관리 및 지식 플랫폼이 갖춰집니다.