Menambahkan dan Mengonfigurasi Situs Web Berbasis Docker di ServBay
ServBay adalah lingkungan pengembangan web lokal yang dirancang khusus untuk macOS, mendukung berbagai bahasa dan stack teknologi. Selain menjalankan paket perangkat lunak bawaan ServBay (seperti PHP, Node.js, Python, Go, Java, database, dll.) untuk hosting website, Anda juga dapat menggunakan kontainer Docker untuk mengoperasikan dan mengelola situs atau layanan Anda. Pendekatan ini memberikan fleksibilitas tinggi, isolasi lingkungan, serta konsistensi—sangat cocok untuk proyek dengan kebutuhan lingkungan atau dependensi khusus.
Dokumen ini memberikan panduan langkah demi langkah tentang cara menambahkan situs web yang dijalankan di dalam kontainer Docker ke ServBay, serta mengintegrasikannya ke alur kerja pengembangan lokal Anda menggunakan fitur reverse proxy ServBay.
Ikhtisar
Dengan mengonfigurasi ServBay sebagai reverse proxy, Anda dapat meneruskan permintaan ke domain tertentu menuju port layanan yang berjalan di dalam kontainer Docker. ServBay menangani traffic masuk (seperti sertifikat HTTPS, resolusi domain, dst.), sementara kontainer Docker fokus menjalankan aplikasi Anda. Pola ini menggabungkan kemudahan pengelolaan antarmuka ServBay dengan kekuatan kontainerisasi Docker.
Berikut adalah langkah-langkah untuk menambahkan dan mengonfigurasi situs web berbasis Docker melalui ServBay.
Prasyarat
Sebelum mulai, pastikan Anda telah memenuhi ketentuan berikut:
- ServBay sudah terinstal dan berjalan: Pastikan Anda telah menginstal dan menjalankan ServBay di macOS.
- Docker sudah terinstal dan berjalan: Pastikan Anda telah menginstal Docker Desktop atau lingkungan Docker lain di macOS, serta layanan Docker aktif.
- Image dan kontainer Docker siap digunakan: Pastikan Anda sudah membangun atau mengunduh image Docker yang berisi aplikasi/website Anda dan dapat menjalankan image tersebut untuk memulai sebuah kontainer.
Langkah-Langkah Detail Menambahkan Situs Web
Langkah 1: Siapkan dan Jalankan Kontainer Docker
Pastikan kontainer Docker Anda sedang berjalan dan layanan internalnya (misal web server) mendengarkan di sebuah port yang diekspos ke host (macOS Anda) melalui fitur pemetaan port Docker.
Sebagai contoh, jika Anda memiliki kontainer Nginx sederhana yang mendengarkan di port 80, gunakan perintah berikut untuk memetakan port 8080 host ke port 80 di kontainer:
bash
docker run -d --name my-nginx-servbay -p 8080:80 nginx
1
Dalam contoh ini, layanan Nginx di dalam kontainer my-nginx-servbay
mendengarkan di port 80
, namun dengan parameter -p 8080:80
, port 80
kontainer dipetakan ke port 8080
di host. ServBay nantinya akan menghubungkan ke port 8080
host.
Pastikan layanan di dalam kontainer mendengarkan pada port yang benar sesuai kebutuhan aplikasi Anda dan port tersebut sudah dipetakan ke port di host.
Langkah 2: Buka Antarmuka Manajemen ServBay
Temukan ikon aplikasi ServBay
di folder aplikasi macOS Anda, lalu klik dua kali untuk membuka antarmuka manajemen ServBay.
Langkah 3: Navigasi ke Halaman Manajemen Situs
Setelah ServBay terbuka, Anda akan melihat tampilan utama. Pada menu navigasi di sebelah kiri, cari dan klik opsi Situs
. Ini akan membawa Anda ke halaman manajemen situs ServBay, di mana Anda dapat mengelola dan mengkonfigurasi seluruh situs lokal yang sudah ditambahkan.
Ilustrasi: Klik "Situs" pada menu navigasi kiri untuk masuk ke halaman manajemen.
Langkah 4: Tambahkan Situs Baru
Di bagian bawah halaman manajemen situs, Anda akan menemukan tombol +
. Klik tombol ini, dan ServBay akan membuka formulir baru di sisi kanan untuk memasukkan informasi konfigurasi situs web yang ingin Anda tambahkan.
Ilustrasi: Klik tombol "+" di bagian bawah halaman untuk menambahkan situs baru.
Langkah 5: Konfigurasi Pengaturan Situs
Pada formulir konfigurasi situs yang terbuka, isi informasi penting berikut:
- Nama (Name): Beri nama situs yang mudah dikenali, misal
Docker Nginx Demo
. Nama ini hanya untuk manajemen internal di ServBay. - Domain: Masukkan domain lokal yang ingin digunakan untuk mengakses situs berbasis Docker ini di browser Anda. Disarankan menggunakan akhiran
.servbay.demo
agar tidak bentrok dengan domain publik, misaldocker.servbay.demo
. ServBay akan otomatis mengonfigurasi file hosts di sistem dan mengarahkan domain ini ke lokal (127.0.0.1
). - Protokol (Protocol): Pilih protokol yang didukung situs — biasanya biarkan default
HTTP/HTTPS
. ServBay akan mendengarkan pada port HTTP (80) dan HTTPS (443), serta mengatur SSL sesuai konfigurasi Anda. - Metode Permintaan Sertifikat SSL (SSL Certificate Request Method): Disarankan pilih
ServBay CA
. ServBay akan otomatis membuat serta mengelola sertifikat SSL yang ditandatangani oleh ServBay User CA yang dipercaya secara lokal. Dengan menginstal ServBay Public CA pada Keychain Anda, browser dapat memercayai sertifikat lokal ini untuk pengembangan dan pengujian HTTPS. Bila Anda punya kebutuhan lain, dapat memilihACME
(misal Let's Encrypt) atauCustom
(menggunakan sertifikat sendiri). - Tipe Situs (Website Type): [Penting] Pilih
Reverse Proxy (Proxy Balik)
. Ini berarti ServBay akan menjadi pintu masuk untuk domain tersebut, lalu meneruskan permintaan ke alamat layanan back-end yang Anda tentukan. - Alamat IP (IP Address): Masukkan alamat IP host tempat layanan Docker Anda mendengarkan. Untuk kebanyakan setup Docker lokal, biasanya
127.0.0.1
. - Port: Masukkan port di host yang digunakan oleh layanan Docker Anda. Ini sesuai port host yang Anda tentukan pada perintah
docker run -p <host_port>:<container_port>
. Contoh, jika menggunakan-p 8080:80
, maka isi8080
di sini.
Ilustrasi: Pengisian konfigurasi situs reverse proxy Docker.
Langkah 6: Selesaikan dan Simpan Konfigurasi
Setelah mengisi seluruh kolom yang diperlukan, klik tombol Tambah (Add)
di bagian bawah formulir.
ServBay akan memproses permintaan Anda, secara otomatis menambahkan aturan reverse proxy yang sesuai ke konfigurasi web server ServBay (misal Caddy atau Nginx), lalu memperbarui file hosts agar domain lokal yang telah Anda tentukan mengarah ke lokal.
Jika berhasil, mungkin ServBay perlu beberapa saat untuk menerapkan perubahan, setelah itu Anda dapat langsung mencoba mengakses domain yang baru dibuat.
Langkah 7: Akses Situs & Gunakan Fitur Cepat
Setelah penyimpanan berhasil, kembali ke halaman manajemen situs dan Anda akan melihat entri situs baru. Pastikan statusnya menunjukkan “running” atau “berjalan”.
Sekarang Anda bisa mengakses situs via browser menggunakan domain lokal (misal http://docker.servbay.demo
atau https://docker.servbay.demo
). Jika konfigurasi benar, ServBay akan meneruskan permintaan ke layanan di dalam kontainer Docker dan menampilkan halaman web dari kontainer tersebut.
Pada entri situs di daftar, ServBay menyediakan berbagai tombol fitur:
- Buka root direktori situs dengan IDE: (Pada situs bertipe reverse proxy, tombol ini mungkin tidak relevan atau akan membuka folder konfigurasi ServBay; perilaku ini bergantung pada versi dan konfigurasi ServBay)
- Buka situs di browser: Cepat membuka URL situs di tab baru browser Anda.
- Lihat log situs: Lihat akses & error log untuk situs ini — sangat berguna untuk debugging.
- Nonaktifkan/Aktifkan situs: Untuk sementara menonaktifkan atau mengaktifkan konfigurasi reverse proxy ServBay untuk situs ini.
- Hapus situs: Menghapus konfigurasi situs ini dari ServBay.
Ilustrasi: Fitur-fitur cepat pada entri situs di daftar ServBay.
Catatan & Praktik Terbaik
- Status kontainer Docker: Pastikan kontainer target selalu dalam keadaan aktif agar ServBay bisa meneruskan permintaan dengan sukses.
- Pemetaan port: Periksa kembali pemetaan port Docker (
-p
) dan port yang Anda isi di ServBay, serta pastikan port pada host tidak dipakai program lain. - Firewall: Periksa pengaturan firewall pada macOS Anda. Pastikan port yang digunakan oleh ServBay (umumnya 80 dan 443), serta port yang diekspos Docker di host, tidak diblokir.
- Mode jaringan Docker: Umumnya, memakai network
bridge
(bawaan Docker) dengan pemetaan port (-p
) adalah cara termudah. Jika menggunakan modehost
, ServBay bisa langsung terhubung ke port di dalam kontainer (misal jika di kontainer mendengarkan di 80, isi 80 di ServBay). Tapi modehost
rentan bentrok port dengan software lain. - ServBay CA: Demi kemudahan pengembangan HTTPS, sangat disarankan menginstal ServBay Public CA agar sertifikat lokal yang dibuat ServBay dipercaya oleh browser Anda dan tidak muncul peringatan keamanan.
FAQ & Troubleshooting
T: Setelah menambahkan situs, saya tidak bisa mengaksesnya dan browser menampilkan error?
J: Coba periksa berikut ini:
- Status situs di ServBay: Pastikan status di halaman manajemen ServBay menunjukkan “running”.
- Status kontainer Docker: Jalankan
docker ps
di terminal, pastikan kontainer target sedang berjalan. - Pemetaan port Docker: Lihat hasil
docker ps
dan cek kolomPORTS
, pastikan port host (misal0.0.0.0:8080->80/tcp
atau127.0.0.1:8080->80/tcp
) sesuai dengan pengaturan di ServBay. - Layanan di dalam kontainer: Pastikan web server atau aplikasi di dalam kontainer (seperti Nginx, Apache, Node, dll.) berjalan dengan baik di port yang sesuai dan tidak ada error. Lihat log dengan
docker logs <ID atau nama kontainer>
. - Log ServBay: Klik ikon log pada daftar situs di ServBay dan cek detail error/akses log untuk info lebih lanjut mengenai masalah forwarding.
- File hosts sistem: Meskipun ServBay mengatur otomatis, bisa cek manual
/etc/hosts
untuk memastikan domain sudah diarahkan ke127.0.0.1
. - Firewall: Pastikan firewall tidak memblokir port yang digunakan oleh ServBay maupun port host yang diekspos Docker.
T: Apakah ServBay bisa mengelola kontainer Docker itu sendiri?
J: ServBay berperan untuk mengelola layanan web, database, lingkungan bahasa pemrograman lokal, serta mengarahkan traffic ke back-end (termasuk kontainer Docker). Namun, ServBay TIDAK menyediakan fungsi manajemen penuh siklus hidup kontainer Docker (misal menjalankan, menghentikan, atau membangun image). Anda perlu tetap memakai perintah CLI Docker atau antarmuka Docker Desktop untuk mengelola kontainer.
T: Apa itu ServBay CA, dan kenapa perlu menginstalnya?
J: ServBay CA (Certificate Authority) adalah sistem manajemen sertifikat yang disediakan ServBay untuk kemudahan pengembangan HTTPS lokal. ServBay User CA digunakan mensign sertifikat SSL situs lokal, sedangkan ServBay Public CA adalah akar sertifikat (root). Dengan menginstal ServBay Public CA di keychain sistem Anda, browser dan sistem akan memercayai semua sertifikat dari ServBay sehingga tidak memunculkan peringatan "not secure" saat mengakses situs HTTPS lokal — penting untuk simulasi/dev environment yang menyerupai produksi.
Ringkasan
Menambahkan situs berbasis Docker ke ServBay adalah cara yang efisien dan fleksibel. ServBay berperan sebagai pusat manajemen domain & traffic di lingkungan lokal, sementara Docker menjalankan environment dan aplikasi secara terisolasi. Melalui konfigurasi reverse proxy yang simpel, Anda dapat dengan mudah mengintegrasikan berbagai proyek Docker ke alur kerja ServBay. Ikuti langkah dan tips di atas, maka Anda akan lancar mengatur serta menjalankan website lokal yang dockerized.