Open source · Self-hosted · Single-tenant

Il tuo helpdesk e la tua knowledge base — sulla tua infrastruttura.

SmartTicket è una piattaforma self-hosted per ticketing & knowledge collaboration. Un singolo binario statico, SQLite integrato, RBAC, monitoraggio SLA e RAG con il tuo LLM. Deployabile in cinque minuti, con pieno controllo sui tuoi dati.

$ git clone https://github.com/liliang-cn/smartticket && cd smartticket && docker compose up -d
1
binario statico
<512MB
memoria utilizzata
0
servizi esterni
SQLite
database integrato
100%
i tuoi dati
https://support.your-company.com
Dashboard
Tickets
Knowledge
Customers
Access
AI Providers
panoramica workspace
128
Ticket aperti
96%
SLA rispettato
2.4h
Prima risposta media
312
Articoli KB
Le notifiche email si sono interrotte dopo l'aggiornamentourgentein SLA
Come configuro SSO con il nostro provider?altoin SLA
Esportare i ticket di un cliente in CSVnormalerisposto
// in sintesi

SmartTicket in una schermata.

L'essenziale, esposto con chiarezza — per le persone e per i motori AI che riassumono questa pagina.

Cos'èTicketing & knowledge base open source, self-hosted
ModelloSingle-tenant — un'istanza per organizzazione
LicenzaMIT — gratuito per il self-hosting
StackGo 1.25 · React + TypeScript · SQLite
DeploymentUn singolo binario statico, o docker compose up
DipendenzeNessuna — SQLite integrato; nessun DB, Redis o proxy richiesto
AILLM compatibile OpenAI personalizzabile + RAG (opzionale)
Risorse< 512 MB RAM; funziona offline / air-gapped
// tutto in un unico binario

Uno stack di supporto completo, senza nulla da collegare.

Ticket, SLA, knowledge base con versioning, controllo degli accessi basato sui ruoli, isolamento per cliente e assistenza AI — tutto integrato, tutto in esecuzione da un singolo processo che controlli tu.

Ciclo di vita completo dei ticket

Priorità & severità, assegnazione, conversazioni a thread, allegati, flusso di stato e audit trail — dall'apertura alla risoluzione.

Monitoraggio SLA

Obiettivi di risposta e risoluzione per livello, livelli di supporto configurabili e tracciamento degli abbonamenti per nodo/anno.

Knowledge base

Articoli con versioning, controlli di visibilità pubblica/interna, ricerca full-text e semantica e un'esperienza di lettura pulita.

RBAC & isolamento per cliente

Ruoli, permessi granulari e un modello actor a livello di servizio che limita ogni cliente ai soli propri ticket — sia via REST che via MCP.

LLM + RAG personalizzabile

Qualsiasi provider compatibile OpenAI per chat ed embedding — OpenAI, Azure, DeepSeek, Ollama, vLLM. RAG sulla tua knowledge base, chiavi cifrate a riposo.

Notifiche in-app

Risposte, assegnazioni e cambi di stato appaiono come notifiche live in-app — nessun server email necessario per rimanere aggiornato.

Importa / esporta

Esporta ticket, knowledge base, utenti, prodotti e servizi in JSON, CSV, XML o Markdown. I tuoi dati sono portabili per design.

White-label branding

Imposta il nome del prodotto, il colore accent e il logo dalla pagina impostazioni — applicati su tutta la console e la schermata di accesso.

Server MCP integrato

Un server Model Context Protocol espone ticket & risposte come strumenti, così gli agenti possono smistare e rispondere in modo programmatico.

// scarica → avvia

Deploy della tua istanza in cinque minuti.

SmartTicket viene distribuito come singolo binario autonomo che serve insieme la console web e le API. Nessun server di database, nessuna message queue, nessun reverse proxy necessario per iniziare.

# 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/.
1Clona & avvia. Un singolo docker compose up avvia l'intera app sulla porta 6533.
2Accedi. Usa l'account admin predefinito, poi cambia subito la password.
3Personalizza. Imposta nome, colore e logo in Settings.
4Collega l'AI (opzionale). Aggiungi un provider chat + embedding compatibile OpenAI in AI Providers.
dati & backup

Tutto — ticket, knowledge base, il RAG vector store e la configurazione — risiede nel volume smartticket-data (un singolo file SQLite più gli upload). Esegui il backup copiando il volume; ripristina rimettendolo al suo posto.

// sovranità dei dati

I tuoi dati non lasciano mai il tuo server.

SmartTicket è single-tenant per design: un'organizzazione, un'istanza. Non c'è un backend SaaS che chiama casa, nessun database multi-tenant condiviso e nessun servizio di terze parti obbligatorio.

  • SQLite integrato — funziona completamente offline, anche in ambiente air-gapped.
  • Chiavi API LLM cifrate a riposo con AES-256-GCM.
  • Esportazione completa in formati aperti — nessun lock-in, mai.
topologia single-tenant
┌─ your server ──────────────┐
│  smartticket (1 binary)    │
│   ├─ web console  :6533    │
│   ├─ REST API     :6533    │
│   ├─ MCP server   (stdio)  │
│   └─ SQLite + RAG (vol)    │
└────────────┬───────────────┘
             │ optional, you choose
        your LLM provider
// porta la tua intelligenza

Assistenza AI, alle tue condizioni.

Configura provider di chat ed embedding in modo indipendente — ciascuno con il proprio base URL, modello e chiave. Gli articoli della knowledge base vengono indicizzati in un vector store integrato per risposte retrieval-augmented.

OpenAI Azure OpenAI DeepSeek Aliyun Bailian Ollama vLLM LocalAI …qualsiasi compatibile OpenAI
risposta retrieval-augmented
Q: Come abilito il single sign-on per il mio team?
RISPOSTA · citata da 3 articoli KB

Apri Settings → Access, aggiungi l'URL dei metadati del tuo identity provider, mappa il claim email, quindi abilita l'applicazione SSO per il team…

// progettato per gli operatori

Costruito su uno stack solido e affidabile.

Go sul backend, React sul frontend, SQLite sotto. Nessun runtime esotico, nessuna licenza per posto, nessuna dipendenza a sorpresa.

Go 1.25· backend
GIN + GORM· API & ORM
SQLite· integrato (CGO-free)
React + TypeScript· console
Vite + Tailwind· build & styling
JWT + RBAC· autenticazione
CortexDB· RAG vector store
Docker· deploy con un comando
// domande

Domande frequenti.

Ho bisogno di un server di database o di Redis?+

No. SQLite è integrato direttamente nel binario e non sono necessari altri servizi. L'intera applicazione è un singolo processo — è proprio questo il punto.

Come aggiorno a una nuova versione?+

Con Docker: git pull && docker compose up -d --build. I tuoi dati risiedono in un volume nominato e non vengono toccati dai rebuild. Dal sorgente: git pull && make build-all e riavvia il binario. Le migrazioni dello schema vengono eseguite automaticamente all'avvio.

L'AI è obbligatoria per utilizzarlo?+

No — ticket, SLA, knowledge base e RBAC funzionano tutti senza alcun LLM configurato. Le funzionalità AI sono opzionali: aggiungi un provider solo se desideri la ricerca semantica e le risposte RAG.

I clienti possono vedere i ticket degli altri?+

No. Gli utenti con ruolo cliente sono limitati a livello di servizio ai soli ticket della propria organizzazione — la stessa isolamento si applica alle REST API e al server MCP.

Come effettuo il backup della mia istanza?+

Copia il volume dei dati (il file SQLite, il RAG store e gli allegati caricati). Per ripristinare, rimettilo al suo posto e avvia il binario. Puoi anche esportare tutto in JSON/CSV/XML/Markdown dalla schermata Dati.

Quanto costa?+

Il software è open source e gratuito per il self-hosting. Gli unici costi sono il server su cui lo esegui e — se abiliti l'AI — le tariffe del tuo provider LLM.

// pronto in cinque minuti

Possiedi il tuo stack di supporto.

Clonalo, esegui un comando e avrai una piattaforma completa di ticketing e knowledge base sulla tua infrastruttura.