> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 0. إعداد Docker

> ثبّت Docker Engine وإضافة Compose على Ubuntu لنشر Overleaf.

يعمل Overleaf على Docker. يجب عليك تثبيت:

* Docker Engine (Docker CE)
* إضافة Docker Compose (`docker compose`، الإصدار v2)

تستهدف هذه الخطوات إصدارًا حديثًا من Ubuntu LTS (20.04/22.04/24.04).

> [!WARNING]
>
> تجنّب تثبيت `docker.io` من مستودع apt الافتراضي في Ubuntu.\
> استخدم مستودع Docker الرسمي حتى تحصل على إصدار حديث من Docker وعلى إضافة `docker compose`.

الوثائق الرسمية مأخوذة من: [https://docs.docker.com/engine/install/ubuntu/](https://docs.docker.com/engine/install/ubuntu/).

**1. 1) إزالة الحزم القديمة أو المتعارضة (إن وُجدت)**

إذا كان Docker مثبّتًا سابقًا من مصدر آخر، فأزله أولًا:

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

هذا الأمر آمن حتى لو لم تكن بعض الحزم مثبّتة.

**2. 2) إضافة مستودع apt الرسمي لـ Docker**

ثبّت المتطلبات المسبقة:

```bash theme={null}
sudo apt update
sudo apt install -y ca-certificates curl
```

أضف مفتاح GPG الخاص بـ Docker:

```bash wrap theme={null}
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
```

أضف المستودع:

```bash wrap theme={null}
# Add the repository to Apt sources:
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
```

**3. 3) تثبيت Docker Engine وإضافة Compose**

ثبّت Docker وإضافة Compose:

```bash wrap theme={null}
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```

شغّل Docker تلقائيًا عند الإقلاع:

```bash theme={null}
sudo systemctl enable --now docker
```

**4. 4) التحقق من التثبيت**

يجب أن تعمل هذه الأوامر دون أخطاء:

```bash theme={null}
docker --version
docker compose version
sudo docker run --rm hello-world
docker ps
```

**5. 5) (اختياري) تشغيل Docker دون sudo**

أضف المستخدم الخاص بك إلى المجموعة `docker`:

```bash theme={null}
sudo usermod -aG docker $USER
```

ثم **سجّل الخروج وأعد تسجيل الدخول**، أو شغّل:

```bash theme={null}
newgrp docker
```

يُفترض الآن أن يعمل هذا الأمر دون `sudo`:

```bash theme={null}
docker ps
```

> [!CAUTION]
>
> تمنح المجموعة `docker` صلاحيات مكافئة لصلاحيات الجذر (root) على المضيف.\
> وهذا أمر متوقع في عمليات تثبيت Overleaf المعتادة، ويكتسب أهمية خاصة إذا فعّلت الترجمة المعزولة (Sandboxed Compiles).

### الخطوة التالية

بعد أن يعمل Docker، تابع مع [1. تنزيل Toolkit](https://ayakaleaf-pro.mintlify.site/ar/on-premises/installation/using-the-toolkit/1.-download-the-toolkit.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.