Pendahuluan
Mengatur dan mengelola lingkungan self-hosted bisa menjadi pengalaman yang memuaskan, terutama jika Anda menggunakan Virtual Private Server (VPS) untuk hosting aplikasi Anda. Traefik, sebuah reverse proxy dan load balancer modern untuk microservices, dapat menyederhanakan kebutuhan routing Anda. Dalam panduan ini, kita akan menjelajahi cara mengatur Traefik agar secara otomatis mengelola sertifikat SSL untuk semua aplikasi Docker Anda di VPS.
Mengatur Traefik di VPS Anda
Ikuti langkah-langkah berikut untuk menjalankan Traefik di VPS Anda.
Persyaratan
- VPS (cek perbandingan VPS lengkap kami)
- Docker dan Docker Compose terinstal di VPS Anda
- Pengetahuan dasar tentang Docker dan jaringan
Langkah 1: Pilih Penyedia VPS Anda
Memilih penyedia VPS yang tepat mempengaruhi pengalaman self-hosting Anda. Berikut perbandingan penyedia teratas:
| Provider | Biaya Bulanan (EUR/USD) | Catatan |
|---|---|---|
| Contabo VPS | 5.99 EUR | Opsi CPU dan penyimpanan yang baik |
| Hetzner Cloud | 4.15 EUR | Ramah anggaran dengan spesifikasi bagus |
| DigitalOcean | 6 USD | Ramah pengembang dengan berbagai wilayah |
| Vultr | 6 USD | Opsi penagihan yang fleksibel |
| Linode | 5 USD | Dukungan dan komunitas yang hebat |
Langkah 2: Install Docker dan Docker Compose
Untuk distribusi Linux mayoritas, Anda dapat menginstal Docker dan Docker Compose menggunakan perintah berikut:
# Perbarui indeks paket
sudo apt-get update
# Instal Docker
sudo apt-get install -y docker.io
# Instal Docker Compose
sudo apt-get install -y docker-compose
Langkah 3: Konfigurasi Jaringan Docker
Buat jaringan Docker untuk Traefik dan aplikasi Anda:
docker network create web
Langkah 4: Konfigurasi Traefik
Untuk menginstal Traefik, buat direktori untuk konfigurasi:
mkdir traefik && cd traefik
Sekarang buat file docker-compose.yml dengan isi berikut:
version: '3.7'
services:
reverse_proxy:
image: traefik:v2.5
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--entrypoints.web.address=:80"
- "--entrypoints.web.http.redirections.entryPoint.to=websecure"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.myresolver.acme.tlschallenge=true"
- "--certificatesresolvers.myresolver.acme.email=your-email@example.com"
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
ports:
- "80:80"
- "443:443"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "./letsencrypt:/letsencrypt"
networks:
- web
networks:
web:
external: true
Pastikan untuk mengganti [email protected] dengan email aktif Anda untuk notifikasi dari Let’s Encrypt.
Langkah 5: Jalankan Traefik
Jalankan perintah berikut untuk memulai Traefik:
docker-compose up -d
Anda bisa memverifikasi bahwa Traefik berjalan dengan mengakses http://YOUR_VPS_IP:8080 di mana Anda akan melihat dashboard Traefik.
Langkah 6: Deploy Aplikasi Docker
Dengan Traefik berjalan, Anda dapat meng-deploy aplikasi Docker lainnya menggunakan label untuk integrasi dengan Traefik untuk routing dan SSL. Berikut contoh konfigurasi aplikasi:
version: '3.7'
services:
my_app:
image: my_app_image
labels:
- "traefik.enable=true"
- "traefik.http.routers.my_app.rule=Host(`yourdomain.com`)"
- "traefik.http.routers.my_app.entrypoints=websecure"
- "traefik.http.routers.my_app.tls=true"
- "traefik.http.routers.my_app.tls.certresolver=myresolver"
networks:
- web
Langkah 7: Mengakses Aplikasi Anda
Setelah aplikasi Anda di-deploy, Anda dapat mengaksesnya dengan aman melalui https://yourdomain.com.
FAQ
Apa yang harus saya lakukan jika aplikasi saya tidak memiliki domain atau subdomain?
Menggunakan Traefik memerlukan Anda untuk menetapkan domain atau subdomain agar penerbitan SSL melalui Let’s Encrypt bisa dilakukan. Jika Anda tidak memiliki domain, pertimbangkan untuk mendaftarkannya melalui registrar domain. Alternatif lainnya adalah menggunakan layanan DNS dinamis, yang banyak disupport oleh penyedia layanan, sehingga Anda dapat mengarahkan lalu lintas secara andal tanpa domain statis.
Bagaimana Traefik mengelola sertifikat SSL?
Traefik terintegrasi dengan lancar dengan Let’s Encrypt, sebuah otoritas sertifikat otomatis yang menerbitkan Sertifikat SSL secara gratis. Dengan mengonfigurasi Traefik dengan pengaturan tertentu di file docker-compose.yml sebagaimana ditunjukkan di atas, Traefik akan meminta dan memperbarui sertifikat SSL Anda secara otomatis. Ini memastikan koneksi ke aplikasi Docker Anda tetap aman tanpa intervensi manual.
Apakah Traefik cocok untuk lingkungan produksi?
Ya, Traefik dirancang untuk digunakan dalam lingkungan produksi, menawarkan pengelolaan SSL yang mulus dan dukungan untuk arsitektur microservices. Dengan fitur seperti load balancing, pengalihan otomatis, dan dashboard yang mudah dipahami, ini adalah alat yang kuat untuk lingkungan produksi. Perusahaan, pengembang, dan pengguna self-hosted telah sukses menggunakan Traefik dalam berbagai lingkungan self-hosted.
Kesimpulan
Menggunakan Traefik untuk mengotomatisasi SSL bagi aplikasi Docker Anda di VPS menyederhanakan proses pengelolaan, meningkatkan keamanan, dan menghemat waktu. Dengan semakin pentingnya HTTPS, pengaturan ini merupakan investasi berharga bagi pengembang maupun homelabber. Selamat self-hosting!