latest
🚀 Getting Started
Installation

Installation

Sie erhalten den gepackten Ordner terratwin-2.0.1, den Sie direkt auf ihrem Webserver hosten können.

Ohne zusätzliche Anpassungen ist die Anwendung identisch zum Auslieferungszustand, vgl. demo.terratwin.de (opens in a new tab).

Installation auf Windows Server (IIS)

Struktur der Anwendung

Die Anwendung bringt eine feste Ordnerstruktur mit, die alle nötigen Dateien zur Ausführung auf einem Webserver enthält. Es sind keine Änderungen an dieser Struktur notwendig.

🔒 Bearbeitungshinweis:
Die Anwendung ist so konzipiert, dass ausschließlich im Ordner api/terratwin – und nur dort – Konfigurationsanpassungen vorgenommen werden sollen.
Dazu zählen insbesondere Einstellungen in settings.json und Konfigurationsdateien im Unterordner config sowie die Hinterlegung der Lizenzfiles und Lizenzschlüssel in license.

Damit Sie die bearbeitbaren Bereiche auf einen Blick erkennen, sind sie:

  • fett markiert
  • ✏️ mit einem Stift-Icon versehen

Alle anderen Dateien und Verzeichnisse dienen dem stabilen Betrieb der Anwendung und sollten nicht verändert werden.

        • ✏️ settings.json– Globale Einstellungen
      • main*.pyd– Kompilierter Python-Entry-Point
      • web.config– IIS-Konfiguration
    • index.html– Einstiegspunkt der App im Browser
    • oauth-callback.html– OAuth2 Redirect-Ziel
  • Installationsschritte

    Die folgende Schritte beschreiben die Standardinstallation auf einem Windows Server mit dem Internet Information Services (IIS). Andere Konstellationen sind möglich, werden hier aber nicht behandelt.

    1. Installieren Sie das IIS Modul HttpPlatformHander 1.2 (opens in a new tab), falls noch nicht geschehen.
    2. Entpacken Sie den Ordner terratwin-2.0.1 in einem geeigneten Verzeichnis auf Ihrem Server
    3. Öffnen Sie den IIS-Manager (Internet Information Services (IIS) Manager)
    4. Navigieren Sie zu Default Website und stellen Sie sicher, dass diese an den Port 443 gebunden ist. Alternativ können Sie mit Rechtsklick auf Sites eine Neue Site hinzufügen.
    5. Erstellen Sie mit Rechtsklick auf die gewählte Site ein Neues virtuelles Verzeichnis an. Legen Sie den physischen Pfad zum Ordner terratwin-2.0.1 fest und für den virtuellen Pfad einen beliebigen Pfad unter der die Terratwin-Instanz unterhalb erreichbar sein soll.
    6. Wählen Sie Ihre Site aus und navigieren Sie im Bereich Inhalt zu MIME-Types. Überprüfen Sie, ob der MIME-Type text/markdown mit der Dateiendung .md hinterlegt sind und legen Sie diesen ggf. an.
    7. Navigieren Sie zu Anwendungspools und erstellen Sie einen neuen Anwendungspool mit dem Namen TerratwinApiAppPool. Übernehmen Sie die Einstellungen wie in den Screenshots dargestellt:

    Grundeinstellungen für den Anwendungspool
    Grundeinstellungen für den Anwendungspool

    Erweiterte Einstellungen für den Anwendungspool
    Erweiterte Einstellungen für den Anwendungspool
    1. Navigieren Sie in Ihrem virtuellen Verzeichnis zum Verzeichnis api und Konvertieren Sie dieses Verzeichnis in eine Anwendung.
    2. Überprüfen Sie in den Handlerzuordnungen von api, ob der Handler httpPlatformHandler registriert ist.
    3. Öffnen Sie den Explorer und navigieren Sie zum Verzeichnis terratwin-2.0.1/api/terratwin/settings.json. Öffnen Sie die Datei mit einem Texteditor und passen Sie die Eigenschaft root_path entsprechend Ihrem virtuellen Verzeichnis an. Soll Terratwin bspw. unter https://meinserver.de/gis/terratwin erreichbar sein, so müssen Sie den Wert von root_path auf /gis/terratwin setzen.

    Stellen Sie sicher, dass der Benutzer IIS-Users Vollzugriff auf das Verzeichnis terratwin-2.0.1/api hat.

    Stellen Sie außerdem sicher, dass in der Delegation von Features die Handlerzuordnungen unter dem Maschninenknoten (IIS-Startseite) auf Lesen/Schreiben gesetzt ist.

    brotli für IIS konfigurieren

    Befolgen Sie die Anleitung von Microsoft (opens in a new tab) zur Konfiguration von brotli für IIS. Beachten Sie, dass im Vorfeld die Rollen Static Content Compression und Dynamic Content Compression installiert sind.

    Erforderliche Rollen für die Komprimierung in IIS
    Erforderliche Rollen für die Komprimierung in IIS

    Installation auf Linux Server

    Ab Version 2.0.1 wird für die Bereitstellung von Terratwin auf Linux-Servern (Ubuntu) ausschließlich Docker unterstützt.

    Bei speziellen Anforderungen oder Fragen wenden Sie sich bitte direkt an uns: Kontakt aufnehmen

    Docker Compose

    Wenn Sie sich für die Bereitstellung von Terratwin auf einem Linux-Server entscheiden, stellen wir Ihnen eine docker-compose.yml-Datei zur Verfügung, die Sie direkt auf Ihrem Server verwenden können.

    Bevor Sie beginnen, stellen Sie sicher, dass Docker und Docker Compose auf Ihrem Linux-Server installiert sind. Eine Anleitung für Ubuntu 24.04 finden Sie hier: Installationsanleitung (opens in a new tab)

    Docker Compose Beispiel

    services:
      frontend:
        image: image_name:latest
        container_name: terratwin-client
        ports:
          - "8080:80"
          - "8443:443"
        volumes:
          - ./site.conf:/etc/nginx/conf.d/default.conf
        depends_on:
          - backend
        networks:
          - terratwin-net
        deploy:
          update_config:
            order: start-first
        restart: unless-stopped
     
      backend:
        image: image_name:latest
        container_name: terratwin-api
        ports:
          - "8000:8000"
        volumes:
          - ./license:/app/dist/config/license
        networks:
          - terratwin-net
        deploy:
          update_config:
            order: start-first
        restart: unless-stopped
     
    networks:
      terratwin-net:
        external: true

    Docker Images

    Die Docker-Images von Terratwin werden bei GitHub (GHCR) gehostet. Um auf diese Images zugreifen zu können, benötigen Sie einen GitHub-Account und ein GitHub Personal Access Token (PAT).

    1. Github Account erstellen -> Github (opens in a new tab)
    2. Authentifizierungstokens anfodern -> Kontakt aufnehmen
    3. Docker login
    echo "GITHUB_TOKEN" | docker login ghcr.io -u GITHUB_USERNAME --password-stdin

    GITHUB_TOKEN (erhalten Sie von uns) und GITHUB_USERNAME ersetzen

    1. Verwendung der Docker Compose-Datei nach erfolgreicher Authentifizierung
    docker-compose up -d
    ```../../../components/FileTreeWithMeta.tsx