Halo, kalau kamu merasa tulisan saya ngebantu kamu, kamu bisa ucapkan terima kasih lewat saweria.

Hello, if you find this article helpful, you can express your gratitude through saweria.



How To

Deploy Traefik

Untuk docker-compose.yml nya saya dapat dari traefik-best-practice nya bluepuma

  1. Buat docker-compose.yml file
name: traefik

services:
  traefik:
    image: traefik:v3.0
    ports:
      - 80:80
      - 443:443/tcp
      - 443:443/udp
    networks:
      - proxy
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - letsencrypt:/letsencrypt
      #- /var/log:/var/log
    command:
      - --api.dashboard=true
      - --log.level=INFO
      - --accesslog=true
      - --providers.docker.network=proxy
      - --providers.docker.exposedByDefault=false
      - --entrypoints.web.address=:80
      - --entrypoints.web.http.redirections.entrypoint.to=websecure
      - --entryPoints.web.http.redirections.entrypoint.scheme=https
      - --entrypoints.websecure.address=:443
      #try http3/quic
      - --entryPoints.websecure.http3
      # remove next line when using Traefik v2
      - --entrypoints.websecure.asDefault=true
      - --entrypoints.websecure.http.tls.certresolver=myresolver
      - --certificatesresolvers.myresolver.acme.email=youremail@yourdomain.com
      - --certificatesresolvers.myresolver.acme.tlschallenge=true
      - --certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json
    labels:
      - traefik.enable=true
      - traefik.http.routers.mydashboard.rule=Host(`traefik.yourdomain.com`)
      - traefik.http.routers.mydashboard.service=api@internal
      - traefik.http.middlewares.secure-headers.headers.customresponseheaders.x-robots-tag=noindex, nofollow, nosnippet, noarchive, noimageindex, notranslate
      - traefik.http.middlewares.secure-headers.headers.customresponseheaders.x-content-type-options=nosniff
      - traefik.http.middlewares.secure-headers.headers.customresponseheaders.x-xss-protection= 1; mode=block
      - traefik.http.middlewares.enable-compress.compress=true
      - traefik.http.routers.mydashboard.middlewares=myauth, secure-headers, enable-compress
      #username: admin, pass: test
      - traefik.http.middlewares.myauth.basicauth.users=admin:$$apr1$$H6uskkkW$$IgXLP6ewTrSuBkTrqE8wj/

  proxy:
    name: proxy

volumes:
  letsencrypt:
    name: letsencrypt
  1. Jalankan docker-compose up -d
Dashboard Ga Ada Perubahan

Dashboard Ga Ada Perubahan

Content Pun, Ga Ada Perubahan

Content Pun, Ga Ada Perubahan

Untuk melihat perubahan-perubahan Traefik v3, bisa di cek di Traefik Docs - Migration Guide: From v2 to v3


Deploy App

Kita akan coba deploy image dari mkdocs dari tutorial saya sebelumnya

  1. Buat docs.yml
name: docs
services:
  docs:
    image: ghcr.io/ipang777/mkdocs-docker-production:master
    networks:
      - proxy
    labels:
      - traefik.enable=true
      - traefik.http.routers.mydocs.rule=Host(`docs.yourdomain.com`)
      - traefik.http.services.mydocs.loadbalancer.server.port=80
      - traefik.http.routers.mydocs.middlewares=secure-headers, enable-compress


networks:
  proxy:
    external: true
  1. Jalankan docker compose -f docs.yml up -d
HTTP3 Lebih Mudah

HTTP3 Lebih Mudah