Melanjutkan pemabahsan awal Part 1 mengenai setup traefik pada server stagging dengan menggunakan label pada doker, muncul pertanyaan lain dari benak saya setelah melakukan setup.
Apakah bisa kita melakukan proxy dari server lain diluar docker menggunakan traefik ?
Jawabannya sudah jelas BISA, karena traefik sendiri secara basic memiliki fitur yang sama dengan proxy nginx. Maka kita bisa menambahkan server diluar docker dengan menggunakan provider file.

Artikel Sebelumnya : Part 1 – Setup Proxy + Docker + DNS di Server Stagging
Contents
Bagian 1 – Mengaktifkan File Provider Traefik
Karena sebelumnya kita menggunakan traefik docker, maka kita pointing directory /etc/traefik/dynamic pada traefik ke directory tempat kita menyimpan file provider.
services:
traefik:
image: traefik:v3.1
command:
- --providers.docker=true
- --providers.docker.exposedbydefault=false
- --providers.file.directory=/etc/traefik/dynamic
- --providers.file.watch=true
- --entrypoints.web.address=:80
# - --entrypoints.websecure.address=:443 # kalau butuh HTTPS lokal
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./dynamic:/etc/traefik/dynamic # <— penting
# - ./certs:/etc/traefik/certs # kalau pakai TLS lokal
ports:
- "80:80"
# - "443:443"
restart: unless-stopped
Setelah itu jalankan ulang docker compose untuk mengaktifkan konfigurasi pada traefik.
docker compose up -dSetelah itu kita bisa lanjut melakukan konfigurasi pada file konfigurasi.
Bagian 2 – Membuat File Provider reverse.yaml
Karena fitur provider sudah diaktifkan, sekarang kita buat file dengan nama reverse.yaml pada directory dynamic. Lalu sesuaikan konfigurasi seperti dibawah ini dengan case server1 dan server2 yang terhubung ke traefik.
http:
routers:
server1:
rule: Host(`server1.stagging.dev`)
entryPoints: [web] # Traefik :80
service: server1-service
server2:
rule: Host(`server2.stagging.dev`)
entryPoints: [web] # Traefik :80
service: server2-service
services:
server1-service:
loadBalancer:
passHostHeader: true
servers:
- url: "http://192.168.0.100"
server2-service:
loadBalancer:
passHostHeader: true
servers:
- url: "http://192.168.0.200"
Setelah itu simpan konfigurasi, secara otomatis traefik akan membaca konfigurasi tanpa perlu melakukan restart layanan.
Bagian 3 – Testing
Selanjutnya untuk memastikan bahwa server1 dan server2 sudah bisa dipanggil melalui domain dari traefik, maka kita bisa test menggunakan perintah dig.
dig +short server1.stagging.dev @192.168.0.121
dig +short server2.stagging.dev @192.168.0.121Ujicoba dengan melakukan nslookup atau mengakses langsung domain server1.stagging.dev di browser. Apabila berhasil maka akan muncul kontendari aplikasi tersebut.
Penutup
Konfigurasi traefik sangat simple dan pleksibel, kita bisa mengarahkan server yang akan kita proxy menggunakan file provider, dan setiap konfigurasi yang kita ubah tidak perlu melakukan restart layanan sehingga layanan lain yang sebelumnya sudah terdaftar tidak akan mengalami masalah.
Menutut saya traefik ini sangat cocok digunakan baik di stagging maupun production, menyesuaikan dengan kebutuhan masing masing 🙂
Referensi
- https://doc.traefik.io/traefik/expose/docker/
- Discussion with chatgpt



