---
title: Actualización y arranque automático
description: Actualización de la Plataforma IIoT a nuevas versiones de imagen y configuración para que se inicie automáticamente al arrancar el servidor.
section: Deployment
weight: 2
related:
  - installation
  - operations/backup-and-restore
  - security/security-mechanisms
---

import Steps from '@/components/docs/Steps.astro';

Una vez instalada y en funcionamiento la plataforma, siga los pasos descritos a continuación para actualizarla a nuevas versiones de imagen y para que se inicie automáticamente al arrancar el servidor.

<Steps>

### Actualizar el software

Para actualizar el software, detenga los contenedores en `/opt/vadtelnewweb`:

```bash
docker-compose down
```

A continuación, vaya a `/var/lib/unicloud` y haga lo siguiente.

- Detenga el servicio `unicloud`:

```bash
sudo service unicloud stop
```

- Apague los contenedores:

```bash
docker-compose down
```

Copie y descomprima los nuevos archivos de imagen comprimidos:

```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
```

Cargue las imágenes en 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
```

Compruebe que las imágenes están disponibles:

```bash
docker images
```

Si las imágenes se cargaron sin errores, ejecute los siguientes comandos desde la carpeta `/var/lib/unicloud`:

```shell
sudo service unicloud start
docker-compose up -d
```

A continuación, vaya a `/opt/vadtelnewweb` e inicie la aplicación:

```shell
docker-compose up -d
```

Compruebe los contenedores en ejecución:

```bash
docker ps
```

### Configurar el arranque automático

Cree, edite o copie el archivo de configuración `/etc/docker/daemon.json` y añada lo siguiente
(ajuste los valores si es necesario):

```json title="daemon.json"
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "50m",
    "max-file": "3"
  }
}
```

A continuación, cree un script de arranque automático para la aplicación. Necesita un archivo `docker-compose-vadtel.service`
con el contenido que se muestra a continuación, donde `WorkingDirectory` es la ruta a `docker-compose.yml`.

Abra el archivo:

```shell
nano /etc/systemd/system/docker-compose-vadtel.service
```

Añada el siguiente contenido:

```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
```

Para habilitar el script de arranque automático desde `/etc/systemd/system/`, ejecute:

```shell
sudo systemctl enable docker-compose-vadtel
```

</Steps>
