---
title: Yangilash va avtomatik ishga tushirish
description: IIoT platformasini tasvirlarning yangi versiyalariga yangilash va serverni yoqqanda uni avtomatik ishga tushadigan qilib sozlash.
section: Deployment
weight: 2
related:
  - installation
  - operations/backup-and-restore
  - security/security-mechanisms
---

import Steps from '@/components/docs/Steps.astro';

Platforma oʻrnatilib, ishga tushgandan soʻng uni tasvirlarning yangi versiyalariga yangilash va serverni yoqqanda avtomatik ishga tushadigan qilish uchun quyidagi bosqichlardan foydalaning.

<Steps>

### Dasturiy taʼminotni yangilash

Dasturiy taʼminotni yangilash uchun `/opt/vadtelnewweb` katalogidagi konteynerlarni toʻxtating:

```bash
docker-compose down
```

Soʻngra `/var/lib/unicloud` katalogiga oʻting va quyidagilarni bajaring.

- `unicloud` xizmatini toʻxtating:

```bash
sudo service unicloud stop
```

- Konteynerlarni oʻchiring:

```bash
docker-compose down
```

Yangi siqilgan tasvir fayllarini nusxalang va oching:

```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
```

Tasvirlarni Docker’ga yuklang:

```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
```

Tasvirlar mavjudligini tekshiring:

```bash
docker images
```

Tasvirlar xatosiz yuklangan boʻlsa, `/var/lib/unicloud` papkasidan quyidagi buyruqlarni bajaring:

```shell
sudo service unicloud start
docker-compose up -d
```

Soʻngra `/opt/vadtelnewweb` katalogiga oʻting va ilovani ishga tushiring:

```shell
docker-compose up -d
```

Ishlayotgan konteynerlarni tekshiring:

```bash
docker ps
```

### Avtomatik ishga tushirishni sozlash

`/etc/docker/daemon.json` konfiguratsiya faylini yarating, tahrirlang yoki nusxalang va quyidagilarni qoʻshing
(zarur boʻlsa, qiymatlarni moslang):

```json title="daemon.json"
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "50m",
    "max-file": "3"
  }
}
```

Keyin ilova uchun avtomatik ishga tushirish skriptini yarating. Sizga quyidagi mazmunli `docker-compose-vadtel.service`
fayli kerak boʻladi, bunda `WorkingDirectory` — bu `docker-compose.yml` faylgacha boʻlgan yoʻl.

Faylni oching:

```shell
nano /etc/systemd/system/docker-compose-vadtel.service
```

Quyidagi mazmunni qoʻshing:

```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
```

`/etc/systemd/system/` katalogidan avtomatik ishga tushirish skriptini yoqish uchun quyidagini bajaring:

```shell
sudo systemctl enable docker-compose-vadtel
```

</Steps>
