> For the complete documentation index, see [llms.txt](https://ayakaleaf-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://ayakaleaf-pro.ayaka.space/on-premises/pl/instalacja/setup-docker.md).

# Konfiguracja Dockera

Overleaf działa w Dockerze. Musisz zainstalować:

* Silnik Docker (Docker CE)
* Wtyczka Docker Compose (`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.\
Użyj oficjalnego repozytorium Docker, aby uzyskać nowszą wersję Dockera i `docker compose` wtyczkę.
{% endhint %}

Oficjalny dokument pochodzi z: <https://docs.docker.com/engine/install/ubuntu/>.

{% stepper %}
{% step %}

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

Jeśli Docker został 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 pakiety:

```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 Silnik Docker + wtyczkę Compose

Zainstaluj Docker 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 podczas startu systemu:

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

{% endstep %}

{% step %}

### 4) Sprawdź instalację

Te polecenia powinny wykonać się bez błędów:

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

{% endstep %}

{% step %}

### 5) (Opcjonalnie) Uruchamiaj Docker 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 dostęp równoważny rootowi na hoście.\
Jest to oczekiwane w typowych instalacjach Overleaf, a szczególnie istotne, jeśli włączysz Sandboxed Compiles.
{% endhint %}
{% endstep %}
{% endstepper %}

### Następny krok

Gdy Docker działa, kontynuuj kroki instalacji Toolkitu w [Korzystanie z Toolkitu](/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://ayakaleaf-pro.ayaka.space/on-premises/pl/instalacja/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.
