Wer sich professionell mit Support auseinandersetzt sollte sich auf jeden Fall das Ticketsystem KIX18 anschauen. Es ist extrem flexibel und erweiterbar. Mit der auf Open Source basierenden Start-Version können schon viele Einsatzzwecke abgedeckt werden. Wenn benötigt gibt es Support und kommerzielle Erweiterungen.
Datum | Änderungen |
---|---|
16.02.2024 | Erstellen der Anleitung |
1. Grundvoraussetzung
- Docker und Docker Compose v2 unter Debian/Ubuntu
- Traefik v2-3 Reverse Proxy mit Crowdsec im Stack einrichten
- git installieren: apt update && apt install git
2. KIX 18 herunterladen
Grundsätzlich ist die Installation nach Handbuch durchzuführen. Auch sollte eure Docker-Umgebung genügend CPUs und RAM haben um KIX18 zu betreiben.
Um das System hiner Traefik zu nutzen sind ein paar Anpassungen durchzuführen. Deshalb gehe ich auf diese Schritte gesondert ein und verweise danach wieder auf das Handbuch.
Wie im Handbuch beschrieben ist das System aus Github herunterzuladen. Dazu gehen wir in den Pfad, in dem wir die Konfiguration der Container ablegen und starten den Download. Danach wechseln wir in das Verzeichnis, in dem die Konfigurationsdateien für KIX18 zu finden sind.
cd /opt/containers/ git clone https://github.com/kix-service-software/kix-on-premise.git cd /opt/containers/kix-on-premise/deploy/linux/
3. KIX 18 für Traefik vorbereiten
Im Verzeichnis von KIX 18 liegt schon eine docker-compose.yml-Datei. Falls noch eine docker-compose_ssp.yml-Datei vorhanden ist kann diese ignoriert werden. Die Datei ist vom veralteten Self Service Portal und wird in den nächsten Versionen verschwinden. Das Self Service Portal ist der kommerziellen KIX18 Pro Version vorenthalten.
Die Datei ist wie folgt zu bearbeiten:
nano /opt/containers/kix-on-premise/deploy/linux/docker-compose.yml
Der Eintrag ports und alle Untereinträge sind auszukommentieren, da wir keine direkte Anbindung der Container ins Netzwerk möchten sonder die Anbindung an Traefik.
#ports: #- ${FRONTEND_PORT:-80}:80 #- ${BACKEND_PORT:-8080}:8080 #- ${SSP_PORT:-9080}:9080 #- ${SSP_LEGACY_PORT:-10080}:10080 #- ${FRONTEND_PORT_SSL:-443}:443 #- ${BACKEND_PORT_SSL:-8443}:8443 #- ${SSP_PORT_SSL:-9443}:9443 #- ${SSP_LEGACY_PORT_SSL:-10443}:10443
Danach müssen folgende Einträge in die Datei gemacht werden. Bitte auf das Einrücken achten.
labels: traefik.enable: true traefik.http.routers.kix18.entrypoints: websecure traefik.http.routers.kix18.rule: Host(`<DNS-Eintrag, z.B. agent.eigene-Domain.de, da dies der Zugang fuer die Service-Agenten ist>`) traefik.http.routers.kix18.tls: true traefik.http.routers.kix18.service: kix18 traefik.http.routers.kix18.tls.certresolver: http_resolver traefik.http.routers.kix18.middlewares: default@file traefik.http.services.kix18.loadbalancer.server.port: 80 traefik.docker.network: proxy networks: - proxy - default ...<am Ende der Datei noch folgenden Eintrag ergaenzen> networks: proxy: external: true
Wer die Version KIX 18 Pro einsetzt und damit das Self Service Portal, der muss den Eintrag wie folgt erweitern.
labels: traefik.enable: true traefik.http.routers.kix18.entrypoints: websecure traefik.http.routers.kix18.rule: Host(`<DNS-Eintrag, z.B. agent.eigene-Domain.de, da dies der Zugang fuer die Service-Agenten ist>`) traefik.http.routers.kix18.tls: true traefik.http.routers.kix18.service: kix18 traefik.http.routers.kix18.tls.certresolver: http_resolver traefik.http.routers.kix18.middlewares: default@file traefik.http.services.kix18.loadbalancer.server.port: 80 traefik.http.routers.ssp.entrypoints: websecure traefik.http.routers.ssp.rule: Host(`<DNS-Eintrag, z.B. ticket.eigene-Domain.de, da dies der Zugang fuer die Kunden ist>`) traefik.http.routers.ssp.tls: true traefik.http.routers.ssp.service: ssp traefik.http.routers.ssp.tls.certresolver: http_resolver traefik.http.routers.ssp.middlewares: default@file traefik.http.services.ssp.loadbalancer.server.port: 9080 traefik.docker.network: proxy networks: - proxy - default ...<am Ende der Datei noch folgenden Eintrag ergaenzen> networks: proxy: external: true
Im Gegensatz zur Dokumentation muss man sich nicht weiter um die Zertifikate kümmern, da diese über Traefik abgewickelt werden.
4. erster Start
Mit diesen Anpassungen sind alle Voraussetzungen für den ersten Start erfüllt.
Im Verzeichnis /opt/containers/kix-on-premise/deplay/linux liegen alle Scripte, die man zur Steuerung von KIX18 benötigt. Mit
./start.sh
wird das System gestartet. Sinnvoll ist es, sich die Logdateien beim ersten Start mit
./logs.sh
anzuschauen. Das System baut nach dem eigentliche Start noch sehr viele Dinge innerhalb der Container und erst wenn ein “Finished” in den Logdateien erscheint, kann man sich am Portal anmelden.
frontend-1 | Sat Mar 16 2024 16:22:11 GMT+0100 (Central European Standard Time) - info: 42 - [MARKO] Finished - App Build for agent-portal in 69.825s.
...
frontend-1 | Sat Mar 16 2024 16:22:24 GMT+0100 (Central European Standard Time) - info: 42 - [MARKO] Finished - App Build for authentication-login in 13.683s.
Bis dahin empfehle ich eine gute Tasse Kaffe oder Tee, da es doch etwas länger dauert.
Ab jetzt kann man sich am System anmelden. Im Bild sind die Default-Zugänge zu sehen, die bitte nach dem ersten Login über den Setup-Assistent dringend geändert werden sollen!
Alle weiteren Schritte sind im Handbuch erklärt.
5 Tipps und Tricks
Wer sich in KIX18 eingearbeitet hat, wird bald auf die REST API stoßen, mit der man einige schöne Dinge treiben kann. Den Zugang zu der API muss man in der hier vorgestellten Dokumentation noch freischalten, da der Port noch nicht freigegeben ist. Dazu ist ein weiterer Eintrag in die Liste mit Traefik-Einträge hinzuzufügen.
nano /opt/containers/kix-on-premise/deploy/linux/docker-compose.yml
labels: ... traefik.http.routers.api.entrypoints: websecure traefik.http.routers.api.rule: Host(`<DNS-Eintrag, z.B. restapi.eigene-Domain.de, da dies die Schnittstelle fuer REST API ist>`) traefik.http.routers.api.tls: true traefik.http.routers.api.service: api traefik.http.routers.api.tls.certresolver: http_resolver traefik.http.services.api.loadbalancer.server.port: 8080 traefik.http.routers.api.middlewares: default@file ...
Infos zur REST API findet man in der Dokumentation.
Wer die Struktur der Datenbank benötigt, findet die Doku hier.
Weitere Infos findet man im User-Forum.
Viel Spaß beim beim abarbeiten der Tickets in KIX18 🙂
Beim ersten Start (./start.sh) kam leider eine Fehlermeldung:
Dann passiert nichts mehr. Die Frage ist was für ein Key fehlt?
Hey Groth , erstmal Danke KIX hatte ich noch nicht gekannt 🙂 Sieht sehr vielversprechend aus , mit Traefik und deiner vorgeschlagenen compose habe ich es nicht zum laufen gebracht , ich habe es testweise so hingebogen das ich den Proxy mit einem Portmapping rausgelegt habe und das lief sofort , bis ich nach gefühlt einer Ewigkeit gemerkt habe das es am Namen lag. Die letzte Traefik Version und mit bsp. “kix18” ließ sich der service von Traefik nicht finden , nach Anpassung auf “kix” sofort geklappt. Nur falls jemand strauchelt 🙂