> 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/id/pemeliharaan/docker-compose.yml-to-toolkit-migration.md).

# Migrasi dari docker-compose.yml ke Toolkit

Jika Anda saat ini menggunakan Docker Compose melalui sebuah `docker-compose.yml` file, bermigrasi ke Toolkit dapat membuat menjalankan versi on-premises Overleaf lebih mudah untuk diterapkan, ditingkatkan, dan dipelihara.

Untuk bermigrasi, Anda perlu mengonversi pengaturan Docker Compose yang sudah ada ke format yang digunakan oleh Toolkit. Proses ini melibatkan penyalinan konfigurasi yang ada ke dalam Toolkit.

Panduan ini akan memandu Anda melalui setiap langkah proses ini, memastikan migrasi yang lancar dari Docker Compose ke Toolkit.

{% hint style="info" %}
Petunjuk ini untuk v4.x dan sebelumnya. Oleh karena itu semua variabel menggunakan `SHARELATEX_` awalan alih-alih `OVERLEAF_`.
{% endhint %}

{% stepper %}
{% step %}

### Klon repositori Toolkit

Pertama, klon repositori Toolkit ke mesin host:

```bash
git clone https://github.com/overleaf/toolkit.git ./overleaf-toolkit
```

Selanjutnya jalankan `bin/init` perintah untuk menginisialisasi Toolkit dengan konfigurasi default-nya.
{% endstep %}

{% step %}

### Menetapkan image dan versi

Dalam sebuah `docker-compose.yml` image dan versi ditentukan dalam deskripsi komponen, misalnya:

```yaml
version: '2.2'
services:
    sharelatex:
        restart: always
        # Pengguna Server Pro:
        # image: quay.io/sharelatex/sharelatex-pro
        image: sharelatex/sharelatex:3.5.13
```

Saat menggunakan Toolkit, nama image diselesaikan secara otomatis; satu-satunya syarat adalah menetapkan `SERVER_PRO=true` di **config/overleaf.rc** untuk memilih image Server Pro atau `SERVER_PRO=false` untuk menggunakan Edisi Community.

Nomor versi Server Pro/Edisi Community yang diinginkan ditetapkan di berkas **config/version** . Toolkit memerlukan nomor versi tertentu seperti `4.2.3`. Jika Anda menggunakan `terbaru`, Anda dapat menggunakan `bin/images` untuk menemukan image id dari `terbaru` versi lokal Anda, lalu gunakan catatan rilis untuk 2.x.x, 3.x.x, 4.x.x, atau 5.x.x untuk memetakan image id ke versinya.

Jika Anda mengambil image dari registry internal Anda sendiri, Anda dapat mengganti image yang digunakan Toolkit dengan menetapkan `OVERLEAF_IMAGE_NAME`. Anda tidak perlu menentukan tag karena Toolkit akan menambahkannya secara otomatis berdasarkan **config/version** berkas.
{% endstep %}

{% step %}

### Mengonfigurasi akses eksternal

Secara default, Overleaf akan mendengarkan pada `127.0.0.1:80`, hanya mengizinkan lalu lintas dari mesin host Docker.

Untuk mengizinkan akses eksternal, setel `OVERLEAF_LISTEN_IP` dan `OVERLEAF_PORT` di dalam [**config/overleaf.rc**](/on-premises/id/konfigurasi/overleaf-toolkit/environment-variables.md) berkas.
{% endstep %}

{% step %}

### Migrasi variabel lingkungan

Anda kemungkinan memiliki sejumlah variabel lingkungan yang ditentukan di `sharelatex` service dalam `docker-compose.yml`, misalnya:

```yaml
environment:
    OVERLEAF_APP_NAME: Overleaf Community Edition
    OVERLEAF_PROXY_LEARN: 'true'
    …
```

Salin variabel-variabel ini ke dalam [**config/variables.env**](broken://pages/e4ca583acbab4ab521218de58b4c3788474c0454) Toolkit, pastikan bentuk berikut (gunakan `=` daripada `:`):

```env
OVERLEAF_APP_NAME=Overleaf Community Edition
OVERLEAF_PROXY_LEARN=true
```

Pengecualian / perbedaan saat menggunakan Toolkit:

* Variabel yang dimulai dengan `SANDBOXED_COMPILES_` dan `DOCKER_RUNNER` tidak lagi diperlukan. Untuk mengaktifkan Sandboxed Compiles, setel `SIBLING_CONTAINERS_ENABLED=true` di **config/overleaf.rc** berkas.
* Variabel yang dimulai dengan `OVERLEAF_MONGO_`, `OVERLEAF_REDIS_` dan `REDIS_HOST` variabel tidak lagi diperlukan. MongoDB dan Redis sekarang dikonfigurasi di **config/overleaf.rc** berkas menggunakan `MONGO_URL`, `REDIS_HOST` dan `REDIS_PORT`.

Untuk opsi konfigurasi lanjutan, lihat [config/overleaf.rc](/on-premises/id/konfigurasi/overleaf-toolkit/environment-variables.md) dokumentasi.
{% endstep %}

{% step %}

### Proxy NGINX

Untuk instruksi tentang cara bermigrasi `nginx`, lihat [dokumentasi Proxy TLS](/on-premises/id/konfigurasi/overleaf-toolkit/tls-proxy.md):
{% endstep %}

{% step %}

### Volume

Atur lokasi volume data di **config/overleaf.rc**:

#### ShareLaTeX

Atur `OVERLEAF_DATA_PATH` ke lokasi volume data yang digunakan oleh `sharelatex` kontainer.

#### MongoDB

Atur `MONGO_DATA_PATH` ke lokasi volume data yang digunakan oleh `mongo` kontainer.

#### Redis

Atur `REDIS_DATA_PATH` ke lokasi volume data yang digunakan oleh `redis` kontainer.
{% endstep %}
{% endstepper %}

Untuk detail lebih lanjut dan konfigurasi lanjutan, lihat dokumen konfigurasi Toolkit terkait yang ditautkan di atas.


---

# 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/id/pemeliharaan/docker-compose.yml-to-toolkit-migration.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.
