Episode ini memandu instalasi Traefik melalui empat metode: binary, Docker container, Docker Compose, dan Kubernetes. Fokus utama pada cara Docker dan Compose, termasuk volume mounts, network, dan port binding, lalu melakukan first run, mengakses dashboard, dan memverifikasi log.

Sekarang teori sudah cukup — saatnya menjalankan Traefik sungguhan. Episode 3 memandu kalian menginstall Traefik dengan beberapa metode, dari yang paling sederhana sampai yang paling siap production. Setiap metode punya trade-off yang perlu kalian pahami sebelum memilih.
Metode yang akan kita gunakan untuk sepanjang series adalah Docker Compose: cepat, rapi, dan merepresentasikan setup yang umum dipakai di produksi. Di akhir episode, kalian akan menjalankan Traefik, membuka dashboard, dan membaca log pertamanya. Momen "Traefik berjalan" ini akan menjadi titik tolak semua eksperimen berikutnya.
traefik dengan satu perintah. Ini cara paling direkomendasikan.Traefik versi saat ini adalah v3.x. Pastikan selalu mengecek tag image resmi di Docker Hub. Kita akan konsisten memakai image traefik:v3 dengan tag minor terbaru.
Untuk server bare-metal tanpa Docker, binary adalah pilihan paling ringan:
curl -L -o traefik.tar.gz https://github.com/traefik/traefik/releases/download/v3.1.0/traefik_v3.1.0_linux_amd64.tar.gz
tar -xzf traefik.tar.gz
sudo mv traefik /usr/local/bin/
traefik versionBinary tunggal ini tidak butuh dependency apa pun — itulah keuntungan Go. Untuk menjalankan sebagai service di Linux, daftarkan lewat systemd dengan ExecStart=/usr/local/bin/traefik. Namun untuk mengikuti series ini dengan lancar, metode Docker lebih direkomendasikan karena menyeragamkan environment.
Cara tercepat menjalankan Traefik adalah satu perintah docker run. Perhatikan dua hal penting: mount file konfigurasi dan mount Docker socket untuk provider:
docker run -d \
--name traefik \
-p 8080:8080 \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
traefik:v3Sekilas container sudah berjalan. Tapi perhatikan: tidak ada entrypoint yang didefinisikan, sehingga Traefik hanya menampilkan API di port 8080 dan tidak benar-benar merutekan HTTP. Untuk setup fungsional, definisikan entrypoint lewat command line:
docker run -d \
--name traefik \
-p 80:80 \
-p 8080:8080 \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
traefik:v3 \
--api.insecure=true \
--entrypoints.web.address=:80 \
--providers.docker=trueSekarang port 80 aktif sebagai entrypoint web dan dashboard tersedia di port 8080. Flag --api.insecure=true membuat dashboard bisa diakses tanpa autentikasi — cukup untuk eksperimen, tetapi jangan pernah dipakai di produksi (kita amankan di episode 4 dan 28).
Untuk series ini kita pakai Compose yang lebih terstruktur. Buat file docker-compose.yml di direktori ~/learn-traefik:
services:
traefik:
image: traefik:v3
container_name: traefik
restart: unless-stopped
ports:
- "80:80"
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./config/traefik.yml:/etc/traefik/traefik.yml:ro
command:
- --api.insecure=true
- --entrypoints.web.address=:80
- --providers.docker=trueBeberapa hal yang perlu diperhatikan:
:ro) sebagai praktik keamanan../config/traefik.yml di-mount ke /etc/traefik/traefik.yml.Buat file static configuration-nya dulu, lalu jalankan:
mkdir -p config
cat > config/traefik.yml <<'EOF'
api:
dashboard: true
EOF
docker compose up -d
docker compose psJika berhasil, dashboard Traefik bisa dibuka di http://localhost:8080/dashboard/. Halaman ini menampilkan tiga tab penting: HTTP Routers, HTTP Services, dan Middlewares. Saat ini daftarnya kosong karena belum ada container dengan label Traefik — kondisi wajar untuk instalasi pertama.
Log container adalah jendela utama untuk memantau Traefik:
docker logs traefik
docker logs -f traefikLog awal akan menampilkan banner Traefik, versi, dan pesan bahwa entrypoint web aktif mendengarkan di port 80. Jika ada kesalahan konfigurasi, error akan muncul di sini. Verifikasi cepat dengan curl untuk memastikan Traefik merespons:
curl -s -o /dev/null -w "%{http_code}\n" http://localhost:80Traefik mengembalikan 404 untuk path yang tidak punya router — itu normal dan justru menandakan Traefik hidup dan menolak request yang tidak dikenal. Perintah curl ini akan menjadi teman debugging kalian sepanjang series.
Warning
Dashboard hanya dibuka lewat port 8080 dengan api.insecure. Di produksi, jangan pernah expose dashboard tanpa autentikasi. Episode 4 akan menunjukkan cara mengamankannya dengan middleware BasicAuth.
Inti yang harus dibawa pulang:
api.insecure=true.curl adalah alat debugging utama.Di episode 4 selanjutnya kita akan membahas static configuration secara menyeluruh — format YAML, TOML, CLI, dan environment variable, urutan prioritasnya, definisi entrypoints, pengaturan API & dashboard yang aman, serta konfigurasi log. Mulai dari sini kalian akan meninggalkan flag CLI dan beralih ke file konfigurasi yang rapi.