# Aktualizacja w kontenerze Docker

#### Utrzymywanie kontenera agenta w aktualnej wersji zapewnia optymalną wydajność oraz dostęp do najnowszych funkcji i usprawnień.

***

## Aktualizacja agenta Xopero ONE

{% tabs %}
{% tab title="Windows (Docker Desktop)" %}

## Wymiana agenta

{% hint style="danger" %}
Jedynym sposobem na aktualizację agenta zainstalowanego w kontenerze jest **usunięcie istniejącej wersji i utworzenie nowej**.
{% endhint %}

1. Pobierz nowy obraz i usuń stary kontener z agentem, używając następujących komend:

```dockerfile
docker pull xopero/gitprotect-agent:latest
docker stop xopero-agent && docker rm xopero-agent
```

2. Utwórz nowy kontener z **agentem Xopero ONE**:

```dockerfile
docker run -d \
  --name xopero-agent \
  -e ManagementServiceUrl="<your_xopero_service_URL>" \
  -e XoperoOverriddenHostName="<device_name>" \
  -v /opt/gitprotect-agent/data:/app/Xopero \
  --restart unless-stopped \
  xopero/gitprotect-agent:latest
```

* `<your_xopero_service_URL>` — adres **Xopero ONE Management Service** wraz z portem (np. `123.456.7.890:28555`).
* `<device_name>` — iestandardowa nazwa kontenera **Docker**.

3. Po wykonaniu tych kroków **agent Xopero** powinien zostać zaktualizowany do najnowszej wersji.
   {% endtab %}

{% tab title="QNAP NAS (CS > 3.0)" %}
{% hint style="warning" %}
Ta metoda wymaga aplikacji **Container Station w wersji 3.0 lub nowszej**.
{% endhint %}

## Proces aktualizacji

1. Otwórz **Container Station** na swoim urządzeniu **QNAP**.
2. Zlokalizuj i wybierz kontener z agentem, którego chcesz zaktualizować, a następnie kliknij ikonę ⚙️ **Settings** aby otworzyć ustawienia kontenera.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/QH6bVFbJQSmGv7tnNoC8/image.png" alt=""><figcaption></figcaption></figure>

3. W menu ustawień wybierz opcję **Recreate** aby rozpocząć aktualizację. Ta akcja zastępuje bieżący kontener nowym, opartym na najnowszym obrazie.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FLyCN0GTlI1i9kTaGOb6q%2Fagentdocker1.png?alt=media&#x26;token=4ed66b38-609d-47f6-be1e-8b043918d4ae" alt="" width="170"><figcaption></figcaption></figure>

4. Przełącz się na **Tryb zaawansowany (Advanced mode)** (see illustration below). Zostaniesz poproszony o adres obrazu z **Docker Hub** — wpisz poniższy adres:

```docker
xopero/gitprotect-agent:latest
```

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/fD0GFAuRp2BS4YT8Xfw7/image.png" alt="" width="563"><figcaption></figcaption></figure>

5. Upewnij się, że zaznaczona jest opcja **Try pulling the image from the registry before creating the container** (gwarantuje to użycie najnowszej wersji). Kliknij **Next** aby kontynuować.
6. Możesz teraz edytować ustawienia kontenera. Dostosuj je w razie potrzeby i kliknij **Next**, aby przejść do podsumowania.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/uKkOhwkuYDuRrAg7TbE9/image.png" alt="" width="563"><figcaption></figcaption></figure>

7. Sprawdź podsumowanie zmian. Jeśli wszystko się zgadza, kliknij **Finish**. **Container Station** pobierze najnowszy obraz i utworzy nowy kontener, zachowując dane i ustawienia poprzedniego. To aktualizuje **agenta** do najnowszej wersji zachowując poprzednie ustawienia i dane.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/uO1h0FkhmKwhKLYnxeyL/image.png" alt="" width="563"><figcaption></figcaption></figure>
{% endtab %}

{% tab title="QNAP NAS (CS < 3.0)" %}
{% hint style="danger" %}
W starszych wersjach jedynym sposobem aktualizacji **agenta** jest usunięcie istniejącej wersji i instalacja nowej. Utworzenie nowego kontenera wymaga ponownej aktywacji urządzenia, więc konieczne będzie ponowne przypisanie go do planów backupu.
{% endhint %}

## Proces aktualizacji

1. Zaloguj się do panelu [**XMS**](#user-content-fn-1)[^1].
2. Przejdź do zakładki **Urządzenia** i znajdź **agenta Docker**.
3. Kliknij przycisk ℹ️ **Szczegóły urządzenia**. Sprawdź i zanotuj plany przypisane do agenta (będą potrzebne później). Wszystkie plany można znaleźć w sekcji **Plany Backupu**; można też rozwinąć listę klikając **Pokaż więcej**.
4. Usuń stary kontener **agenta** **Xopero ONE** — w **Container Station**, kliknij ikonę **Remove** w zakładce **Actions** aby usunąć kontener.
5. Po usunięciu kontenera zainstaluj **obraz Docker agenta Xopero ONE** ponownie. Następnie dodaj go do wszystkich planów, do których był wcześniej przypisany.
   {% endtab %}

{% tab title="Synology NAS (Container Manager)" %}

## Proces aktualizacji

1. W przypadku korzystania z tagu `:latest`, narzędzie **Container Manager** monitoruje dostępność aktualizacji obrazu. Gdy nowa wersja będzie dostępna, w zakładce **Image**, pojawi się powiadomienie ze statusem **Update available**. Aby rozpocząć proces aktualizacji, wystarczy kliknąć przycisk **Update available**..

{% hint style="warning" %}
Jeśli przycisk **Update available** się nie pojawia, mimo że aktualizacja jest dostępna na innych urządzeniach, może być konieczne odczekanie **do 12 godzin**.
{% endhint %}

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/ikUq9pVR88VkcmqoWudK/u1.png" alt="" width="563"><figcaption></figcaption></figure>

2. Po aktywacji pojawi się komunikat systemowy informujący, że usługi oraz kontener zostaną tymczasowo zawieszone na czas aktualizacji. Potwierdź operację, wybierając przycisk **Update**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/rScp3pHx1tld4xia1emX/u2.PNG" alt="" width="563"><figcaption></figcaption></figure>

3. W drugim kroku potwierdzenia system poprosi o ponowne zatwierdzenie aktualizacji poprzez kliknięcie przycisku **Update**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/DJKAKj04O52SfnEFrF4c/u3.PNG" alt="" width="563"><figcaption></figcaption></figure>

4. Postęp aktualizacji będzie widoczny na liście operacji. Po pobraniu zaktualizowanego obrazu, kontenery z włączoną opcją **Auto-start** zostaną automatycznie uruchomione ponownie.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/XXeGunErTzSHQE3xEl6K/u4.PNG" alt="" width="563"><figcaption></figcaption></figure>

5. Aby zweryfikować aktualizację, przejdź do zakładki **Containers** i upewnij się, że kontener działa poprawnie. Następnie, w panelu **Xopero ONE Management Service**, potwierdź, że system wskazuje najnowszą wersję oprogramowania.
   {% endtab %}
   {% endtabs %}

[^1]: Xopero ONE Management Service
