Kebelakangan ni aku habis banyak masa pindahkan stack aku ke Dokploy, dan walaupun platform tu hebat, aku tersekat bila nak mount file config tertentu dalam servis Compose. Tak jelas langsung di mana file tu sebenarnya duduk pada host, jadi lepas beberapa kali cuba dan silap, aku nak dokumenkan penyelesaiannya di sini untuk sesiapa yang jumpa masalah sama.
Bila kerja dengan Dokploy, jenis servis “Compose” bagi fleksibiliti besar sebab kau boleh define stack kau melalui fail docker-compose.yml. Tapi satu titik kekeliruan biasa muncul bila kau perlu mount file config tertentu (macam .ini, .json atau .conf) guna feature Advanced Settings -> Mount Volume dalam Dokploy.

Penting untuk tahu yang bagi servis jenis Compose, hanya jenis mount FILE yang disokong. Dalam panduan ni, kita tengok macam mana Dokploy simpan file-file ni dan macam mana nak rujuk dia dengan betul dalam konfigurasi Docker Compose kau supaya setting kau kekal dan selamat.
Cabaran: di mana file yang di-mount tu?
Dalam “Application” Dokploy biasa, mount file diuruskan automatik oleh logik dalaman platform. Tapi dalam servis Compose, Dokploy tak uruskan penciptaan container secara terus — ia ikut arahan yang kau define dalam fail YAML.

Kalau kau pergi ke tab Advanced servis kau dan buat mount jenis FILE, Dokploy simpan kandungan tu pada sistem host. Sebab jenis compose tak cipta app secara terus, kau kena tahu tepat di mana Dokploy simpan file-file ni untuk rujuk dia dengan betul dalam volume mapping kau.
Bahan rahsia: ../files/
Dokploy susun storan dalaman untuk servis Compose guna struktur direktori tertentu pada host:
- Direktori Code:
/etc/dokploy/compose/[service-id]/code(tempatdocker-compose.ymlkau disimpan). - Direktori Files:
/etc/dokploy/compose/[service-id]/files(tempat mount file yang diset dalam dashboard disimpan).
Sebab arahan docker-compose dijalankan dalam direktori code, kau kena naik satu tingkat (..) untuk capai file yang di-mount. Ini kunci untuk Dokploy volume mount yang berjaya.
Contoh pelaksanaan: PHP dan OpenClaw

Katakan kau nak mount uploads.ini custom untuk servis PHP, atau file config untuk OpenClaw (guna image coollabsio/openclaw:2026.3.23).
- Dalam Dokploy Dashboard: Pergi ke servis Compose kau -> Advanced -> Mounts.
- Cipta Mount:
- Type: FILE
- Name:
uploads.ini(atauopenclaw.json) - Content: Tampal setting config kau di sini.
- Dalam
docker-compose.ymlkau:
services:
app:
image: coollabsio/openclaw:2026.3.23
volumes:
# Use the ../files/ prefix to reach the Dokploy-managed file
- ../files/openclaw.json:/data/.openclaw/openclaw.json:ro
Kenapa guna :ro (Read-Only)?
Sangat digalakkan untuk tambah :ro pada definisi volume kau untuk keselamatan dan integriti data. Tanda mount sebagai read-only pastikan aplikasi kau tak terlebih tulis file config yang sepatutnya diurus melalui dashboard Dokploy.
Dalam ujian aku, update file melalui dashboard Dokploy terus reflect pada sistem host. Tapi kalau aplikasi kau ubah file tu dari dalam container, perubahan tu tak sync balik ke UI dashboard. Untuk elak konflik “Source of Truth” ni, sentiasa guna :ro.
Nota penting pasal caching
Walaupun file dikemas kini pada disk serta-merta bila kau save dalam Dokploy, aplikasi kau mungkin tak nampak perubahan tu kalau ia cache config masa startup. Kalau kau update file macam openclaw.json, kau mungkin perlu restart servis untuk pastikan kandungan baru tu reflect dalam proses yang sedang jalan.
Senarai semak ringkas
- Define file dalam tab Advanced Dokploy.
- Rujuk file dalam YAML kau guna awalan
../files/. - Guna
:rosupaya pengurusan config kekal berpusat dan selamat.
Bacaan berkaitan: Cari cara paling laju nak host site kau? Tengok panduan aku tentang WordPress Laju atas Dokploy dengan OpenLiteSpeed.

Leave a Reply
You must be logged in to post a comment.