> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Installieren Sie ABBYY Vantage Self-Hosted auf virtuellen Maschinen oder in Azure AKS: Bereiten Sie Ressourcen vor, richten Sie Anmeldedaten ein, führen Sie Installationsskripte aus und überprüfen Sie die Bereitstellung.

<Warning>
  **Vantage 3.0 ersetzt dieses Bereitstellungsmodell.** Vantage 2.7 und frühere Versionen erforderten die von ABBYY vorgegebene Infrastruktur, die mithilfe von ABBYY bereitgestellten Ansible- und Azure-CLI-Skripten eingerichtet wurde. In 3.0 wird dieses Modell nicht unterstützt: Sie stellen Ihre eigene Infrastruktur bereit, und ABBYY stellt keine Provisionierungsskripte oder andere Automatisierung für die Infrastruktur bereit. Diese Seite gilt nur für Vantage 2.7. Siehe den [Vantage 3.0 Überblick](/de/vantage/self-hosted/v3.0/introduction) und [Migration von Vantage 2.7](/de/vantage/self-hosted/v3.0/migration-from-2.7).
</Warning>

<div id="installation-overview">
  ## Überblick über die Installation
</div>

Gehen Sie wie folgt vor, um Vantage zu installieren:

1. Bereiten Sie die Ressourcen vor.
2. Geben Sie die Ressourcenzugangsdaten an.
3. Führen Sie die Installationsskripte aus.

<div id="preparing-resources">
  ## Ressourcen vorbereiten
</div>

<Tabs>
  <Tab title="Virtuelle Maschinen">
    Bevor Sie beginnen, stellen Sie sicher, dass alle im Abschnitt [System Requirements](/de/vantage/self-hosted/v2.7/system-requirements) aufgeführten Anforderungen erfüllt sind.
  </Tab>

  <Tab title="Azure AKS">
    <Warning>
      **Erstellen Sie zuerst die Azure-Infrastruktur!**

      Bevor Sie fortfahren, müssen Sie alle erforderlichen Azure-Ressourcen erstellen (AKS-Cluster, Speicherkonten, SQL-Datenbank). Führen Sie zunächst die Anleitung [Erstellen der Azure-Infrastruktur](/de/vantage/self-hosted/v2.7/azure-infrastructure) durch.

      Informationen zu FIPS-konformen Bereitstellungen im Behördenumfeld finden Sie unter [FIPS Compliance](/de/vantage/self-hosted/v2.7/fips-compliance).
    </Warning>
  </Tab>
</Tabs>

<div id="specifying-resource-credentials">
  ## Ressourcenzugangsdaten festlegen
</div>

Bevor Sie das Installationsprogramm ausführen:

1. Richten Sie Konfigurationsdateien ein.
2. Bereiten Sie Zertifikate vor.
3. Laden Sie Container-Images herunter.

<div id="setting-up-configuration-files">
  ### Einrichten von Konfigurationsdateien
</div>

**1. Erstellen Sie das Installationsverzeichnis:**

Erstellen Sie ein Installationsverzeichnis mit den Unterverzeichnissen (**ssh**, **kube**, **ssl**), von dem aus die Installation durchgeführt wird. Wechseln Sie dann in das Installationsverzeichnis.

```bash theme={null}
mkdir -p /opt/vantage-install/{ssh,kube,ssl} && cd /opt/vantage-install
```

<Tabs>
  <Tab title="Virtuelle Maschinen">
    **2. Erstellen Sie die SSH-Schlüsseldatei:**

    Erstellen Sie im Ordner `ssh` eine Datei mit dem Namen `ansible` und speichern Sie den privaten SSH-Schlüssel für den ansible-Benutzer in dieser Datei.

    **3. Erstellen Sie die Inventardatei:**

    Erstellen Sie im Installationsverzeichnis eine Datei mit dem Namen `inventory`. Ersetzen Sie `X.X.X.X` durch die IP-Adressen Ihrer virtuellen Maschinen:

    ```ini theme={null}
    [localhost]
    127.0.0.1

    ###########################################
    [kube_control_plane]
    ub01master01 ansible_host=X.X.X.X

    [abbyy_services]
    ub01worker12-48-s01 ansible_host=X.X.X.X

    [abbyy_workers]
    ub01worker12-48-w01 ansible_host=X.X.X.X
    ub01worker12-48-w02 ansible_host=X.X.X.X
    ub01worker12-48-w03 ansible_host=X.X.X.X

    ###########################################
    [kube_workers:children]
    abbyy_services
    abbyy_workers

    [kube_cluster:children]
    kube_control_plane
    kube_workers
    ```

    <Note>
      Wenn Sie statt 3 nur 1 oder 2 Maschinen für Worker benötigen, löschen Sie die zusätzlichen Zeilen im Abschnitt `[abbyy_workers]`.
    </Note>
  </Tab>

  <Tab title="Azure AKS">
    Die Schritte 2 und 3 sind für Azure AKS-Bereitstellungen nicht erforderlich. Fahren Sie mit Schritt 4 fort.
  </Tab>
</Tabs>

**4. Erstellen Sie die Datei env\_specific.yml:**

Tragen Sie Ihre eigenen Werte ein.

<Tabs>
  <Tab title="Virtuelle Maschinen">
    ```yaml theme={null}
    env: null
    poc: true

    domain: null
    product_host: "{{ env }}.{{ domain }}"

    logging:
      enabled: true
      elasticsearch:
        enabled: false
        host: null
        port: 9200
        username: null
        password: null
        scheme: https
      file:
        enabled: true

    loadbalancer:
      external_ip: X.X.X.X

    k8s:
      api:
        ip: X.X.X.X

    techcore:
      use_gpu_workers: false
      use_nn_extraction_training_workers: false

    platform_admin_email: admin@yourdomain.tld

    source_container_registry_host: abyvtgonprm27.azurecr.io
    source_container_registry_user: null      # durch die bei der Beschaffung erhaltenen Zugangsdaten ersetzen
    source_container_registry_password: null  # durch die bei der Beschaffung erhaltenen Zugangsdaten ersetzen
    source_container_registry_name: "{{ source_container_registry_host }}"

    container_registry_host: registry.yourdomain.tld
    container_registry_user: null
    container_registry_password: null
    container_registry_name: "{{ container_registry_host }}/vantage"

    smtp:
      host: null
      login: null
      password: null
      port: 587
      useSSL: false
      secureSocketOptions: null

    database:
      host: X.X.X.X
      port: 1433
      username: null
      password: null

    reporting:
      enabled: false

    id_reading:
      enabled: false
    ```
  </Tab>

  <Tab title="Azure AKS">
    ```yaml theme={null}
    env: vantage
    poc: false  # Für eine Konfiguration ohne Hochverfügbarkeit auf true setzen

    domain: yourdomain.tld
    product_host: "vantage.{{ domain }}"

    loadbalancer:
      external_ip: X.X.X.X  # Öffentliche IP-Adresse in Azure

    container_registry_host: "registry.yourdomain.tld"
    container_registry_user: "service"
    container_registry_password: "password"
    container_registry_name: "{{ container_registry_host }}/vantage"

    techcore:
      use_gpu_workers: false
      use_nn_extraction_training_workers: false

    logging:
      enabled: true
      elasticsearch:
        enabled: false
        host: null
        port: 9200
        username: null
        password: null
        scheme: https
        ilm:
          create: false
      file:
        enabled: true

    platform_admin_email: admin@yourdomain.tld

    # E-Mail-Konfiguration - verwenden Sie entweder SendGrid ODER SMTP
    sendgrid:
      enabled: false
      apiKey: ""

    smtp:
      host: X.X.X.X
      login: null
      password: ""
      port: 587
      useSSL: false

    mailFrom: noreply@yourdomain.tld

    # Konfiguration für Azure SQL Database
    database:
      type: sqlserver
      host: X.X.X.X  # Hostname des Azure SQL Server
      username: login
      password: password
      encrypt: false

    # Azure Storage Accounts - durch die Zugangsdaten Ihres Speicherkontos ersetzen
    s3storage:
      skills:
        accessKey: skills_storage_account_name
        secretKey: skills_storage_account_key
      processing:
        accessKey: processing_storage_account_name
        secretKey: processing_storage_account_key
      temporary:
        accessKey: temporary_storage_account_name
        secretKey: temporary_storage_account_key
      sharedfolder:
        accessKey: sharedfolder_storage_account_name
        secretKey: sharedfolder_storage_account_key
        resourcegroup: your_resource_group
      archive:
        accessKey: archive_storage_account_name
        secretKey: archive_storage_account_key

    # Redis-Cluster-Konfiguration (nur für hochverfügbare Konfigurationen erforderlich)
    # Lassen Sie die Arrays bei einer Konfiguration ohne Hochverfügbarkeit leer
    redis:
      ips: ['172.16.10.101', '172.16.10.102', '172.16.10.103', '172.16.10.104', '172.16.10.105', '172.16.10.106']
      port: 6379
      password: redispassword
      ssl: false

    reporting:
      enabled: false

    id_reading:
      enabled: false

    k8s_fips_enabled: false
    ```

    <Note>
      Im Abschnitt `s3storage` ist `accessKey` der Name des Azure Storage Account und `secretKey` der Zugriffsschlüssel des Storage Account. Sie können diese im Azure portal oder über die Azure CLI abrufen.
    </Note>
  </Tab>
</Tabs>

<div id="configuration-parameters">
  ### Konfigurationsparameter
</div>

| Parameter                              | Beschreibung                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `env`                                  | Installationspräfix, das standardmäßig als Subdomänenname verwendet wird.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `poc`                                  | `true` für ohne Hochverfügbarkeit, `false` für hochverfügbar.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `domain`                               | Die primäre Domain.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `product_host`                         | DNS-Name für den Produktzugriff (Standard: `env.domain`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `logging.enabled`                      | Protokollierung aktivieren/deaktivieren (`true`/`false`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `logging.elasticsearch.enabled`        | Gibt an, ob Elasticsearch aktiviert werden soll. Dieser Parameter kann auf **true** oder **false** gesetzt werden. **Hinweis:** Setzen Sie den Wert dieses Parameters nur dann auf **true**, wenn Sie bereits über Elasticsearch verfügen und die Vantage-Protokolle damit verbinden möchten. Wenn Sie noch keine Elasticsearch- und Kibana-Instanzen haben, können Sie diese mithilfe der Anweisungen in Elasticsearch und Kibana in einem cluster bereitstellen. Dies muss vor der Installation des Produkts erfolgen.                                                                                                                                                                                                                                     |
| `logging.elasticsearch.host`           | Die IP-Adresse des Servers.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `logging.elasticsearch.port`           | Der Port, der für die Verbindung mit Elasticsearch verwendet wird.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `logging.elasticsearch.username`       | Der Benutzername, der für die Verbindung mit Elasticsearch verwendet wird.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `logging.elasticsearch.password`       | Das Kennwort, das für die Verbindung mit Elasticsearch verwendet wird.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `logging.elasticsearch.scheme`         | Das Protokollschema, das für die Verbindung mit Elasticsearch verwendet wird.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `logging.file.enabled`                 | Gibt an, ob Protokolle als Dateien geschrieben werden sollen. Dieser Parameter kann auf **true** oder **false** gesetzt werden.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `loadbalancer.external_ip`             | Floating-IP-Adresse für den Load Balancer.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `k8s.api.ip`                           | IP-Adresse für den Kubernetes-API-Endpoint.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `securityContext.global.runAsUser`     | Gibt den Bezeichner des Benutzers an, unter dem der Containerprozess ausgeführt werden soll. Diese Einstellung gilt nur für Pods, die mit externen rwx-Speichern arbeiten (z. B. NFS). Standardmäßig ist der Parameter auf **65532** gesetzt.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `securityContext.global.runAsGroup`    | Gibt den Bezeichner der Gruppe an, unter der der Containerprozess ausgeführt werden soll.<br /><br />Diese Einstellung gilt nur für Pods, die mit externen rwx-Speichern arbeiten (z. B. NFS). Standardmäßig ist der Parameter auf **65532** gesetzt.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `securityContext.global.fsGroup`       | Gibt den Bezeichner der Gruppe an, der die an den Pod angehängten Volumes gehören. Diese Einstellung gilt nur für Pods, die mit externen rwx-Speichern arbeiten (z. B. NFS). Standardmäßig ist der Parameter auf **65532** gesetzt.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `techcore.nn_training_workers.gpu`     | Gibt an, ob die GPU-Worker bereitgestellt werden sollen. GPU-Worker werden verwendet, um Skills mit der Deep-Learning-Aktivität zu trainieren, damit Daten aus semi-strukturierten Dokumenten extrahiert werden können. Dieser Parameter kann auf **true** oder **false** gesetzt werden. Wenn der Parameter auf **true** gesetzt ist, muss auch der Parameter `techcore.nn_training_workers.enabled` auf **true** gesetzt werden. Sie können diese Option bereitstellen und die Parameter `techcore.nn_training_workers.gpu` und `techcore.nn_training_workers.enabled` vor oder nach der Installation von Vantage auf **true** setzen. Weitere Informationen finden Sie unter [Setting up GPU](/de/vantage/self-hosted/v2.7/configuration#setting-up-gpu). |
| `techcore.nn_training_workers.enabled` | Gibt an, ob die Worker `nn-extraction-training` und `nlp-model-train` bereitgestellt werden sollen. Diese Worker werden verwendet, um Skills mit der Deep-Learning-Aktivität unter Verwendung der CPU zu trainieren, damit Daten aus semi-strukturierten Dokumenten extrahiert werden können. Dieser Parameter kann auf **true** oder **false** gesetzt werden.                                                                                                                                                                                                                                                                                                                                                                                              |
| `techcore.keep_previous_version`       | Gibt an, ob Technology Core Version 2 beim Aktualisieren von Vantage erhalten bleiben soll. Standardmäßig ist der Parameter `techcore.keep_previous_version` nicht angegeben, und Technology Core Version 2 wird gelöscht. Um sie beizubehalten, setzen Sie den Wert des Parameters auf **true**.                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `platform_admin_email`                 | E-Mail-Adresse des Systemadministrators.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `container_registry_host`              | Domänenname der Container Registry.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `container_registry_user`              | Der Name des Benutzers mit den Berechtigungen zum Herunterladen von Images aus der Container Registry. Dieser Parameter bleibt leer, wenn keine Container Registry vorhanden ist.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `container_registry_password`          | Kennwort/Token zum Herunterladen von Images aus der Container Registry. Dieser Parameter bleibt leer, wenn keine Container Registry vorhanden ist.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `container_registry_name`              | Das Verzeichnis der Container Registry, in dem die Images gespeichert sind.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `smtp.host`                            | IP-Adresse oder Hostname des SMTP-Servers.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `smtp.login`                           | Der Benutzername, der für die Verbindung mit dem SMTP-Server verwendet wird.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `smtp.password`                        | Das Kennwort, das für die Verbindung mit dem SMTP-Server verwendet wird.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `smtp.port`                            | Der Port des SMTP-Servers.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `smtp.useSSL`                          | Gibt an, ob eine verschlüsselte Verbindung verwendet werden soll. Dieser Parameter kann auf **true** oder **false** gesetzt werden.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `smtp.secureSocketOptions`             | Gibt die SSL- und/oder TLS-Verschlüsselung an, die für eine Verbindung verwendet werden soll.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `database.enabled`                     | Gibt an, ob der Datenbankserver aktiviert werden soll.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `database.host`                        | IP-Adresse des SQL Servers.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `database.port`                        | Port des Datenbankservers.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `database.username`                    | Der Benutzername, der für die Verbindung mit der Datenbank verwendet wird (der Benutzer muss über die zum Erstellen von Datenbanken erforderlichen Berechtigungen verfügen).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `database.password`                    | Das Kennwort, das für den Zugriff auf die Datenbank verwendet wird.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `reporting.enabled`                    | Gibt an, ob der Warehouse-Reporting-Service bereitgestellt werden soll. Dieser Parameter kann entweder auf **true** oder **false** gesetzt werden.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `id_reading.enabled`                   | Gibt an, ob das Add-on Identity Documents bereitgestellt werden soll. Dieser Parameter kann entweder auf **true** oder **false** gesetzt werden.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

Die folgenden vier Parameter sind optional und nur dann erforderlich, wenn eine hochverfügbare Konfiguration installiert wird und Redis vom Vantage-Installationsprogramm installiert werden muss.

| Parameter        | Beschreibung                                                                                                                                                                                       |
| :--------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `redis.ips`      | Die IP-Adressen des Redis-Clusters im folgenden Format: \['192.168.0.1''192.168.0.2',,'192.168.0.3']. Wenn der Parameter als \[] definiert ist, wird eine In-Cluster-Redis-Instanz bereitgestellt. |
| redis.port       | Der Port, der für die Verbindung zum Redis-Cluster verwendet wird.                                                                                                                                 |
| `redis.password` | Das Kennwort, das für die Verbindung mit Redis verwendet wird.                                                                                                                                     |
| `redis.ssl`      | Gibt an, ob eine verschlüsselte Verbindung zum Redis-Cluster verwendet werden soll. Dieser Parameter kann auf **true** oder **false** gesetzt werden.                                              |

Alle anderen Parameter bleiben unverändert.

<div id="preparing-certificates">
  ### Zertifikate vorbereiten
</div>

1. Wechseln Sie in das Verzeichnis ssl. Legen Sie das Wildcard-Zertifikat (zusammen mit dem Zwischenzertifikat), das dem primären Domänennamen entspricht, in diesem Verzeichnis ab und den Schlüssel (im PEM-Format) jeweils in den folgenden Dateien: ./ssl/cert.pem, ./ssl/key.pem. Sie sollten Ihre CRT-Datei in PEM konvertieren, indem Sie den Inhalt der Datei in das folgende Format ändern:

```text theme={null}
-----BEGIN CERTIFICATE-----
[your certificate]
-----END CERTIFICATE-----
```

2. Wenn Sie einen externen Authentifizierungsanbieter (ADFS) mit einem von einer internen CA signierten Zertifikat verwenden, legen Sie das Stammzertifikat unter `./ssl/adfs-root.pem` ab.

<Note>
  Wenn von Vantage aus auf Endpunkte von Drittanbietern zugegriffen wird (Skript in der benutzerdefinierten Aktivität oder externe Authentifizierung), muss der externe Endpunkt über ein Zertifikat einer öffentlichen Zertifizierungsstelle verfügen.
</Note>

<div id="running-the-installation-scripts">
  ## Ausführen der Installationsskripte
</div>

Die Installation von ABBYY Vantage erfolgt automatisch. Sie wird mit dem Tool Ansible ausgeführt, das innerhalb des für die Installation verwendeten Containers installiert und eingerichtet ist. Ansible interagiert mit den Maschinen anhand verschiedener Konfigurationsszenarien (YAML-Playbooks).

Um ABBYY Vantage zu installieren, führen Sie die folgenden Schritte aus:

**1. Navigieren Sie zum Installationsverzeichnis.**

**2. Melden Sie sich bei der Registry für die Distribution des Installationsprogramms an**

```bash theme={null}
# <username> und <password> durch die beim Kauf erhaltenen Anmeldedaten ersetzen
docker login abyvtgonprm27.azurecr.io -u <username> -p <password>
```

**3. Führen Sie das Installationsprogramm aus einem Docker-Image aus, falls Sie dies noch nicht getan haben:**

<Tabs>
  <Tab title="Virtuelle Maschinen">
    ```bash theme={null}
    docker run -it \
    -v $PWD/kube:/home/ansible/.kube \
    -v $PWD/ssh/ansible:/home/ansible/.ssh/ansible \
    -v "//var/run/docker.sock:/var/run/docker.sock" \
    -v $PWD/inventory:/ansible/inventories/k8s/inventory \
    -v $PWD/env_specific.yml:/ansible/inventories/k8s/group_vars/all/env_specific.yml \
    -v $PWD/ssl:/ansible/files/ssl:ro \
    --privileged \
    abyvtgonprm27.azurecr.io/vantage-installer:2.7.1
    ```

    | Parameter                                                                           | Beschreibung                                                                                                                                            |
    | :---------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------ |
    | `-v $PWD/kube:/home/ansible/.kube`                                                  | Der Pfad zum Kubernetes-Verzeichnis, in dem die Datei kube/config gespeichert ist.                                                                      |
    | `-v $PWD/ssh/ansible:/home/ansible/.ssh/ansible`                                    | Der Pfad zum privaten SSH-Schlüssel, der für die Installation und Konfiguration des Kubernetes-Clusters sowie einiger Voraussetzungen erforderlich ist. |
    | `-v "//var/run/docker.sock:/var/run/docker.sock"`                                   | Erforderlich, um Images mit Ihrer Container Registry zu synchronisieren.                                                                                |
    | `-v $PWD/inventory:/ansible/inventories/k8s/inventory`                              | Der Pfad zur Datei **inventory**.                                                                                                                       |
    | `-v $PWD/env_specific.yml:/ansible/inventories/k8s/group_vars/all/env_specific.yml` | Der Pfad zur Datei **env\_specific.yml**.                                                                                                               |
    | `-v $PWD/ssl:/ansible/files/ssl:ro`                                                 | Der Pfad zum Ordner mit SSL-Zertifikaten, der die folgenden Dateien enthalten sollte: **cert.pem**, **key.pem**, **adfsroot.pem**.                      |
  </Tab>

  <Tab title="Azure AKS">
    ```bash theme={null}
    docker run -it \
    -v $PWD/env_specific.yml:/ansible/inventories/azure/group_vars/all/env_specific.yml \
    -v $PWD/ssl:/ansible/files/ssl:ro \
    abyvtgonprm27.azurecr.io/vantage-installer:2.7.1
    ```

    | Parameter                                                                             | Beschreibung                                                                                                                       |
    | :------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------- |
    | `-v $PWD/env_specific.yml:/ansible/inventories/azure/group_vars/all/env_specific.yml` | Der Pfad zur Datei **env\_specific.yml**.                                                                                          |
    | `-v $PWD/ssl:/ansible/files/ssl:ro`                                                   | Der Pfad zum Ordner mit SSL-Zertifikaten, der die folgenden Dateien enthalten sollte: **cert.pem**, **key.pem**, **adfsroot.pem**. |
  </Tab>
</Tabs>

**4. Stellen Sie eine Verbindung zum Azure AKS-Cluster her:**

<Tabs>
  <Tab title="Virtuelle Maschinen">
    Überspringen Sie diesen Schritt bei Bereitstellungen auf virtuellen Maschinen – die Cluster-Anmeldedaten werden während der Kubernetes-Installation in Schritt 7 automatisch konfiguriert.
  </Tab>

  <Tab title="Azure AKS">
    Nachdem der Docker-Container gestartet ist, authentifizieren Sie sich bei Azure und stellen Sie eine Verbindung zu Ihrem AKS-Cluster her:

    ```bash theme={null}
    # Bei Azure anmelden
    az login

    # Das Abonnement festlegen (durch Ihre Abonnement-ID ersetzen)
    az account set --subscription <subscription_id>

    # AKS-Cluster-Anmeldedaten abrufen (durch Ihre Ressourcengruppe und Ihren Clusternamen ersetzen)
    az aks get-credentials --resource-group <resource_group_name> --name <cluster_name>

    # Cluster-Konnektivität überprüfen
    kubectl cluster-info
    ```
  </Tab>
</Tabs>

**5. Laden Sie die Container-Images herunter**

Migrationsskripte basieren auf den folgenden Eigenschaften in `env_specific.yml`

```yaml theme={null}
source_container_registry_host: sourcerepo.azurecr.io
source_container_registry_user: user
source_container_registry_password: pass
source_container_registry_name: "{{ source_container_registry_host }}/optional/subpath"

container_registry_host: destinationrepo.azurecr.io
container_registry_user: user
container_registry_password: pass
container_registry_name: "{{ container_registry_host }}/optional/subpath"
```

<Tabs>
  <Tab title="Virtuelle Maschinen">
    ```bash theme={null}
    ansible-playbook -i inventories/k8s playbooks/validate-artifact-manifest.yml
    ansible-playbook -i inventories/k8s playbooks/oci-migration.yml
    ```
  </Tab>

  <Tab title="Azure AKS">
    ```bash theme={null}
    ansible-playbook -i inventories/azure playbooks/validate-artifact-manifest.yml
    ansible-playbook -i inventories/azure playbooks/oci-migration.yml
    ```
  </Tab>
</Tabs>

<Tabs>
  <Tab title="Virtuelle Maschinen">
    **6. Berechtigungen für den SSH-Schlüssel festlegen:**

    ```bash theme={null}
    chmod 600 /home/ansible/.ssh/ansible
    ```

    **7. Kubernetes-Cluster installieren und einrichten:**

    ```bash theme={null}
    ansible-playbook -i inventories/k8s -v playbooks/4-Kubernetes-k8s.yml
    ```
  </Tab>

  <Tab title="Azure AKS">
    Die Schritte 6 und 7 sind für Azure-AKS-Bereitstellungen nicht erforderlich – der Kubernetes-Cluster wird bereits über die Anleitung Erstellen der Azure-Infrastruktur bereitgestellt. Fahren Sie mit Schritt 8 fort.
  </Tab>
</Tabs>

**8. Vorabprüfung ausführen und rechtliche Dokumente akzeptieren:**

<Tabs>
  <Tab title="Virtuelle Maschinen">
    ```bash theme={null}
    ansible-playbook -i inventories/k8s -v playbooks/0-PreflightCheck-k8s.yml
    ansible-playbook -i inventories/k8s -v playbooks/legal.yml
    ```
  </Tab>

  <Tab title="Azure AKS">
    ```bash theme={null}
    ansible-playbook -i inventories/azure playbooks/0-PreflightCheck-azure.yml
    ansible-playbook -i inventories/azure playbooks/legal.yml
    ```
  </Tab>
</Tabs>

Das Playbook wird:

* Eine Vorabprüfung der Ressourcen durchführen, deren Parameter in der Datei `env_specific.yml` des Playbooks angegeben sind (z. B. Datenbank- und SMTP-Verbindung).
* Den Systemadministrator auffordern, die Bedingungen der EULA und die ABBYY-Datenschutzrichtlinie zu akzeptieren.

**9. Produkt installieren:**

<Tabs>
  <Tab title="Virtuelle Maschinen">
    ```bash theme={null}
    ansible-playbook -i inventories/k8s -v playbooks/site-k8s-deploy.yml
    ```
  </Tab>

  <Tab title="Azure AKS">
    ```bash theme={null}
    ansible-playbook -i inventories/azure playbooks/site-azure-deploy.yml
    ```
  </Tab>
</Tabs>

Das Playbook stellt das System zur Erfassung von Metriken und Protokollen sowie ABBYY Vantage bereit. Wie lange die Installation dauert, hängt von der Leistung der ausgewählten Maschinen ab. Im Durchschnitt dauert der Vorgang etwa 10 Minuten. Sie können die Pods und die Job-Ausführung im Cluster mit einem beliebigen Kubernetes-Tool überwachen, zum Beispiel mit dem Dienstprogramm Lens. Verwenden Sie dazu die Datei `kubeconfig`, die nach der Installation von Kubernetes auf den virtuellen Maschinen im Ordner `kube` erstellt wird. Sie können die Ansible-Installationsprotokolle auch auf Ihren lokalen Computer herunterladen, indem Sie die folgenden Schritte ausführen:

1. Melden Sie sich aus dem Docker-Container ab.
2. Führen Sie den folgenden Befehl aus, um die Liste der Container abzurufen:

```bash theme={null}
docker ps -a
```

Ermitteln Sie den Namen des Containers mit dem Installationsprogramm.

3. Führen Sie den folgenden Befehl aus und ersetzen Sie **container\_name** durch den Namen des Containers, um die Protokolle abzurufen:

```bash theme={null}
docker cp container_name:/ansible/ansible.log ansible.log
```

Sobald die Bereitstellung abgeschlossen ist, erhalten Sie Folgendes:

* URL für den bereitgestellten Domänennamen.
* System Administrator-Login und Kennwort, mit denen Sie sich anmelden, Mandanten erstellen und Dokumente verarbeiten können.

<div id="getting-installation-logs">
  ### Installationsprotokolle abrufen
</div>

```bash theme={null}
# Docker-Container verlassen, dann:
docker ps -a
# Container-Namen ermitteln, dann:
docker cp container_name:/ansible/ansible.log ansible.log
```

<div id="optional-deployments">
  ## Optionale Bereitstellungen
</div>

<div id="deploying-the-logging-system">
  ### Bereitstellung des Logging-Systems
</div>

Wenn das Logging-System in Vantage bei der Installation nicht aktiviert wurde (der Wert des Parameters `logging.enabled` in der Datei `env_specific.yml` war **false**), können Sie es auch nach der Installation von Vantage aktivieren. Setzen Sie dazu den Wert des Parameters `logging.enabled` in der Datei `env_specific.yml` auf **true** und führen Sie den folgenden Befehl aus:

<Tabs>
  <Tab title="Virtuelle Maschinen">
    ```bash theme={null}
    ansible-playbook -i inventories/k8s playbooks/6-DeployMonitoring-k8s.yml
    ```
  </Tab>

  <Tab title="Azure AKS">
    ```bash theme={null}
    ansible-playbook -i inventories/azure playbooks/6-DeployMonitoring-azure.yml
    ```
  </Tab>
</Tabs>

<div id="deploying-business-processing-reporting-warehouse">
  ### Bereitstellen von Business Processing Reporting Warehouse
</div>

Das Business Processing Reporting Warehouse wird zur Analyse von Geschäftsprozessen und zur Nachverfolgung von Daten für bestimmte Zeiträume verwendet. Bei der Installation von Vantage wird das Business Processing Reporting Warehouse ebenfalls installiert, wenn der Wert des Parameters `reporting.enabled` in der Datei `env_specific.yml` auf **true** gesetzt ist. Wenn der Wert des Parameters `reporting.enabled` auf **false** gesetzt ist, können Sie das Business Processing Reporting Warehouse nach der Installation von Vantage installieren, indem Sie den folgenden Befehl ausführen:

<Tabs>
  <Tab title="Virtuelle Maschinen">
    ```bash theme={null}
    ansible-playbook -i inventories/k8s -v playbooks/deploy-reporting.yml
    ```
  </Tab>

  <Tab title="Azure AKS">
    ```bash theme={null}
    ansible-playbook -i inventories/azure -v playbooks/deploy-reporting.yml
    ```
  </Tab>
</Tabs>

<Warning>
  Nach der Installation müssen Sie die Pods der Public API neu starten, damit die richtige Reporting-URL geladen wird.
</Warning>

<div id="deploying-the-identity-documents-add-on">
  ### Bereitstellen des Add-ons für Ausweisdokumente
</div>

<Note>
  Das Add-on für Ausweisdokumente setzt voraus, dass Vantage Internetzugriff auf `https://lic.regulaforensics.com` und `https://lic2.regulaforensics.com` hat.
</Note>

Der Service des Add-ons für Ausweisdokumente ermöglicht die Ausführung des Skills für Ausweisdokumente, mit dem Daten aus in verschiedenen Ländern ausgestellten Ausweisdokumenten extrahiert werden.

Während der Vantage-Installation wird das Add-on für Ausweisdokumente ebenfalls installiert, wenn der Wert des Parameters `id_reading.enabled` in der Datei `env_specific.yml` auf **true** gesetzt wurde. Wenn der Wert des Parameters `id_reading.enabled` auf false gesetzt wurde, können Sie das Add-on für Ausweisdokumente nach der Installation von Vantage installieren, indem Sie den folgenden Befehl ausführen:

<Tabs>
  <Tab title="Virtuelle Maschinen">
    ```bash theme={null}
    ansible-playbook -i inventories/k8s -v playbooks/12-DeployDocumentReader.yml
    ```
  </Tab>

  <Tab title="Azure AKS">
    ```bash theme={null}
    ansible-playbook -i inventories/azure -v playbooks/12-DeployDocumentReader.yml
    ```
  </Tab>
</Tabs>

Es muss sichergestellt sein, dass vom Cluster mit der Vantage-Installation aus auf die folgenden Adressen zugegriffen werden kann:

[https://lic.regulaforensics.com](https://lic.regulaforensics.com)

[https://lic2.regulaforensics.com](https://lic2.regulaforensics.com)
