> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/on-premises/pl/pierwsze-kroki/requirements/setup-docker.md).

# Konfiguracja Dockera

Overleaf działa na Dockerze. Musisz zainstalować:

* Docker Engine (Docker CE)
* Docker Compose **wtyczka** (`docker compose`, v2)

Te kroki dotyczą nowszej wersji Ubuntu LTS (20.04/22.04/24.04).

{% hint style="warning" %}
Unikaj instalowania `docker.io` z domyślnego repozytorium apt Ubuntu.\
Korzystaj z oficjalnego repozytorium Dockera, aby uzyskać nowszą wersję Dockera oraz `docker compose` wtyczkę.
{% endhint %}

Oficjalna dokumentacja pochodzi z: <https://docs.docker.com/engine/install/ubuntu/>.

{% stepper %}
{% step %}

### 1) Usuń stare/konfliktujące pakiety (jeśli są obecne)

Jeśli Docker był wcześniej zainstalowany z innego źródła, najpierw go usuń:

{% code overflow="wrap" %}

```bash
 sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc | cut -f1)
```

{% endcode %}

To polecenie jest bezpieczne, jeśli niektóre pakiety nie są zainstalowane.
{% endstep %}

{% step %}

### 2) Dodaj oficjalne repozytorium apt Dockera

Zainstaluj wymagane zależności:

```bash
sudo apt update
sudo apt install -y ca-certificates curl
```

Dodaj klucz GPG Dockera:

{% code overflow="wrap" %}

```bash
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
```

{% endcode %}

Dodaj repozytorium:

{% code overflow="wrap" %}

```bash
# Dodaj repozytorium do źródeł Apt:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF

sudo apt update
```

{% endcode %}
{% endstep %}

{% step %}

### 3) Zainstaluj Docker Engine + wtyczkę Compose

Zainstaluj Dockera i wtyczkę Compose:

{% code overflow="wrap" %}

```bash
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```

{% endcode %}

Uruchamiaj Dockera przy starcie systemu:

```bash
sudo systemctl enable --now docker
```

{% endstep %}

{% step %}

### 4) Zweryfikuj instalację

Te polecenia powinny działać bez błędów:

```bash
docker --version
docker compose version
sudo docker run --rm hello-world
docker ps
```

{% endstep %}

{% step %}

### 5) (Opcjonalnie) Uruchamiaj Dockera bez sudo

Dodaj swojego użytkownika do `docker` grupy:

```bash
sudo usermod -aG docker $USER
```

Następnie **wyloguj się i zaloguj ponownie**, albo uruchom:

```bash
newgrp docker
```

Teraz to powinno działać bez `sudo`:

```bash
docker ps
```

{% hint style="danger" %}
Ta `docker` grupa ma na hoście dostęp równoważny z rootem.\
Jest to oczekiwane w typowych instalacjach Overleaf i szczególnie istotne, jeśli włączysz Sandboxed Compiles.
{% endhint %}
{% endstep %}
{% endstepper %}

### Następny krok

Gdy Docker będzie działał, kontynuuj kroki instalacji Toolkit w [Korzystanie z Toolkit](/on-premises/pl/instalacja/using-the-toolkit.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/on-premises/pl/pierwsze-kroki/requirements/setup-docker.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
