---
title: Aggiornamento e avvio automatico
description: Aggiornamento della Piattaforma IIoT alle nuove versioni delle immagini e configurazione dell'avvio automatico all'accensione del server.
section: Deployment
weight: 2
related:
  - installation
  - operations/backup-and-restore
  - security/security-mechanisms
---

import Steps from '@/components/docs/Steps.astro';

Una volta installata e in esecuzione la piattaforma, segui i passaggi descritti di seguito per aggiornarla alle nuove versioni delle immagini e per fare in modo che si avvii automaticamente all'accensione del server.

<Steps>

### Aggiornare il software

Per aggiornare il software, arresta i container in `/opt/vadtelnewweb`:

```bash
docker-compose down
```

Quindi spostati in `/var/lib/unicloud` ed esegui le operazioni seguenti.

- Arresta il servizio `unicloud`:

```bash
sudo service unicloud stop
```

- Spegni i container:

```bash
docker-compose down
```

Copia e decomprimi i nuovi file di immagine compressi:

```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
```

Carica le immagini 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
```

Verifica che le immagini siano disponibili:

```bash
docker images
```

Se le immagini sono state caricate senza errori, esegui i comandi seguenti dalla cartella `/var/lib/unicloud`:

```shell
sudo service unicloud start
docker-compose up -d
```

Quindi spostati in `/opt/vadtelnewweb` e avvia l'applicazione:

```shell
docker-compose up -d
```

Controlla i container in esecuzione:

```bash
docker ps
```

### Configurare l'avvio automatico

Crea, modifica o copia il file di configurazione `/etc/docker/daemon.json` e aggiungi quanto segue
(adatta i valori se necessario):

```json title="daemon.json"
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "50m",
    "max-file": "3"
  }
}
```

Successivamente, crea uno script di avvio automatico per l'applicazione. Serve un file
`docker-compose-vadtel.service` con il contenuto riportato di seguito, dove `WorkingDirectory` è il percorso di `docker-compose.yml`.

Apri il file:

```shell
nano /etc/systemd/system/docker-compose-vadtel.service
```

Aggiungi il contenuto seguente:

```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
```

Per abilitare lo script di avvio automatico da `/etc/systemd/system/`, esegui:

```shell
sudo systemctl enable docker-compose-vadtel
```

</Steps>
