-
Notifications
You must be signed in to change notification settings - Fork 4
Leitfaden zur lokalen Installation von datacat
Um die Funktionen von datacat lokal testen zu können, werden keine Programmierkenntnisse benötigt. Wenn eine Einsicht in den Quellcode gewünscht ist, bitte den zweiten Teil dieser Anleitung durchführen.
Für die Installation wird folgendes benötigt:
Eingerahmte Befehle mit einem $ sind in der cmd auszuführen (Ausführung ohne das $)
- Ordner anlegen in welchem datacat-Installationsdateien gespeichert werden sollen
- Docker Desktop starten
- cmd (Eingabeaufforderung) über Windows-Suchleiste öffnen
- Zu erstelltem Ordner navigieren:
$ cd Pfad/zu/Ordner
Wenn Befehl nicht funktioniert: vorher einmal E: (Laufwerkbezeichnung, E als Beispiel) ausführen um zum gewünschten Laufwerk zu wechseln.
- Klonen des Projektes (Befehl in cmd ausführen)
$ git clone https://github.com/dd-bim/datacat-stack.git
- Navigation ins Unterverzeichnis
$ cd datacat-stack
- Dateien umbenennen
$ ren env.example.txt .env
$ ren docker-compose.override.example.yml docker-compose.override.yml
- Anpassen von docker-compose.override.yml
Rechtsklick auf Datei -> Öffnen Mit -> Editor -> in jeder dieser Zeilen das # am Anfang entfernen -> Speichern und Schließen
# api:
# environment:
# - spring.mail.username=postmaster@my.domain
# - spring.mail.password=mypassword
# - spring.mail.properties.mail.smtp.auth=true
# - spring.mail.properties.mail.smtp.connectiontimeout=5000
# - spring.mail.properties.mail.smtp.timeout=5000
# - spring.mail.properties.mail.smtp.writetimeout=5000
# - spring.mail.properties.mail.smtp.starttls.enable=true
- Aktuelle Dateien herunterladen
$ docker compose pull
- Dateien in Docker laden
$ docker compose build
- Datacat in Docker starten
$ docker compose up -d
Im Browser sollte nun über localhost:3000 die lokale datacat-Instanz aufrufbar sein (kann beim ersten mal Starten bis zu einer Minute dauern). Der Login erfolgt über den Benutzernamen 'admin' und das Passwort 'changeme'. Wenn gewünscht, kann das Passwort in der .env-Datei (in der ersten Zeile) angepasst werden.
Diese datacat-Instanz kann nur zum lokalen Testen der Katalog-Benutzung verwendet werden. Registrierung neuer Nutzer oder gleichzeitige Bearbeitung des Kataloges sind nicht verfügbar.
Zum Stoppen der Anwendung kann über die Docker Desktop Oberfläche im Reiter 'Container/Apps' der 'datacat-stack'-Container gestoppt werden und bei Bedarf wieder hochgefahren werden. Die erstellten Katalogelemente bleiben dabei erhalten.
Damit die beiden Komponenten gegenseitig getestet und gemeinsam weiterentwickelt werden können, lassen sie sich miteinander verbinden. Die folgenden Hinweise helfen bei der Verknüpfung währen der Entwicklung.
empfohlene IDE: Visual Studio Code (VSC)
- benötigte Extensions:
- Docker
- Java Extension Pack
- JavaScript and TypeScript Nightly
- Lombok Annotations Support for VS Code
für die Entwicklung installiert werden muss ebenfalls:
- Klonen des Projektes datacat in einen lokalen Ordner
- Abhängigkeiten installieren
$ mvn clean install
- bei Bedarf Projekt neu starten (
Strg
+Shift
+P
: Java: Clean Java Language Server Workspace) - Konfiguration der
docker-compose.yml
-Datei: Der datacat API Service muss Zugangsdaten für den Admin Account von datacat und für die neo4j-Datenbank erhalten:
datacat.users.admin.password=
spring.data.neo4j.username=
spring.data.neo4j.password=
- Docker Images und Container erstellen:
$ docker compose up -d
mögliche Probleme beim Einrichten des Projektes:
- mvn not found -> Maven nicht installiert
- Download der Images schlägt fehl -> eventuell Proxy in Docker konfigurieren (siehe Docker Docs)
- Klonen des Projektes datacat-editor in einen lokalen Ordner
- Abhängigkeiten installieren
$ npm install
- starten des Editors
$ npm start
Der Login ist durch die Verbindung zur API nun funktionstüchtig, sodass man auf alle Seiten des Editors Zugriff hat. Der Login erfolgt über den Nutzernamen "admin" und dem in der docker-compose.yml
-Datei gesetzten Passwort.
Der Editor kann nun währen der Laufzeit verändert werden. Durch Speichern der Änderungen wird der Editor im Browser aktualisiert. Für Anzeige von Änderungen an der API muss der Docker-Container neu gestartet werden.
mögliche Probleme beim Einrichten des Projektes:
- npm not found -> Node.js nicht installiert
- Firefox zeigt manchmal nicht alle Elemente der Oberfläche an -> Empfehlung: Chrome oder Edge für die Entwicklung benutzen