> For the complete documentation index, see [llms.txt](https://helpcenter.xopero.com/xopero-one-en/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://helpcenter.xopero.com/xopero-one-en/pl/wdrozenie-i-konfiguracja/xopero-one-agent/instalacja-w-kontenerze-docker.md).

# Instalacja w kontenerze Docker

{% hint style="info" %}
Obraz usługi agenta backupu jest hostowany na [oficjalnym profilu Xopero w serwisie Docker Hub](https://hub.docker.com/r/xopero/xone-agent).
{% endhint %}

{% tabs %}
{% tab title="Docker" %}

## Wdrożenie <a href="#deployment" id="deployment"></a>

1. Aby zainstalować agenta **Xopero ONE** wewnątrz kontenera **Docker**, użyj obrazów dostępnych w serwisie **Docker Hub**:

```docker
docker pull xopero/xone-agent:latest
```

2. Utwórz na hoście katalog dla baz danych kontenera (które wewnątrz kontenera znajdują się w lokalizacji `/app/Xopero`), aby przechowywać je poza kontenerem:

```docker
mkdir -p /opt/xone-agent/data
```

3. Uruchom kontener z prawidłowym montowaniem wolumenu i zmiennymi środowiskowymi, używając poniższego polecenia:

```docker
docker run -v /host/path:/container/path -e ENV_VAR=value image_name
```

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

{% code title="Przykład" overflow="wrap" %}

```docker
docker run -d \
  --name xone-agent \
  -e ManagementServiceUrl="https://192.168.1.10:28555" \
  -e XoperoOverriddenHostName="Docker_agent" \
  -v /opt/xone-agent/data:/app/Xopero \
  --restart unless-stopped \
  xopero/xone-agent:latest
```

{% endcode %}

4. Sprawdź, czy kontener działa poprawnie, używając następującego polecenia:

```docker
docker ps
```

5. Po wykonaniu wszystkich powyższych kroków agent pojawi się w panelu **Xopero ONE Management Service** celem aktywacji.
   {% endtab %}

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

<p align="center"><a href="#prerequisites" class="button primary" data-icon="circle-1">Wymagania wstępne</a>    <a href="#environment_setup" class="button primary" data-icon="circle-2">Konfiguracja środowiska</a>    <a href="#deployment-1" class="button primary" data-icon="circle-3">Wdrożenie</a></p>

## Wymagania wstępne <a href="#prerequisites" id="prerequisites"></a>

**QNAP**:

* [x] Procesor x86 lub x64 (architektura ARM <mark style="color:red;">**nie jest obsługiwana**</mark>).
* [x] Minimum 2GB pamięci RAM.
* [x] Aplikacja **Container Station** z **App Center.**

***

## Konfiguracja środowiska <a href="#environment_setup" id="environment_setup"></a>

1. Zaloguj się do **panelu webowego** **QNAP** i otwórz aplikację **App Center**. Przejdź do **QNAP Store** > **All Apps** i wyszukaj **Container Station** (**CS**).
2. Pobierz aplikację **Container Station**. Po pobraniu otwórz ją i wybierz ścieżkę, która będzie używana jako katalog danych kontenera **Docker**.

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

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

3. Kliknij **Start Now**, aby kontynuować.

***

## Wdrożenie <a href="#deployment" id="deployment"></a>

1. W aplikacji **Container Station** otwórz menu **Containers** i kliknij przycisk **Create**.

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

2. W sekcji **Image Configuration** wybierz **Advanced mode**. Jako typ obrazu wybierz **Docker image**, a w polu **Image** wklej:

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

3. Upewnij się, że opcja **Try pulling the image from the registry before creating the container** jest zaznaczona, a następnie kliknij **Next**.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2F8rYnOSUSDRp0gu6gRT2e%2Fobraz_2026-08-27_161928120.png?alt=media&amp;token=04bf3546-9c07-4bd8-8854-eeaee9553f01" alt=""><figcaption></figcaption></figure>

4. W karcie **Configure Container**, skonfiguruj kontener **Docker Xopero ONE** i kliknij **Next**, aby kontynuować:

> **Name** — ustaw własną nazwę kontenera.
>
> **Restart policy** — określa, czy kontener powinien uruchamiać się automatycznie (np. po restarcie **QNAP**).

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FhYiY0Hwr65foYo493REP%2Fobraz_2026-08-27_161953552.png?alt=media&amp;token=9223b979-65dd-4847-99f5-df2ffdb8b881" alt=""><figcaption></figcaption></figure>

5. W tej samej karcie przejdź do ⚙️**Advanced Settings**.
6. Przejdź do sekcji **Environments** section i kliknij **Add New Variable,** aby dodać zmienne środowiskowe o następujących wartościach:

{% code title="ASPNETCORE\_URLS" overflow="wrap" %}

```docker
http://+:80
```

{% endcode %}

{% code title="DOTNET\_RUNNING\_IN\_CONTAINER" overflow="wrap" %}

```docker
true
```

{% endcode %}

{% code title="ManagementServiceUrl" overflow="wrap" %}

```docker
Xopero ONE Management Service address
```

{% endcode %}

{% hint style="warning" %}
Zastąp `Xopero ONE Management Service address`  własnym adresem **Xopero ONE Management Service\***.
{% endhint %}

**‼️\*ManagementServiceUrl** – <mark style="color:red;">**własny adres**</mark> **Xopero ONE Management Service** (**XMS**) w jednym z następujących formatów (w zależności od modelu wdrożenia **XMS**):

> a. `http://ipaddress:port`, np. `http://192.168.0.1:28555`&#x20;
>
> b. `https://XMSID.ads.xopero.com`, np. `https://a00b0dc0-0116-0000-0000-d0000028960e.ads.xopero.com`

{% code title="XoperoOverriddenHostName" %}

```docker
your custom QNAP container name
```

{% endcode %}

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FX0lUOWuVCbh4uodavM4r%2Fimage.png?alt=media&amp;token=27ffa436-c230-4c45-a9b5-01ca157b1527" alt=""><figcaption></figcaption></figure>

7. Kliknij **Apply,** aby zapisać zmiany.
8. Przejdź do karty **Storage** — tutaj możesz podmontować wolumeny **QNAP** do kontenera **Docker** agenta **Xopero ONE**.

{% hint style="success" %}
Możesz zamontować wiele katalogów, klikając przycisk **Add Volume** i powtarzając operację.
{% endhint %}

{% hint style="info" %}
Aby wykonywać kopię zapasową danych z **QNAP**, wybierz **Bind Mount Host Path** z menu rozwijanego **Add Volume** — pozwoli to określić, do których danych kontener **Xopero ONE** ma dostęp. Wybierz katalog z hosta i wprowadź ścieżkę, pod którą będzie on widoczny wewnątrz kontenera w polu **Container**.
{% endhint %}

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

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

9. Sprawdź ponownie i potwierdź ustawienia, a następnie kliknij **Finish** aby utworzyć kontener.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FpezwYGMk8ZhC7ZiK6lvO%2Fobraz_2026-08-27_162206907.png?alt=media&amp;token=baa11597-711f-4cd7-ba1d-fc975c4342eb" alt="" width="563"><figcaption></figcaption></figure>

10. **Container Station** pobierze najnowszy obraz **Xopero ONE** i utworzy na jego podstawie kontener.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FInjLmaaOmvBG0bNScjke%2Fobraz_2026-08-27_162229775.png?alt=media&amp;token=864b3727-bdf1-45af-9d84-f2c515b96623" alt=""><figcaption></figcaption></figure>

11. Po zakończeniu procesu nowy kontener będzie widoczny w karcie **Container** w **Container Station**.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2Fa3ympibSfyc8gV4ACltd%2Fobraz_2026-08-27_162300391.png?alt=media&amp;token=e91d0f00-7bc7-46c3-8468-06003694f628" alt=""><figcaption></figcaption></figure>

12. Możesz teraz połączyć się z panelem administracyjnym **Xopero ONE Management Service**, aby aktywować agenta.
    {% endtab %}

{% tab title="QNAP NAS (CS < 3.0)" %}

<p align="center"><a href="#prerequisites-sec" class="button primary" data-icon="circle-1">Wymagania wstępne</a>    <a href="#environment_setup-sec" class="button primary" data-icon="circle-2">Konfiguracja środowiska</a>    <a href="#deployment-sec" class="button primary" data-icon="circle-3">Wdrożenie</a></p>

## Wymagania wstępne <a href="#prerequisites-sec" id="prerequisites-sec"></a>

**QNAP**:

* [x] Procesor x86 lub x64 (architektura ARM <mark style="color:red;">**nie jest obsługiwana**</mark>).
* [x] Minimum 2GB pamięci RAM.
* [x] Aplikacja **Container Station** z **App Center.**

***

## Konfiguracja środowiska <a href="#environment_setup-sec" id="environment_setup-sec"></a>

1. Zaloguj się do **panelu webowego** **QNAP** i otwórz aplikację **App Center**. Przejdź do **QNAP Store** > **All Apps** i wyszukaj **Container Station** (**CS**).
2. Pobierz aplikację **Container Station**. Po pobraniu otwórz ją i wybierz ścieżkę, która będzie używana jako katalog danych kontenera **Docker**.

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

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

3. Kliknij **Start Now**, aby kontynuować.
4. Gdy to zrobisz, pobierz obraz **Docker** agenta **Xopero ONE**, który jest dostępny [pod tym adresem](https://xopero.com/download/xopero_one/latest/client-image.tar).

***

## Wdrożenie <a href="#deployment-sec" id="deployment-sec"></a>

1. Otwórz aplikację **Container Station** i przejdź do karty **Import**.
2. Kliknij przycisk ➕**Import** aby przesłać pobrany wcześniej plik obrazu **Docker**.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/E1akG4H8FtafDK1QiOIu/Importing%20the%20docker%20file.png" alt="Importing the docker file"><figcaption></figcaption></figure>

3. W oknie **Create Import Task** wybierz typ źródła i ścieżkę do pliku obrazu agenta **Xopero ONE**, a następnie kliknij **Next**.&#x20;

{% hint style="info" %}
Wybranie pliku ze źródła lokalnego umożliwia wybór plików zapisanych na urządzeniu. Alternatywnie możesz użyć opcji **NAS**, aby uzyskać dostęp do plików bezpośrednio z **QNAP**.
{% endhint %}

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/czL4WOvKcwbN2LZckiYA/Creating%20import%20task.png" alt="Creating import task" width="375"><figcaption></figcaption></figure>

4. W karcie **Create Container** formularz zawiera kilka pól, z których najważniejsze to:

> **Name** — tutaj możesz ustawić własną nazwę kontenera.
>
> **Auto start** — określa, czy kontener uruchomi się automatycznie, np. w przypadku restartu QNAP.
>
> **CPU Limit** — pozwala określić procent użycia procesora przydzielony dla kontenera.
>
> **Memory Limit** — limit pamięci RAM dla kontenera.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/rwNoe0H11pUOipDj0ZGc/Creating%20container.png" alt="Creating container"><figcaption></figcaption></figure>

5. Kliknij przycisk ⚙️**Advanced Settings >>** przejdź do sekcji **Environment**.

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

6. Aby dodać nową zmienną środowiskową, kliknij przycisk **Add**, nazwij ją `ManagementServiceUrl` i ustaw jej wartość na adres usługi **Xopero ONE Management Service\***.

**‼️\*ManagementServiceUrl** – własny adres **Xopero ONE Management Service** (**XMS**) w jednym z następujących formatów (w zależności od modelu wdrożenia **XMS**):

> a. `http://ipaddress:port`, np. `http://192.168.0.1:28555`&#x20;
>
> b. `https://XMSID.ads.xopero.com`, np. `https://a00b0dc0-0116-0000-0000-d0000028960e.ads.xopero.com`

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/pbZ0KU4yENNe6W4BZNsk/create%20container.png" alt="create container"><figcaption></figcaption></figure>

7. Przejdź do sekcji **Shared Folders** — tutaj możesz podmontować wolumeny **QNAP** do kontenera **Docker** agenta **Xopero ONE**.

{% hint style="success" %}
Możesz zamontować wiele katalogów, klikając przycisk **Add Volume** i powtarzając operację.
{% endhint %}

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/YhZBTtfZ1G1VBPhvwjgG/Setting%20shared%20folders.png" alt="Setting shared folders"><figcaption></figcaption></figure>

8. by wykonywać kopię zapasową danych z urządzenia **QNAP**, wybierz **Add** w sekcji **Volume from host** — pozwoli to określić, do których danych kontener **Xopero ONE** ma mieć dostęp. Wybierz katalog z hosta w polu **Volume from host** i wprowadź ścieżkę widoczną wewnątrz kontenera w polu **Mount Point**.

{% hint style="info" %}
Na przykład, jeśli chcesz wykonać kopię zapasową katalogu o nazwie `Backup` wewnątrz folderu udostępnionego `Public`, ustaw pole **Volume from the host** na `/Public/Backup`. **Mount Point** może być inny, np. `/Backup`.
{% endhint %}

9. Po wykonaniu powyższych kroków kliknij **Create** aby kontynuować.
10. W oknie **Summary** sprawdź ponownie swoje ustawienia, a następnie kliknij **OK**, aby zakończyć konfigurację.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/3JtFbA8Tb3mONfnn81ir/Summary%20window.png" alt="Summary window"><figcaption></figcaption></figure>

10. Możesz teraz połączyć się z panelem administracyjnym **Xopero ONE Management Service**, aby aktywować agenta.
    {% endtab %}

{% tab title="Synology NAS" %}

## Wdrożenie

{% hint style="warning" %}
Aby wdrożyć agenta **Xopero ONE** na urządzeniu **Synology** za pomocą **Dockera**, użyj aplikacji **Container Manager**. Jeśli nie jest ona zainstalowana, pobierz ją z **Package Center**.
{% endhint %}

1. Przejdź do karty **Container** i kliknij przycisk **Create**. Rozwiń sekcję **Image** i kliknij **Add image**, a następnie wyszukaj obraz `xopero/xone-agent`.

{% hint style="info" %}
Wszystkie obrazy usług **Xopero** są hostowane w serwisie **Docker Hub**.
{% endhint %}

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FWbNURnqIuUgA6XfPz3Wa%2Fobraz_2026-08-27_163048151.png?alt=media&amp;token=8863300b-0d32-4e2b-a081-e6e336d5d00a" alt="" width="563"><figcaption></figcaption></figure>

2. Wybierz obraz, kliknij **Download**, i wybierz wersję oznaczoną jako latest. Kliknij **Select** aby potwierdzić.
3. Gdy obraz zostanie pobrany, wybierz go z menu rozwijanego w polu **Image.**
4. Następnie zdefiniuj własną nazwę dla kontenera. W razie potrzeby skonfiguruj również limity zasobów kontenera.
5. Zaznacz opcję **Enable auto-restart** aby upewnić się, że kontener uruchomi się automatycznie po zrestartowaniu urządzenia, a następnie kliknij **Next**.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FnWadlXMLQaquKSBSUK5p%2Fobraz_2026-08-27_163124986.png?alt=media&amp;token=d34cd04c-642e-403f-b1c1-ca4423dacb75" alt="" width="563"><figcaption></figcaption></figure>

6. W sekcji **Volume Settings**, kliknij przycisk ➕**Add Folder**, i wybierz katalogi wymagające ochrony. Kontener musi mieć podmontowane katalogi zewnętrzne, aby mieć do nich dostęp podczas wykonywania kopii zapasowych.

{% hint style="info" %}
Aby chronić dane przechowywane w katalogu `Public`, wybierz ten folder i określ **tę samą ścieżkę** wewnątrz kontenera, aby zapewnić spójność między systemami plików hosta i kontenera.
{% endhint %}

{% hint style="success" %}
Możesz podmontować wiele katalogów, klikając przycisk ➕ **Add Folder** i powtarzając operację.
{% endhint %}

7. Dodatkowo, aby zapewnić trwałość danych podczas aktualizacji kontenera lub prac konserwacyjnych, zamontuj bazy danych agenta w katalogu zewnętrznym. Bazy te znajdują się w lokalizacji `/app/Xopero` i powinny zostać zmapowane do wyznaczonego miejsca poza kontenerem, aby uniknąć utraty lub niespójności danych.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/2TKXNBFsSWr5e2fiFjAA/3.PNG" alt=""><figcaption></figcaption></figure>

8. W sekcji **Environment** definiuj wymagane zmienne:

> **ManagementServiceUrl** — własny adres **Xopero ONE Management Service** (**XMS**) w jednym z następujących formatów (w zależności od modelu wdrożenia **XMS**):
>
> a. `http://ipaddress:port`, np. `http://192.168.0.1:28555`&#x20;
>
> b. `https://XMSID.ads.xopero.com`, np. `https://a00b0dc0-0116-0000-0000-d0000028960e.ads.xopero.com`
>
> **XoperoOverriddenHostName** — określ nazwę agenta, aby ułatwić jego identyfikację w systemie.

<figure><img src="https://content.gitbook.com/content/wg6DDqlTFok8F9zv6rqa/blobs/kcZ1iTHfBG62vDKuiN1W/4.PNG" alt=""><figcaption></figcaption></figure>

9. Kliknij **Next** aby potwierdzić konfigurację. W oknie **Summary**, sprawdź ponownie swoje ustawienia i jeśli wszystko się zgadza, kliknij **Done**, aby sfinalizować proces.

<figure><img src="https://1873867500-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwg6DDqlTFok8F9zv6rqa%2Fuploads%2FswCRdqZ78zwAj716ftmF%2Fobraz_2026-08-27_163231463.png?alt=media&amp;token=3f5d4122-55fd-4cf5-8d0f-f48e2a965cfd" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}
