Skip to main content

Install Traefik Tanpa Docker di Linux

·2 mins

Traefik adalah reverse proxy dan load balancer yang populer. Selain digunakan bersama Docker, Traefik juga dapat dijalankan secara mandiri (standalone) tanpa bergantung pada container. Caranya cukup sederhana: unduh binary Traefik, buat konfigurasi menggunakan file YAML atau TOML, lalu jalankan sebagai service di server.

Berikut panduan lengkapnya.

Download dan Instalasi Binary
#

Jalankan perintah berikut untuk mengunduh binary Traefik dan menempatkannya di /usr/local/bin:

curl -L https://github.com/traefik/traefik/releases/download/v3.0.0/traefik_linux-amd64 -o /usr/local/bin/traefik

chmod +x /usr/local/bin/traefik

traefik version
Ganti v3.0.0 dengan versi Traefik terbaru yang tersedia.

Membuat Konfigurasi
#

Karena tidak menggunakan Docker, seluruh konfigurasi Traefik perlu ditulis secara manual.

Static Configuration
#

Buat file /etc/traefik/traefik.yml:

entryPoints:
  web:
    address: ":80"

  websecure:
    address: ":443"

api:
  dashboard: true
  insecure: true # Hanya untuk pengujian, jangan digunakan di production

providers:
  file:
    filename: "/etc/traefik/dynamic.yml"
    watch: true

certificatesResolvers:
  letsencrypt:
    acme:
      email: "[email protected]"
      storage: "/etc/traefik/acme.json"

      httpChallenge:
        entryPoint: web

Dynamic Configuration
#

Buat file /etc/traefik/dynamic.yml:

http:
  routers:
    my-app-router:
      rule: "Host(`myapp.example.com`)"
      entryPoints:
        - websecure

      service: my-app-service

      tls:
        certResolver: letsencrypt

  services:
    my-app-service:
      loadBalancer:
        servers:
          - url: "http://127.0.0.1:8080"

Pada contoh di atas, Traefik akan menerima request ke myapp.example.com dan meneruskannya ke aplikasi yang berjalan pada 127.0.0.1:8080.

Menjalankan Traefik sebagai Service Systemd
#

Agar Traefik berjalan di background dan otomatis aktif saat server melakukan boot, buat file service berikut:

/etc/systemd/system/traefik.service

[Unit]
Description=Traefik Reverse Proxy
After=network-online.target

[Service]
Type=notify
ExecStart=/usr/local/bin/traefik --configFile=/etc/traefik/traefik.yml
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Setelah itu, lakukan reload konfigurasi systemd dan jalankan service:

systemctl daemon-reload

systemctl enable traefik

systemctl start traefik

Verifikasi bahwa service berjalan dengan baik:

systemctl status traefik

Akses Dashboard
#

Jika konfigurasi API masih menggunakan:

api:
  dashboard: true
  insecure: true

maka dashboard Traefik dapat diakses melalui:

http://IP-SERVER:8080/dashboard/
Opsi insecure: true hanya disarankan untuk lingkungan pengujian atau development. Pada lingkungan production, sebaiknya dashboard dipublikasikan melalui router terpisah dan dilindungi dengan autentikasi.

Related