Traefik은 컨테이너 기반의 애플리케이션을 위한 역방향 프록시 서버로, 현대적인 마이크로서비스 환경에서 필수적인 도구입니다. 하지만, YAML 파일을 수작업으로 편집해야 하는 번거로움 때문에 많은 개발자들이 어려움을 겪고 있습니다. 바로 이러한 문제를 해결하기 위해 만들어진 것이 Traefik Manager입니다. 이 프로젝트는 자가 호스팅이 가능한 깔끔한 웹 UI를 제공하여 Traefik을 더욱 쉽게 관리할 수 있도록 돕습니다. 이번 포스팅에서는 Traefik Manager의 주요 기능과 설치 방법, 그리고 실무에서의 활용 방법에 대해 자세히 알아보겠습니다.

Traefik Manager의 주요 기능

Traefik Manager는 다음과 같은 다양한 기능을 제공합니다:

  1. 라우팅 관리: HTTP, TCP, UDP 라우트를 브라우저에서 손쉽게 추가, 수정, 복제 및 활성화/비활성화할 수 있습니다.
  2. 로드 밸런싱: 각 라우트에 대해 여러 백엔드를 설정하고, 스티키 세션, 헬스 체크, 라우터 우선순위 등을 관리할 수 있습니다.
  3. 미들웨어 관리: 24개의 가이드 위자드와 함께 원시 YAML 편집기를 제공하여 HTTP 및 TCP 미들웨어를 쉽게 설정할 수 있습니다.
  4. 멀티 서버 지원: 여러 개의 원격 Traefik 인스턴스를 경량 Go 에이전트를 통해 관리할 수 있습니다.
  5. 정적 구성 편집기: UI에서 전체 traefik.yml 파일을 편집하고, 클릭 한 번으로 Traefik을 재시작할 수 있습니다.
  6. 백업 기능: 타임스탬프가 있는 로컬 백업 및 git push를 통한 이력 관리, 변경 사항 확인 및 원클릭 복원이 가능합니다.
  7. 모니터링: 실시간 서비스, TLS 인증서, 접근 로그, CrowdSec, CVE 경고 등을 모니터링할 수 있습니다.
  8. 모바일 앱: Android 기기에서 사용할 수 있는 Companion 앱이 Google Play에서 제공됩니다.
  9. 설치 및 기본 사용법

    Traefik Manager를 설치하는 방법은 두 가지가 있습니다: 간편 설치 스크립트를 이용하는 방법과 Docker Compose를 사용하는 방법입니다.

    1. 간편 설치 스크립트

    아래의 한 줄짜리 스크립트를 터미널에서 실행하면 Traefik과 Traefik Manager를 함께 설치할 수 있습니다:

    curl -fsSL https://get-traefik.xyzlab.dev | bash

    2. Docker Compose를 이용한 설치

    docker-compose.yml 파일을 작성하고 다음과 같이 설정합니다:
    services:
      traefik-manager:
        image: ghcr.io/chr0nzz/traefik-manager:latest
        container_name: traefik-manager
        restart: unless-stopped
        ports:
          - "5000:5000"
        environment:
          - COOKIE_SECURE=false
        volumes:
          - /path/to/traefik/dynamic.yml:/app/config/dynamic.yml
          - /path/to/traefik-manager/config:/app/config
          - /path/to/traefik-manager/backups:/app/backups

    이후 아래 명령어로 서비스를 시작합니다:

    docker compose up -d

    설치가 완료되면 웹 브라우저에서 http://your-server:5000에 접속하여 설정 마법사의 안내를 따라 나머지 설정을 완료할 수 있습니다.

    실무에서의 활용 시나리오

    Traefik Manager는 특히 다음과 같은 상황에서 유용하게 활용될 수 있습니다:

    • 홈랩 환경: 여러 개의 서비스와 컨테이너를 운영하는 홈랩 환경에서는 Traefik을 통해 쉽게 라우팅을 관리하고, UI를 통해 실시간 모니터링할 수 있습니다.
    • 스타트업: 빠르게 변화하는 스타트업 환경에서는 Traefik Manager가 팀원 간의 협업을 도움으로써 신속한 배포 및 관리가 가능합니다.
    • 개발과 테스트: 개발자들이 테스트 환경에서 손쉽게 라우트를 추가하거나 수정할 수 있어 DevOps 프로세스를 효율적으로 개선할 수 있습니다.
    • 유사 도구와의 비교

      Traefik Manager와 비슷한 도구로는 Portainer, Nginx Proxy Manager 등이 있습니다. Portainer는 Docker 환경에서 컨테이너 관리를 위한 UI를 제공하며, Nginx Proxy Manager는 Nginx를 위한 간편한 관리 UI를 제공합니다. 그러나 Traefik Manager는 Traefik에 특화된 기능을 제공하여, Traefik을 사용하는 프로젝트에 더 적합합니다.

      추천 대상

      Traefik Manager는 다음과 같은 분들에게 추천합니다:

    • Traefik을 사용하고 있지만, YAML 파일 수정을 꺼리는 개발자
    • 홈랩이나 개인 서버를 운영하는 사용자
    • 여러 서비스와 API를 관리해야 하는 스타트업 팀
    • 직관적인 UI를 통해 Traefik을 관리하고 싶은 DevOps 엔지니어

Traefik Manager는 개발자들이 Traefik을 더 쉽게 관리하고, 더 나은 경험을 할 수 있도록 돕는 훌륭한 도구입니다. 지금 바로 Traefik Manager GitHub 페이지에서 프로젝트를 확인해 보세요!