# Aktualizacja w kontenerze Docker

#### Instrukcje aktualizacji Xopero ONE Management Service w kontenerze Docker wyjaśniają jak wykonać aktualizacje i efektywnie zarządzać usługą.

***

## Aktualizacja Management Service

{% hint style="info" %}
Poniższe instrukcje mają zastosowanie dla modelu wdrożenia on-premise **Xopero ONE Management Service**.
{% endhint %}

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

## Proces aktualizacji

{% hint style="danger" %}
Aktualizacja **Xopero ONE Management** uruchomionego jako kontener **Docker** polega na **zatrzymaniu starego kontenera**, **zainstalowaniu nowego** (stare bazy danych muszą być podmontowane) i **usunięciu starego kontenera**.
{% endhint %}

1. Pobierz nowy obraz i usuń stary kontener z [**XMS**](#user-content-fn-1)[^1], używając polecenia:

```
docker pull xopero/xopero-one-service:latest
docker stop xone && docker rm xone
```

2. Następnie utwórz nowy kontener z agentem za pomocą tej komendy:

```

docker run -d \
  --name <container_name> \
  -p <xms_port>:80 \
  -v <database_location_outside_container>:/app/Xopero \
  xopero/xopero-one-service
```

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/cZggNkkWAPQXkBlxIFOt/image.png" alt="Running the container with the Xopero ONE Management Service within"><figcaption></figcaption></figure>

***

## Walidacja aktualizacji  <a href="#update_validation" id="update_validation"></a>

Na koniec nadszedł czas, aby sprawdzić, czy wszystko przebiegło prawidłowo. Zaloguj się do panelu **Xopero ONE** za pośrednictwem przeglądarki internetowej i poczekaj, aż status urządzenia zmieni się na **online**. Upewnij się, że wszystkie poprzednie ustawienia są dostępne (plany, magazyny, urządzenia itp.).
{% endtab %}

{% tab title="QNAP NAS (Container Station > 3.0)" %}

## Proces aktualizacji

{% hint style="danger" %}
Ta metoda wymaga, aby Container Station miało co najmniej wersję 3.0.
{% endhint %}

1. Otwórz **Container Station** na urządzeniu QNAP.
2. Po uzyskaniu dostępu do **Container Station**, zlokalizuj i wybierz kontener uruchamiający **Xopero ONE Management Service**, który chcesz zaktualizować.
3. Po wybraniu odpowiedniego kontenera, kliknij ikonę ⚙️**ustawień**, aby uzyskać dostęp do ustawień kontenera.

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

4. W menu ustawień zobaczysz opcję oznaczoną **Recreate**. Kliknij tę opcję, aby kontynuować aktualizację. Ta czynność umożliwi Ci zastąpienie bieżącego kontenera nowym, opartym na najnowszym obrazie.

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

5. Następnie musisz skonfigurować ustawienia aktualizacji. Przełącz się na tryb zaawansowany, jak pokazano na ilustracji. W trybie zaawansowanym zostaniesz poproszony o wprowadzenie adresu obrazu z **Docker Hub**. Wprowadź następujący adres:

```
xopero/xopero-one-service:latest
```

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

6. Dodatkowo, upewnij się, że zaznaczyłeś opcję **"Try pulling the image from the registry before creating the container"**. Ten krok jest kluczowy, ponieważ zapewnia użycie najnowszej wersji obrazu. Po skonfigurowaniu tych ustawień kliknij **"Next"**, aby przejść dalej.
7. W tym momencie masz opcję edytowania ustawień kontenera tak, jak podczas tworzenia nowego kontenera. Wprowadź wszelkie niezbędne poprawki lub po prostu kliknij **"Next”** ponownie, aby przejść do strony podsumowania.

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

8. Na koniec przejrzyj podsumowanie ustawień i zmian. Gdy będziesz zadowolony, kliknij **"Finish"**.
9. **Container Station** pobierze wówczas najnowszy obraz i utworzy nowy kontener, wykorzystując ustawienia i dane z poprzedniego kontenera. Ten proces zapewnia, że kontener **Xopero ONE Management Service** zostanie zaktualizowany do najnowszej wersji, zachowując wszystkie istniejące ustawienia i dane.

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

10. Postępując zgodnie z tymi krokami, możesz łatwo utrzymać kontener **XoperoONE Management Service** w aktualnym stanie, zapewniając optymalną wydajność oraz dostęp do najnowszych funkcji i ulepszeń.
    {% endtab %}

{% tab title="QNAP NAS (Container Station < 3.0.)" %}

## Proces aktualizacji <a href="#new_container" id="new_container"></a>

1. Otwórz aplikację **Container Station**, kliknij **Container name**, a następnie wybierz przycisk **Settings**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/o3ZrXFDU8Y0bCGYZCTCk/image.png" alt="Container Settings in Container Station on QNAP NAS"><figcaption></figcaption></figure>

2. Następnie wybierz opcję **Advanced Settings** i otwórz sekcję **Shared Folders** aby zobaczyć dokładną ścieżkę do baz danych na **QNAP**.\
   Zapisz ścieżkę\* (np. `/share/CACHEDEV2_DATA/Container/cointainer-station-data/lib/docker/volumes/<container's_folder>/_data`) aby wprowadzić ją podczas tworzenia kontenera z nową wersją.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/y2wRuolwv0dopUk29CsN/image.png" alt="Container Settings in Container Station on QNAP NAS"><figcaption></figcaption></figure>

3. Teraz otwórz kartę **Image**, wyszukaj `xopero/xopero-one-service` i kliknij przycisk **Install**.&#x20;

{% hint style="warning" %}
Pamiętaj, aby przełączyć się na kartę **Docker Hub** (z karty **Local**).
{% endhint %}

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/2eBrCugVzqOlnx35Tt5v/image.png" alt="Image tab in Container Station on QNAP NAS"><figcaption></figcaption></figure>

4. Teraz wybierz najnowszą wersję i kliknij przycisk **Next**.

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

5. **QNAP** wyświetli teraz okno **Create Container**, w którym możesz ustawić nazwę kontenera, limit CPU i RAM, a także zaawansowane ustawienia dla kontenera docker **Xopero ONE**.

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

6. Otwierając **Advanced settings***,* zyskasz dostęp do 4 dodatkowych sekcji, z których najważniejsze to **Network** i **Shared Folders**.
7. W zakładce **Network** możesz ustawić port nasłuchiwania dla usługi **Xopero ONE Management Service** (domyślny to **28555**), wpisując odpowiedni numer w polu **Host** (musi on być taki sam, jak w pierwszej instalacji).

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/QRXnkaYgVIiQ4BQEMSH8/image.png" alt="Creating contener - network tab"><figcaption></figcaption></figure>

8. Otwierając zakładkę **Shared Folders** możesz teraz wybrać ścieżkę do baz danych usługi **Xopero ONE Management Service**. Najpierw usuń istniejący wpis w sekcji **New volume**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/HuqoFMvHgkErNqT0vLec/image.png" alt="Creating contener - shared folders tab"><figcaption></figcaption></figure>

9. Następnie dodaj ścieżkę w polu **Volume from host**, użyj ścieżki zapisanej wcześniej.

{% hint style="warning" %}
Nie wklejaj ścieżki ręcznie! Wybierz lokalizację bezpośrednio z listy.<br>

Przykładowa ścieżka:\
`/share/CACHEDEV2_DATA/Container/cointainer-station-data/lib/docker/volumes/<container's_folder>/_data`
{% endhint %}

{% hint style="danger" %}
Jeżeli ścieżka: `/share/CACHEDEV2_DATA/` nie widnieje na liście, przejdź do folderu wyżej i zacznij od `/Container/`.
{% endhint %}

10. Następnie w polu **Mount Point** należy ustawić wartość: `/app/Xopero`.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/aNOIN0qDOFjGL02aDyoE/image.png" alt="Creating contener - shared folders tab"><figcaption></figcaption></figure>

11. Naciśnij przycisk **Create**, sprawdź dane w oknie **Summary** i kliknij **OK** aby kontynuować.&#x20;

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

***

## Walidacja aktualizacji  <a href="#update_validation" id="update_validation"></a>

Na koniec należy zweryfikować, czy wszystko przebiegło pomyślnie. Zaloguj się do panelu **Xopero ONE** przez przeglądarkę internetową i poczekaj, aż status urządzeń zmieni się na **online**. Upewnij się, że wszystkie poprzednie ustawienia (**plany**, **magazyny**, **urządzenia** itp.) są dostępne. Jeśli potwierdzisz, że wszystko działa poprawnie, możesz usunąć stary kontener lub zachować go przez pewien czas dla bezpieczeństwa.
{% endtab %}

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

## Proces aktualizacji

{% hint style="info" %}
Aby zaktualizować usługę **Management Service** zainstalowaną w środowisku **Docker** na systemie **Synology NAS**, należy zainstalować nową wersję z podmontowanymi starymi bazami danych.
{% endhint %}

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**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/tLsvJBOGcu1LJZ03nSzf/u1.png" alt=""><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/Bk0bwuNPy84Yf03xbCuD/u5.PNG" alt=""><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/gkt5mnZnOEPEAGDzZJR0/u3.PNG" alt=""><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/phKAvu9sMngScL3Eppuw/u6.PNG" alt=""><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
