---
title: Mise à jour et démarrage automatique
description: Mettre à jour la Plateforme IIoT vers de nouvelles versions d'images et la configurer pour qu'elle démarre automatiquement à l'amorçage du serveur.
section: Deployment
weight: 2
related:
  - installation
  - operations/backup-and-restore
  - security/security-mechanisms
---

import Steps from '@/components/docs/Steps.astro';

Une fois la plateforme installée et en cours d'exécution, suivez les étapes ci-dessous pour la mettre à jour vers de nouvelles versions d'images et pour qu'elle démarre automatiquement à l'amorçage du serveur.

<Steps>

### Mettre à jour le logiciel

Pour mettre à jour le logiciel, arrêtez les conteneurs dans `/opt/vadtelnewweb` :

```bash
docker-compose down
```

Rendez-vous ensuite dans `/var/lib/unicloud` et procédez comme suit.

- Arrêtez le service `unicloud` :

```bash
sudo service unicloud stop
```

- Arrêtez les conteneurs :

```bash
docker-compose down
```

Copiez et décompressez les nouveaux fichiers d'images compressés :

```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
```

Chargez les images dans 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
```

Vérifiez que les images sont disponibles :

```bash
docker images
```

Si les images se sont chargées sans erreur, exécutez les commandes suivantes depuis le dossier `/var/lib/unicloud` :

```shell
sudo service unicloud start
docker-compose up -d
```

Rendez-vous ensuite dans `/opt/vadtelnewweb` et démarrez l'application :

```shell
docker-compose up -d
```

Vérifiez les conteneurs en cours d'exécution :

```bash
docker ps
```

### Configurer le démarrage automatique

Créez, modifiez ou copiez le fichier de configuration `/etc/docker/daemon.json` et ajoutez le contenu suivant
(ajustez les valeurs si nécessaire) :

```json title="daemon.json"
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "50m",
    "max-file": "3"
  }
}
```

Créez ensuite un script de démarrage automatique pour l'application. Vous avez besoin d'un fichier `docker-compose-vadtel.service`
avec le contenu ci-dessous, où `WorkingDirectory` est le chemin d'accès à `docker-compose.yml`.

Ouvrez le fichier :

```shell
nano /etc/systemd/system/docker-compose-vadtel.service
```

Ajoutez le contenu suivant :

```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
```

Pour activer le script de démarrage automatique depuis `/etc/systemd/system/`, exécutez :

```shell
sudo systemctl enable docker-compose-vadtel
```

</Steps>
