---
title: Aktualisierung und Autostart
description: Aktualisierung der IIoT-Plattform auf neue Image-Versionen und Einrichtung des automatischen Starts beim Hochfahren des Servers.
section: Deployment
weight: 2
related:
  - installation
  - operations/backup-and-restore
  - security/security-mechanisms
---

import Steps from '@/components/docs/Steps.astro';

Nachdem die Plattform installiert ist und läuft, verwenden Sie die folgenden Schritte, um sie auf neue Image-Versionen zu aktualisieren und sie beim Hochfahren des Servers automatisch starten zu lassen.

<Steps>

### Software aktualisieren

Um die Software zu aktualisieren, stoppen Sie die Container in `/opt/vadtelnewweb`:

```bash
docker-compose down
```

Wechseln Sie anschließend nach `/var/lib/unicloud` und gehen Sie wie folgt vor.

- Stoppen Sie den Dienst `unicloud`:

```bash
sudo service unicloud stop
```

- Fahren Sie die Container herunter:

```bash
docker-compose down
```

Kopieren und entpacken Sie die neuen komprimierten Image-Dateien:

```bash
gunzip vadtel-nginx-latest.tar.gz
gunzip vadtel-app-latest.tar.gz
gunzip anytelemetry-latest.tar.gz
gunzip pgbouncer-latest.tar.gz
gunzip vadteljsondaemon-latest.tar.gz
gunzip logrotate-latest.tar.gz
gunzip postgres-15.1-alpine.tar.gz
gunzip redis-6.0.16-alpine.tar.gz
gunzip vector-latest.tar.gz
```

Laden Sie die Images in Docker:

```bash
docker load -i vadtel-nginx-latest.tar
docker load -i vadtel-app-latest.tar
docker load -i anytelemetry-latest.tar
docker load -i pgbouncer-latest.tar
docker load -i vadteljsondaemon-latest.tar
docker load -i logrotate-latest.tar
docker load -i postgres-15.1-alpine.tar
docker load -i redis-6.0.16-alpine.tar
docker load -i vector-latest.tar.gz
```

Prüfen Sie, ob die Images verfügbar sind:

```bash
docker images
```

Wenn die Images ohne Fehler geladen wurden, führen Sie die folgenden Befehle aus dem Verzeichnis `/var/lib/unicloud` aus:

```shell
sudo service unicloud start
docker-compose up -d
```

Wechseln Sie dann nach `/opt/vadtelnewweb` und starten Sie die Anwendung:

```shell
docker-compose up -d
```

Prüfen Sie die laufenden Container:

```bash
docker ps
```

### Autostart einrichten

Erstellen, bearbeiten oder kopieren Sie die Konfigurationsdatei `/etc/docker/daemon.json` und fügen Sie das Folgende hinzu
(passen Sie die Werte bei Bedarf an):

```json title="daemon.json"
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "50m",
    "max-file": "3"
  }
}
```

Erstellen Sie als Nächstes ein Autostart-Skript für die Anwendung. Sie benötigen eine Datei `docker-compose-vadtel.service`
mit dem nachstehenden Inhalt, wobei `WorkingDirectory` der Pfad zur `docker-compose.yml` ist.

Öffnen Sie die Datei:

```shell
nano /etc/systemd/system/docker-compose-vadtel.service
```

Fügen Sie den folgenden Inhalt hinzu:

```ini title="docker-compose-vadtel.service"
[Unit]
Description=Docker Compose vadtel Application Service
Requires=docker.service
After=docker.service
StartLimitIntervalSec=60

[Service]
WorkingDirectory=/opt/vadtelnewweb
ExecStart=/usr/bin/docker-compose up
ExecStop=/usr/bin/docker-compose down
TimeoutStartSec=0
Restart=on-failure
StartLimitBurst=3

[Install]
WantedBy=multi-user.target
```

Um das Autostart-Skript aus `/etc/systemd/system/` zu aktivieren, führen Sie aus:

```shell
sudo systemctl enable docker-compose-vadtel
```

</Steps>
