SmartTicket은 셀프 호스팅 티켓 관리 & 지식 협업 플랫폼입니다. 단일 정적 바이너리, 내장 SQLite, RBAC, SLA 추적, 직접 연결하는 LLM RAG. 5분 만에 배포하고, 데이터를 완전히 통제하세요.
$ git clone https://github.com/liliang-cn/smartticket && cd smartticket && docker compose up -d
사람과 AI 엔진 모두를 위해, 핵심 정보를 간결하게 정리했습니다.
docker compose up티켓, SLA, 버전 관리 지식 베이스, 역할 기반 접근 제어, 고객 격리, AI 지원 — 모두 내장되어 있으며 직접 소유한 단일 프로세스에서 실행됩니다.
우선순위 & 심각도, 담당자 배정, 스레드형 대화, 첨부파일, 상태 워크플로우, 감사 추적 — 접수부터 해결까지.
티어별 응답 및 해결 목표, 구성 가능한 지원 레벨, 노드별/연간 구독 추적.
공개/내부 공개 여부를 갖춘 버전 관리 문서, 전체 텍스트 및 시맨틱 검색, 깔끔한 읽기 화면.
역할, 세분화된 권한, 각 고객이 자신의 티켓만 볼 수 있도록 범위를 제한하는 서비스 레이어 액터 모델 — REST와 MCP 모두 적용.
채팅 및 임베딩용 OpenAI 호환 프로바이더 — OpenAI, Azure, DeepSeek, Ollama, vLLM. 지식 베이스 기반 RAG, 키는 저장 시 암호화.
답변, 배정, 상태 변경이 실시간 인앱 알림으로 표시됩니다 — 이메일 서버 없이도 놓치지 않습니다.
티켓, 지식, 사용자, 제품 및 서비스를 JSON, CSV, XML, Markdown으로 내보내세요. 데이터는 설계상 이식 가능합니다.
설정 페이지에서 제품 이름, 강조색, 로고를 지정하세요 — 콘솔과 로그인 화면 전체에 적용됩니다.
Model Context Protocol 서버가 티켓 & 답변을 도구로 노출하여 에이전트가 프로그래밍 방식으로 분류하고 응답할 수 있습니다.
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/.
docker compose up 한 번으로 포트 6533에서 앱 전체가 실행됩니다.Settings에서 이름, 색상, 로고를 지정하세요.AI Providers에서 OpenAI 호환 채팅 + 임베딩 프로바이더를 추가하세요.티켓, 지식, RAG 벡터 스토어, 설정 등 모든 데이터가 smartticket-data 볼륨(단일 SQLite 파일과 업로드 파일)에 저장됩니다. 볼륨을 복사하면 백업 완료, 되돌려 놓으면 복원 완료입니다.
SmartTicket은 설계상 단일 테넌트입니다: 조직 하나, 인스턴스 하나. 외부 연락하는 SaaS 백엔드도, 공유 멀티 테넌트 데이터베이스도, 필수 서드파티 서비스도 없습니다.
┌─ your server ──────────────┐ │ smartticket (1 binary) │ │ ├─ web console :6533 │ │ ├─ REST API :6533 │ │ ├─ MCP server (stdio) │ │ └─ SQLite + RAG (vol) │ └────────────┬───────────────┘ │ optional, you choose your LLM provider
채팅과 임베딩 프로바이더를 각각 독립적으로 구성하세요 — 각자 고유한 베이스 URL, 모델, 키를 가집니다. 지식 문서는 검색 증강 답변을 위해 내장 벡터 스토어에 인덱싱됩니다.
Settings → Access를 열고 아이덴티티 프로바이더의 메타데이터 URL을 추가한 후, 이메일 클레임을 매핑하고, 팀에 대한 SSO 강제 적용을 활성화하세요…
백엔드는 Go, 프론트엔드는 React, 하위에는 SQLite. 특별한 런타임도, 사용자당 라이선스도, 예상치 못한 의존성도 없습니다.
아니요. SQLite가 바이너리에 직접 내장되어 있으며 다른 필수 서비스가 없습니다. 앱 전체가 하나의 프로세스입니다 — 바로 그것이 핵심입니다.
Docker 사용 시: git pull && docker compose up -d --build. 데이터는 named 볼륨에 저장되어 있어 재빌드 시 영향을 받지 않습니다. 소스 빌드 시: git pull && make build-all 후 바이너리를 재시작하세요. 스키마 마이그레이션은 시작 시 자동으로 실행됩니다.
아니요 — 티켓, SLA, 지식 베이스, RBAC 모두 LLM 설정 없이 작동합니다. AI 기능은 선택 사항으로, 시맨틱 검색과 RAG 답변을 원할 때만 프로바이더를 추가하면 됩니다.
아니요. 고객 역할 사용자는 서비스 레이어에서 자신의 조직 티켓만 볼 수 있도록 범위가 제한됩니다 — REST API와 MCP 서버 모두 동일한 격리가 적용됩니다.
데이터 볼륨(SQLite 파일, RAG 스토어, 업로드된 첨부파일)을 복사하면 됩니다. 복원 시에는 파일을 되돌려 놓고 바이너리를 시작하면 됩니다. 데이터 화면에서 JSON/CSV/XML/Markdown으로 전체 내보내기도 가능합니다.
소프트웨어는 오픈소스이며 셀프 호스팅 시 무료입니다. 유일한 비용은 서버 운영비이며 — AI를 활성화한 경우 — 선택한 LLM 프로바이더 이용료가 추가됩니다.
클론하고, 명령어 하나를 실행하면 직접 운영하는 인프라 위에 완전한 티켓 관리 및 지식 플랫폼이 갖춰집니다.