Installation und Betrieb
GoProject installieren
Die Lieferdateien, die Serveranforderungen, der Zugang zur Container-Registry, die Konfiguration und der erste Start.
Sie können GoProject mit Docker Compose auf Ihrem eigenen Linux-Server installieren. Das System besteht aus zwei Containern: app (die GoProject-Anwendung) und db (die PostgreSQL-18-Datenbank). Diese Anleitung beschreibt die Installation Schritt für Schritt: von der Vorbereitung der nötigen Dateien bis zur ersten Anmeldung.
Bitte beachten Sie: Die Ausgaben der Skripte und die Einträge des Anwendungsprotokolls sind auf Englisch.
Das Lieferpaket
Für die Installation brauchen Sie drei Dateien:
compose.yml- die Docker-Compose-Konfiguration beider Container;.env.example- die Konfigurationsvorlage mit einer Erklärung zu jeder Einstellung;verify-install.sh- ein Skript, das das installierte System prüft und nichts verändert.
Bewahren Sie alle drei Dateien in einem Ordner auf. Diese Anleitung verwendet den Pfad /data/goproject, Sie können aber auch einen anderen Ort wählen.
Serveranforderungen
- Betriebssystem: Linux mit installierter Docker Engine und dem Docker-Compose-v2-Plugin. Verwenden Sie den Befehl
docker compose, nichtdocker-compose. - Prozessorarchitektur: Das GoProject-Container-Image wird nur für die Architektur des GoProject-Build-Servers veröffentlicht. Prüfen Sie vor der Installation die Architektur des Images in der Registry, wie im nächsten Abschnitt beschrieben.
- Prozessor und Arbeitsspeicher: Der Container
appist auf 2 CPU und 2 GB RAM begrenzt,dbauf 1,5 CPU und 1 GB RAM. Der Server braucht insgesamt mindestens 4 GB RAM, einschließlich des Bedarfs des Betriebssystems. - Systemzeit: Die Uhr des Servers muss per NTP synchron gehalten werden. Anmeldecodes und die SLA-Zeiterfassung brauchen die genaue Zeit.
- Speicherplatz: Platz für die Datenbank im Docker-Volume
goproject_pg_dataund für den Ordnerstorage, in dem Anhänge, Dokumentdateien und Benutzer-Avatare liegen. Der Platzbedarf wächst mit der Datenmenge. - Netzzugang: Der Server muss eine ausgehende HTTPS-Verbindung zu
registry.brivs.lvaufbauen können, um das Container-Image herunterzuladen. Eine Verbindung zugoproject.lvist nur nötig, wenn Sie die Portalverbindung einschalten oder Verbindung prüfen verwenden. Die Container selbst brauchen keinen Zugang von außen: Den öffentlichen Zugang stellt Ihr Reverse Proxy bereit.
Anmeldung an der Container-Registry
Das GoProject-Container-Image liegt in einer privaten Registry. Melden Sie sich auf dem Server mit dem Benutzernamen und dem Zugangstoken an, die Sie im GoProject-Kundenportal auf der Seite Versionen unter Container-Images erhalten:
docker login registry.brivs.lvDocker speichert die Anmeldung an der Registry im Benutzerkonto, das den Befehl ausgeführt hat. Führen Sie daher auch die weiteren docker compose-Befehle mit demselben Benutzerkonto aus.
Prüfen Sie, bevor Sie fortfahren, die Prozessorarchitektur der gewählten Version. Ersetzen Sie X.Y.Z durch die Nummer der jeweiligen GoProject-Version:
docker buildx imagetools inspect registry.brivs.lv/brivs/goproject:X.Y.ZDer Wert Platform in der Ausgabe muss zur Architektur des Servers passen. Diese prüfen Sie mit dem Befehl uname -m:
x86_64entsprichtlinux/amd64;aarch64entsprichtlinux/arm64.
Installationsordner und Konfiguration
Legen Sie den Installationsordner an, legen Sie die Lieferdateien hinein und erstellen Sie die Konfigurationsdatei .env aus der Vorlage:
mkdir -p /data/goproject
cd /data/goproject
cp .env.example .env
chmod 640 .envDie Datei .env enthält auch das Datenbankpasswort, daher dürfen nur Eigentümer und Gruppe sie lesen.
Öffnen Sie .env und tragen Sie die nötigen Werte ein. Docker Compose kann das System nicht starten, solange eine dieser Einstellungen leer ist: TAG, APP_PORT, DB_DATABASE, DB_USERNAME oder DB_PASSWORD.
TAG: die Nummer der zu installierenden GoProject-Version im FormatX.Y.Z, zum Beispiel1.4.2. Ein beweglicher Tag wielatestwird nicht verwendet. Um das System zu aktualisieren, tragen Sie hier die Nummer der neuen Version ein.APP_PORT: der Port des Servers, an den Ihr Reverse Proxy die Anfragen weiterleitet.DB_DATABASEundDB_USERNAME: Name und Benutzername der Datenbank. Für beide passtgoproject.DB_PASSWORD: ein sicheres, zufällig erzeugtes Datenbankpasswort. PostgreSQL verwendet es beim ersten Anlegen der Datenbank. Ändern Sie diesen Wert später nur in.env, kann sich die Anwendung nicht mehr mit der Datenbank verbinden.SITE_URL: die öffentliche Adresse des Systems, die auch in den Links der E-Mail-Benachrichtigungen verwendet wird, zum Beispielhttps://goproject.example.com. Setzen Sie keinen Schrägstrich ans Ende.INITIAL_ADMIN_EMAIL: die E-Mail-Adresse des ersten Administrators. Das Administratorkonto wird beim ersten Start des Systems angelegt.INITIAL_ADMIN_PASSWORD: das Passwort des ersten Administrators. Lassen Sie es leer, erzeugt das System das Passwort selbst (siehe Erster Start).TZ: die Zeitzone der geplanten Aufgaben, zum BeispielEurope/Riga.
Ein sicheres Datenbankpasswort erzeugen Sie mit dem Befehl:
openssl rand -base64 24Die GoProject-Anwendung läuft mit der Benutzer- und Gruppen-ID 10001 und schreibt Dateien nur in den Ordner storage. Legen Sie diesen Ordner mit den passenden Besitzrechten an:
install -d -o 10001 -g 10001 -m 750 storageIm Ordner storage liegt auch die Datei secret.key, mit der die Geheimnisse der Zwei-Faktor-Authentifizierung verschlüsselt werden. Sichern Sie bei Backups und beim Umzug der Installation sowohl die Datenbank als auch den ganzen Ordner storage.
Erster Start
Laden Sie die Container-Images herunter und starten Sie das System:
cd /data/goproject
docker compose pull
docker compose up -dBeim ersten Start legt das System die Datenbanktabellen an. Das kann bis zu zwei Minuten dauern.
Prüfen Sie dann, ob beide Container laufen und GoProject auf die Gesundheitsprüfung antwortet. Ersetzen Sie im Befehl 9400 durch den Wert APP_PORT aus .env:
docker compose ps
curl -fsS http://localhost:9400/healthzHaben Sie INITIAL_ADMIN_PASSWORD leer gelassen, steht das erzeugte Administratorpasswort einmal im Anwendungsprotokoll. Um es zu finden, führen Sie aus:
docker compose logs app | grep -i "initial administrator"Melden Sie sich bei GoProject mit der E-Mail-Adresse aus INITIAL_ADMIN_EMAIL und dem Administratorpasswort an. Ändern Sie das Passwort sofort nach der ersten Anmeldung.
Haben Sie das Administratorpasswort selbst festgelegt, entfernen Sie den Wert INITIAL_ADMIN_PASSWORD nach der ersten erfolgreichen Anmeldung aus .env.
Nächste Schritte
Fahren Sie nach dem ersten Start mit den weiteren Anleitungen zu Installation und Betrieb fort:
- Reverse Proxy und HTTPS: Richten Sie einen sicheren öffentlichen Zugang zu GoProject ein.
- Lizenz und Portalverbindung: Aktivieren Sie die Lizenz und verbinden Sie die Installation bei Bedarf mit dem Kundenportal.
- Installation prüfen und Protokolle: Prüfen Sie, ob das System läuft, und erfahren Sie, wo Sie Diagnoseinformationen finden.