cover-img

Cara menerapkan domain kedalam Docker app di VPS

Pada artikel ini akan dibahas cara mengarahkan sebuah domain kepada docker application milik kita, selain itu akan ditambahkan SSL pada domain kita

29 January, 2025

0

0

0

Pastikan domain sudah diarahkan ke IP Public VPS kamu

sebelum ke langkah yang lebih teknis, kamu harus memastikan bahwa domain kamu sudah diarahkan ke IP Public VPS

untuk domain, kalian bisa membeli dari provider mana saja, asalkan konfigurasi A record di arahkan ke IP Public VPS kita, lalu bagaimana cara melakukan konfigurasi DNS pada domain kita?

Kunjungi Dashboard tempat kamu membeli sebuah domain

Pada dasarnya kamu bebas untuk membeli domain di provider mana saja, yang jelas setiap provider akan menyediakan dashboard untuk kamu mengelola domain yang baru saja kamu beli.

Masuk ke Menu DNS Management

Setelah kamu berhasil membeli sebuah domain, segera buka menu DNS Management untuk mengelola domain agar dapat menambahkan Record Record yang dibutuhkan untuk mengarahkan domain ke Docker Application kita yang sudah kita deploy ke VPS.

Tambah DNS Record Baru

Ada 2 record yang wajib kamu tambahkan agar Domain kita dapat dikaitkan dengan Docker Application kita

A Record (Address Record)

A Record digunakan untuk memetakan nama domain ke alamat IP v4. Misalnya, jika kamu memiliki domain example.com dan ingin mengarahkannya ke server dengan IP 192.168.1.1, maka A Record-nya seperti ini:


example.com. IN A 192.168.1.1

Seperti contoh saya menggunakan provider rumahweb.com, saya akan membuat domain saya mengarah ke ip public milik vps saya

Setting DNS A Record

CNAME Record (Canonical Name Record)

CNAME digunakan untuk mengarahkannya ke domain lain, bukan langsung ke IP. Misalnya, kamu ingin www.example.com diarahkan ke example.com, maka kamu bisa menggunakan CNAME:

www.example.com.   IN   CNAME   example.com.

Ini berguna jika alamat IP dari example.com berubah, karena www.example.com akan tetap mengikuti perubahan itu secara otomatis.

Setting CNAME Record

DNS Propagation

Apa itu DNS Propagation? sederhananya ketika kamu merubah A Record / CNAME Record kamu bisa menganalogikan bahwa kamu baru saja menetapkan alamat rumah baru untuk domain kamu yakni ke sebuah ip public tertentu. maka butuh waktu untuk teman-teman kamu semua mengetahui bahwa kamu sudah berpindah dari alamat A ke alamat B.

ketika ada yang mengunjungi website bersamaan dengan kamu mengubah A Record kemungkinan besar masih akan diarahkan ke alamat yang lama (bisa karena cache ISP) maka dari itu diperlukan beberapa puluh menit agar semuanya tahu alamat baru kamu.

kamu bisa track proses DNS Propagation disini

https://www.whatsmydns.net/#A/moviesnchill.site

Setelah keduanya di konfigurasi, kamu tinggal menunggu proses DNS Propagation selesai, sambil menunggu kita bisa sambil menyiapkan VPS server kita.

Deploy Docker Application di VPS

bagi kamu yang sudah memiliki Docker Application, maka bisa lanjut saja ke step Install Nginx, namun jika kamu belum memiliki Docker Application dan bahkan belum familiar, kamu dapat mengikuti tutorial berikut


https://www.showwcase.com/article/61617/cara-containerize-application-next-js-menggunakan-docker

setelah mengikuti tutorial tersebut, maka kamu akan memiliki sebuah website dengan http://ip-public:2221 yang sekarang sudah dapat kamu akses di web browser

Install nginX pada VPS

Jika sebelumnya kamu belum menginstall NGINX di vps kamu, maka hal pertama yang harus kamu lakukan adalah menginstall NGINX dengan perintah

sudo apt install nginx -y

setelah semuanya terinstall, langkah selanjutnya kamu harus membuat sebuah konfigurasi yang memberitahukan nginx bahwa dnsname dengan namadomainkamu.com akan diarahkan kedalam container app yang sedang berjalan di server.

tugas kita saat ini, berarti kita akan membuat sebuah domain terhubung dengan docker app kita

jalankan perintah berikut, kamu bisa mengganti semua (my-domain) sesuai dengan domain kamu.

 sudo nano /etc/nginx/sites-available/my-domain.conf

Perintah diatas akan membuka sebuah file dengan nama my-domain.conf, maka masukan rules dibawah ini.

#my-domain.conf

server {
server_name my-domain.com www.my-domain.com;

location / {
proxy_pass <http://127.0.0.1:8080>; # Ganti dengan port container kamu
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}

Setelah selesai membuat Konfigurasi, kamu harus mengaktifkan konfigurasi tersebut dengan perintah

sudo ln -s /etc/nginx/sites-available/my-domain.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Penjelasan mengenai Nginx Sites-available

Untuk lebih detail mengenai Command diatas kamu bisa mengunjungi Artikel berikut:


https://www.showwcase.com/article/61642/memahami-site-enable-di-nginx-cara-kerja-dan-manfaatnya

Hingga saat ini kamu sudah berhasil menghubungkan domain kamu ke container application, kamu bisa mengunjungi http://domainkamu.com

bisa dilihat dari link bahwa kamu belum menggunakan protocol secure, domain yang dikunjungi masih berupa http belum dapat menggunakan https, jika kamu ingin menggunakan https maka lanjut ke tahapan dibawah ini.

Install SSL Certificate From Lets Encrypt

Jalankan 2 Peintah dibawah ini

sudo apt install certbot python3-certbot-nginx -y

sudo certbot --nginx -d my-domain.com -d www.my-domain.com

Penjelasan Perintah:

  1. sudo apt install certbot python3-certbot-nginx -y
    👉 Perintah ini menginstal Certbot dan plugin Nginx untuk SSL.
    • sudo: Menjalankan perintah sebagai superuser (administrator).
    • apt install: Menggunakan manajer paket apt untuk menginstal perangkat lunak.
    • certbot: Alat untuk mendapatkan dan mengelola sertifikat SSL dari Let's Encrypt.
    • python3-certbot-nginx: Plugin Certbot untuk mengotomatisasi konfigurasi SSL di Nginx.
    • y: Secara otomatis menyetujui instalasi tanpa meminta konfirmasi.
  2. sudo certbot --nginx -d my-domain.com -d www.my-domain.com
    👉 Perintah ini meminta sertifikat SSL untuk domain yang disebutkan dan mengonfigurasinya di Nginx secara otomatis.
    Setelah langkah ini selesai maka selamat, kamu sudah dapat mengunjungi https://domainkamu.com di web browser.
    • certbot --nginx: Menggunakan Certbot dengan plugin Nginx untuk mengonfigurasi SSL.
    • -d my-domain.com -d www.my-domain.com: Menentukan domain yang akan diamankan dengan sertifikat SSL.


docker

domain

vps

ssl

0

0

0

docker

domain

vps

ssl

Fajar Mukti Hidayat
Full Stack Engineer

More Articles

Showwcase is a professional tech network with over 0 users from over 150 countries. We assist tech professionals in showcasing their unique skills through dedicated profiles and connect them with top global companies for career opportunities.

© Copyright 2025. Showcase Creators Inc. All rights reserved.