Menambah dan Mengonfigurasi Website Berbasis Kontainer Docker di ServBay
ServBay adalah lingkungan pengembangan web lokal yang mendukung macOS dan Windows, serta berbagai bahasa pemrograman dan teknologi. Selain menjalankan paket perangkat lunak bawaan ServBay (seperti PHP, Node.js, Python, Go, Java, database, dll.) untuk menghosting website, Anda juga dapat menggunakan kontainer Docker untuk menjalankan dan mengelola website atau layanan Anda. Cara ini menawarkan fleksibilitas tinggi, isolasi lingkungan, dan konsistensi yang sangat baik—sangat cocok untuk proyek yang membutuhkan dependensi atau konfigurasi khusus.
Panduan ini menyajikan langkah-langkah detail tentang cara menambah website yang berjalan di kontainer Docker ke ServBay dan mengintegrasikannya ke workflow pengembangan Anda menggunakan fitur reverse proxy dari ServBay.
Ikhtisar
Dengan mengonfigurasi ServBay sebagai reverse proxy, Anda dapat meneruskan permintaan untuk nama domain tertentu ke port layanan yang berjalan di dalam kontainer Docker. ServBay menangani lalu lintas masuk (seperti sertifikat HTTPS, resolusi domain, dll.), sementara kontainer Docker berfokus pada menjalankan aplikasi Anda. Pola ini menggabungkan kepraktisan antarmuka ServBay dengan kekuatan isolasi aplikasi dari Docker.
Berikut ini merupakan langkah-langkah untuk menambah dan mengonfigurasi website berbasis layanan Docker di ServBay.
Persyaratan Awal
Sebelum memulai, pastikan Anda sudah memenuhi hal berikut:
- ServBay terpasang dan berjalan: ServBay sudah terinstal dan aktif di macOS Anda.
- Docker terpasang dan berjalan: Docker Desktop atau lingkungan Docker lain sudah terinstal dan layanan Docker telah aktif.
- Gambar dan kontainer Docker siap digunakan: Anda telah membangun atau menarik image Docker yang berisi website/aplikasi Anda dan sudah bisa menjalankan kontainer dari image tersebut.
Langkah-Langkah Detail Menambah Website
Langkah 1: Siapkan dan Jalankan Kontainer Docker
Pertama, pastikan kontainer Docker Anda sudah berjalan dan layanan internalnya (seperti server web) sudah mendengarkan pada port yang telah dipetakan ke host macOS Anda lewat fitur port mapping Docker.
Misal, jika Anda punya kontainer Nginx yang mendengarkan pada port 80 di dalam kontainer, Anda bisa menggunaan perintah berikut untuk memetakan port 8080 pada host ke port 80 di kontainer:
bash
docker run -d --name my-nginx-servbay -p 8080:80 nginx1
Pada contoh di atas, layanan Nginx dalam kontainer my-nginx-servbay mendengarkan port 80, namun dengan parameter -p 8080:80, port 80 di kontainer dipetakan ke port 8080 di macOS Anda. ServBay akan terhubung ke port 8080 di host.
Pastikan layanan dalam kontainer sudah mendengarkan pada port yang benar dan port tersebut telah dipetakan ke port host yang tersedia sesuai dengan konfigurasi aplikasi dan Dockerfile Anda.
Langkah 2: Buka Antarmuka Admin ServBay
Di folder aplikasi macOS Anda, cari ikon aplikasi ServBay, lalu klik dua kali untuk membuka antarmuka admin ServBay.
Langkah 3: Navigasi ke Halaman Manajemen Website
Setelah ServBay terbuka, Anda akan melihat halaman utama. Di menu navigasi sebelah kiri, cari dan klik opsi Website. Ini akan membawa Anda ke halaman manajemen website ServBay, di mana Anda dapat melihat serta mengatur seluruh website lokal yang telah ditambahkan.
Gambar: Klik "Website" di sidebar kiri untuk masuk ke halaman manajemen website.
Langkah 4: Tambah Website Baru
Di bagian bawah halaman manajemen website, Anda akan melihat tombol +. Klik tombol ini, dan ServBay akan menampilkan formulir baru di area kanan untuk memasukkan detail konfigurasi website Anda.
Gambar: Klik tombol “+” di bawah halaman untuk menambah website baru.
Langkah 5: Konfigurasi Pengaturan Website
Di formulir konfigurasi yang terbuka, isi informasi penting berikut:
- Nama (Name): Beri nama website Anda yang mudah dikenali, misal
Docker Nginx Demo. Nama ini hanya digunakan untuk manajemen internal ServBay. - Domain (Domain): Masukkan nama domain lokal yang ingin Anda gunakan untuk website Docker ini. Disarankan menggunakan akhiran
.servbay.demountuk menghindari konflik dengan domain publik, misaldocker.servbay.demo. ServBay akan otomatis mengkonfigurasi file hosts sistem Anda agar domain ini mengarah ke lokal (127.0.0.1). - Protokol (Protocol): Pilih protokol yang didukung website. Umumnya cukup gunakan default
HTTP/HTTPS. ServBay akan mendengarkan port HTTP (80) dan HTTPS (443), serta mengelolanya sesuai pengaturan SSL Anda. - Metode permintaan sertifikat SSL (SSL Certificate Request Method): Disarankan memilih
ServBay CA. ServBay akan membuat dan mengelola sertifikat SSL lokal yang ditandatangani oleh ServBay User CA. Jika Anda menginstal ServBay Public CA ke keychain sistem, browser akan mempercayai sertifikat lokal ini, sehingga Anda dapat mengembangkan dan menguji HTTPS secara mudah. Anda juga dapat pilihACME(misal untuk Let’s Encrypt) atauCustom(sertifikat sendiri) bila diperlukan. - Tipe Website (Website Type): 【Penting】 Pilih
Reverse Proxy (Proxy Terbalik). Artinya, ServBay menjadi pintu masuk domain dan meneruskan permintaan ke backend yang Anda tentukan. - Alamat IP (IP Address): Masukkan alamat IP host tempat layanan dalam kontainer Docker mendengarkan. Untuk setup Docker lokal biasanya cukup gunakan
127.0.0.1. - Port (Port): Masukkan port host yang dipetakan dari layanan kontainer Docker. Ini sesuai nomor port yang Anda tentukan pada perintah
docker run -p <host_port>:<container_port>. Misal, jika menggunakan-p 8080:80, isi8080di sini.
Gambar: Isi konfigurasi untuk website reverse proxy Docker.
Langkah 6: Simpan Konfigurasi
Setelah semua informasi terisi, klik tombol Add (Tambah) di bagian bawah formulir.
ServBay akan memproses dan secara otomatis menambahkan aturan reverse proxy yang sesuai ke konfigurasi server web ServBay (misalnya Caddy atau Nginx) serta memperbarui file hosts sistem sesuai domain lokal yang Anda atur.
Setelah tersimpan, ServBay mungkin membutuhkan waktu singkat untuk menerapkan konfigurasi, lalu Anda dapat mengakses domain baru yang telah ditambahkan.
Langkah 7: Akses Website dan Gunakan Shortcut
Setelah konfigurasi tersimpan, kembali ke halaman manajemen website. Anda akan melihat entri website baru dan pastikan statusnya adalah “Berjalan”.
Sekarang Anda bisa mengakses domain yang dipilih di browser (misal http://docker.servbay.demo atau https://docker.servbay.demo). Jika konfigurasi sudah benar, ServBay akan meneruskan permintaan ke layanan di kontainer Docker dan menampilkan konten web dari dalam kontainer Anda.
Di daftar website, ServBay menyediakan beberapa tombol shortcut praktis, di antaranya:
- Buka root directory website dengan IDE: (Untuk website tipe reverse proxy, tombol ini mungkin tidak relevan atau mengarah ke direktori konfigurasi ServBay, penggunaan tergantung versi ServBay dan konfigurasi Anda)
- Buka website di browser: Membuka URL website di tab baru browser dengan cepat.
- Lihat log website: Untuk memeriksa access log dan error log yang dicatat ServBay, sangat berguna untuk debugging.
- Pause/Enable website: Sementara menonaktifkan atau mengaktifkan konfigurasi reverse proxy website di ServBay.
- Hapus website: Menghapus konfigurasi website dari ServBay.
Gambar: Tombol shortcut utilitas pada daftar website ServBay.
Tips dan Praktik Terbaik
- Status kontainer Docker: Pastikan kontainer Docker Anda selalu dalam keadaan berjalan, jika tidak, ServBay tidak bisa meneruskan permintaan dengan baik.
- Port mapping: Cek ulang konfigurasi port mapping Docker (
-pparameter) dan port yang Anda isi di ServBay sesuai, serta pastikan port tersebut di host tidak digunakan program lain. - Firewall: Periksa pengaturan firewall macOS Anda; pastikan port yang digunakan ServBay (default 80, 443) dan port host yang diekspos oleh Docker tidak diblokir oleh firewall.
- Mode jaringan Docker: Umumnya menggunakan mode jaringan
bridgedengan port mapping via parameter-padalah cara termudah. Jika menggunakan modehost, ServBay dapat mengakses port langsung seperti di dalam kontainer (misal port 80), namun modehostberisiko konflik port. - ServBay CA: Untuk pengembangan HTTPS di lokal, sangat disarankan menginstal ServBay Public CA agar browser mempercayai sertifikat yang dibuat ServBay dan menghindari peringatan keamanan.
FAQ & Troubleshooting
Q: Setelah website ditambah tidak bisa diakses, di browser muncul error atau timeout?
A: Lakukan pengecekan berikut:
- Cek status website di ServBay: Pastikan entri website di halaman ServBay berstatus “Berjalan”.
- Cek status kontainer Docker: Jalankan
docker psdi terminal untuk memastikan kontainer tujuan aktif. - Cek port mapping Docker: Lihat output
docker ps, cek informasi mapping port di kolomPORTS(misal0.0.0.0:8080->80/tcpatau127.0.0.1:8080->80/tcpuntuk port8080yang dikonfigurasikan di ServBay). - Cek layanan dalam kontainer Docker: Pastikan layanan web (seperti Nginx, Apache, Node, dsb.) di dalam kontainer berjalan pada port yang benar dan tidak ada error internal. Lihat log kontainer via
docker logs <ID/nama kontainer>. - Cek log ServBay: Klik ikon log di daftar website untuk melihat access log dan error log yang dapat membantu menemukan masalah proxy.
- Cek file hosts sistem: Meski ServBay mengkonfigurasi otomatis, Anda bisa periksa manual di
/etc/hostsapakah domain sudah mengarah ke127.0.0.1. - Cek firewall: Pastikan firewall tidak memblokir port yang digunakan ServBay maupun port host yang dipakai Docker.
Q: Apakah ServBay bisa mengelola kontainer Docker secara langsung?
A: ServBay berfokus pada manajemen layanan web lokal, database, dan bahasa pemrograman serta routing trafik ke layanan backend (termasuk kontainer Docker). Manajemen siklus hidup kontainer Docker seperti start, stop, atau build image tetap dilakukan lewat CLI Docker atau Docker Desktop, bukan melalui ServBay.
Q: Apa itu ServBay CA? Kenapa perlu instal?
A: ServBay CA (Certificate Authority) adalah mekanisme pengelolaan sertifikat yang disediakan ServBay untuk pengembangan HTTPS di lokal. ServBay User CA digunakan untuk menandatangani sertifikat SSL website lokal Anda, sementara ServBay Public CA adalah root certificate yang perlu diinstal ke keychain sistem macOS. Dengan root certificate ini, sistem dan browser Anda akan mempercayai seluruh sertifikat dari ServBay User CA sehingga tidak muncul peringatan “Koneksi tidak aman” saat mengakses HTTPS website lokal—ini penting untuk testing dan simulasi lingkungan produksi di lokal.
Ringkasan
Menambah website berbasis kontainer Docker di ServBay merupakan cara yang efisien dan fleksibel—memanfaatkan ServBay sebagai pusat manajemen trafik dan domain lokal, serta kekuatan Docker dalam menjalankan dan mengisolasi lingkungan aplikasi. Dengan pengaturan reverse proxy yang sederhana, Anda dapat mengintegrasikan berbagai proyek Docker ke workflow ServBay Anda secara mudah. Ikuti langkah dan tips di atas untuk setting dan menjalankan website Docker lokal Anda dengan lancar.
