Der i-net HelpDesk kann in einem Docker Container verwendet werden. Es gibt einen vorgefertigten Container, der auf einer alpine-Version auf Docker Hub basiert. Der Container bringt nur die Anwendung und die Tools mit, die zum Ausführen der Anwendung benötigt werden.
Hinweis: Der Container stellt keine Standardbenutzer zur Verfügung. Sie müssen sich via Registrieren
zunächst anmelden. Siehe unten für fortgeschrittene Anwendungsfälle.
Führen Sie den folgenden Befehl aus, um einen i-net HelpDesk Docker Container zu starten:
docker run -d -p 8002:8002 --name helpdesk inetsoftware/i-net-helpdesk
Hinweis: Für den Betrieb von i-net HelpDesk ist eine Datenbank erforderlich. Sie können MySQL/MariaDB, Oracle oder MSSQL verwenden. Ein Beispiel für die Verwendung von MySQL in einem parallelen Container finden Sie unten.
Der i-net HelpDesk Docker Container sollte entweder über eine Konfigurations-Eigenschaftsdatei oder über Umgebungsvariablen vorkonfiguriert werden. In beiden Fällen sollte zunächst eine lokale Installation mit der spezifischen Konfiguration erstellt werden. Mit Hilfe des Maintenance-Moduls kann ein Backup der Konfiguration erstellt werden und die darin enthaltene Configuration-Properties-Datei kann als Grundlage verwendet werden.
Hinweis: Um den Container beim Start vollständig einzurichten, müssen mindestens die folgenden Eigenschaften angegeben werden: CONF_listener__port
und CONF_licensekey
Hinweis: In privaten Cloud-Umgebungen müssen Sie auch die Eigenschaft CONF_serverURL
festlegen. Es wird empfohlen, diese Eigenschaft auch in anderen Umgebungen zu setzen.
Eine Konfigurationsdatei kann mit Hilfe eines Volumes oder einer anderen Methode hinzugefügt werden, die dem Container eine bestimmte Konfiguration hinzufügt. Es kann die Standardkonfigurationsdatei verwendet werden oder eine andere über eine Umgebungsvariable gesetzt werden. Siehe Umgebungseigenschaften-Matrix.
Um die Namen der Umgebungsvariablen zu erstellen, verwenden Sie die folgende Regel:
CONF__
für die Eigenschaft.
(Punkt) durch __
(zwei Unterstriche)
Um die Konfiguration reproduzierbar und aktualisierbar zu machen, sollten Sie eine docker-compose.yml
-Datei verwenden.
version: '2.1' services: helpdesk: image: 'inetsoftware/i-net-helpdesk:latest' restart: 'always' ports: - 8002:8002 environment: - DEFAULT_PROPFILE=/tmp/defaultConfiguration.properties - DEFAULT_CONFIG=User/Default # Setzen Sie die extern sichtbare Server-Url ="../../../../../entfernen-Sie-den-Kommentar-und-fuegen-Sie-die-korrekte-Url-ein" #- CONF_serverURL=https://hostname.company.com:8002/ # Setzen Sie den Lizenzschluessel (entfernen Sie den Kommentar und geben Sie den vollstaendigen Lizenzschluessel ein) #- CONF_licensekey=... # Fuehren Sie die Anwendung auf einem vorher festgelegten Port aus, um die Zuordnung zu erleichtern. - CONF_listener__port=8002 # Anpassen einer Option, z. B. der Themenfarben - CONF_theme__themecolors={"@base-color":"#123456","@primary-color":"#428bca"} # Aktivieren der Protokollierung, Weiterleitung des Protokolls an die Container-Log-Datei - CONF_log__engine=true - CONF_log__file=/dev/stdout # Standort fuer automatische Backups - CONF_BackupLocation=/home/helpdesk/.i-net software/helpdesk_User_Default/backup
Wenn es spezifischere Anforderungen gibt, wie z.B. eine vorausgefüllte Benutzerdatenbank, sollte ein benutzerdefinierter Container erstellt werden
Mit dem folgenden Compose-Beispiel können Sie einen Server erstellen, der ohne jegliche Berechtigungseinschränkungen gestartet wird und ohne weitere Authentifizierung über den öffentlichen URL-Kontext verwendet werden kann.
version: '2.1' services: helpdesk: image: 'inetsoftware/i-net-helpdesk:latest' restart: 'always' ports: - 8002:8002 environment: - DEFAULT_CONFIG=System/Default # Setzen Sie den Lizenzschluessel (entfernen Sie den Kommentar und geben Sie den vollstaendigen Lizenzschluessel ein) #- CONF_licensekey=... # Fuehren Sie die Anwendung auf einem vorher festgelegten Port aus, um die Zuordnung zu erleichtern. - CONF_listener_ _port=8002 # Nur das Gastkonto ist aktiv. - CONF_authentication__settings=[{"provider"\:"guest"}]
Das folgende Dockerfile
wird einen Benutzer admin
mit dem Passwort password
in einem neuen Container anlegen.
FROM inetsoftware/i-net-helpdesk # Fuer die Installation zum Benutzer root wechseln USER root # Tools RUN apk add --update linux-pam # pam-Berechtigungen fuer alle erteilen # Benutzer erstellen, mit dem wir uns anmelden koennen RUN chmod +r /etc/shadow \ && adduser -D -g "User" admin \ && echo admin:password | chpasswd \ && ln -s "/etc/pam.d/base-password" "/etc/pam.d/helpdesk" # Die System-Anmeldung aktivieren. Per Default ist das PAM Plugin deaktiviert. ENV CONF_authentication__settings="[{'provider':'system'},{'provider':'product','userCanRegister':'true'}]" ENV CONF_plugins__activated="{}" # Zurueck zum Produktbenutzer wechseln USER helpdesk
Um einen Docker-Container mit einer MySQL-Datenbank unter Verwendung von Docker Compose zu bündeln, kann das folgende Skript docker-compose.yml
als Ausgangspunkt verwendet werden:
version: '2.1' services: helpdesk: image: 'inetsoftware/i-net-helpdesk:latest' restart: 'always' ports: - 8002:8002 links: # Verbinden Sie sich mit der vorbereiteten MySQL-Datenbank - 'mysql' command: # Mit dem folgenden wait-for.sh-Befehl kann der Dienst darauf warten, dass ein externer Dienst verfuegbar wird - sh - wait-for.sh - mysql:3306 - -- # Nachdem der MySQL Server gestartet wurde, starten Sie den eigentlichen i-net HelpDesk Server - sh - ./startServer.sh - -Dclearreports.config=User/Default - -Dsetupautoexecution=true environment: - DEFAULT_CONFIG=System/Default # Setzen Sie die extern sichtbare Server-Url ="../../../../../entfernen-Sie-den-Kommentar-und-fuegen-Sie-die-korrekte-Url-ein" #- CONF_serverURL=https://hostname.company.com:9443/ # Setzen Sie den Lizenzschluessel (entfernen Sie den Kommentar und geben Sie den vollstaendigen Lizenzschluessel ein) #- CONF_licensekey=... # Fuehren Sie die Anwendung auf einem vorher festgelegten Port aus, um die Zuordnung zu erleichtern. - CONF_listener__port=8002 # Einrichten der Verbindung zur MySQL-Datenbank - CONF_dbsConfigs=[{"status":"Unknown","dbName":"HDS","url":"jdbc:mysql://mysql:3306/inetHDOfficial?useSSL=false&allowPublicKeyRetrieval=true","user":"root","encodedPassword":"AU1KQVA=","host":"mysql","port":"3306","sid":"","catalog":"inetHDOfficial","driver":"mysql"}] mysql: image: 'mysql:8' restart: 'always' environment: - MYSQL_ROOT_PASSWORD=inet - MYSQL_DATABASE=inetHDOfficial - MYSQL_USER=inetHDOfficial - MYSQL_PASSWORD=inet volumes: - "/var/lib/mysql"
Hinweis: Abhängig von der jeweiligen Umgebung müssen möglicherweise noch weitere Optionen eingestellt werden. Bitte werfen Sie einen Blick auf die Umgebungseigenschaften-Matrix.