본문 바로가기
Synology/Docker(in Synology)

watchTower with discord notification (update not auto)

by kage2k 2025. 1. 21.
728x90
반응형

* 안내말 입니다. 
* 개인적으로 남기는 글입니다. 아래의 경우를 미리 공지합니다. 
1. 높임말은 없는 경우가 있습니다. 
2. 영어, 일본어, 베트남어를 공부하고 있습니다. 경우에 따라서 사용됩니다.
3. 보기 거북하다면 뒤로가기 해주세요.

이야기 시작-

 

Watchtower란?

Watchtower는 실행 중인 Docker 컨테이너의 이미지를 주기적으로 확인하고, 새로운 이미지가 릴리스되었을 때 자동으로 업데이트합니다. 이 과정에서 기존 컨테이너를 종료하고, 새 이미지를 기반으로 동일한 설정으로 컨테이너를 재시작합니다.

 

장점

1. 자동화된 컨테이너 업데이트

Watchtower의 가장 큰 장점은 실행 중인 컨테이너를 자동으로 업데이트할 수 있다는 점입니다. 이미지 업데이트를 수동으로 확인하고 컨테이너를 다시 빌드하는 번거로운 작업을 줄일 수 있습니다. 이는 지속적으로 업데이트가 필요한 애플리케이션(예: 보안 패치 적용)에 특히 유용합니다.

2. 시간과 노력 절약

Watchtower는 DevOps 팀의 시간을 절약합니다. 컨테이너 업데이트에 필요한 모든 과정을 자동으로 수행하기 때문에 수작업으로 일일이 업데이트할 필요가 없습니다. 특히 여러 컨테이너를 운영 중인 환경에서 그 효과는 배가됩니다.

 

단점

1. 예기치 못한 서비스 중단

Watchtower는 컨테이너를 업데이트할 때 기존 컨테이너를 종료하고 새 컨테이너를 실행합니다. 이 과정에서 짧은 서비스 중단이 발생할 수 있습니다. 서비스 중단에 민감한 애플리케이션에서는 주의가 필요합니다.

2. 호환성 문제

모든 애플리케이션이 자동 업데이트에 적합하지는 않습니다. 새 이미지가 배포되었더라도 의존성 또는 설정이 변경된 경우, 업데이트 후 예상치 못한 문제가 발생할 수 있습니다. 특히 데이터베이스와 같이 복잡한 설정을 요구하는 애플리케이션에서 문제가 생길 가능성이 높습니다.

 

실습

 

따라서 단점에 대해서 인지하고 필요할 경우에만 업데이트를 실행하기 위해서 Yaml 파일에 monitor only를 true로 했습니다.
또한 여기에서는 discord 웹훅 만드는 방법에 대해서는 설명하지 않습니다. 

version: '3.8'

services:
  watchtower:
    image: containrrr/watchtower
    container_name: watchtower
    restart: unless-stopped
    privileged: true
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - WATCHTOWER_POLL_INTERVAL=172800
      - WATCHTOWER_MONITOR_ONLY=true
      - WATCHTOWER_NOTIFICATIONS=shoutrrr
      - WATCHTOWER_NOTIFICATION_URL=discord://"discord 웹훅url꺼꾸로"

 

"웹훅URL 꺼꾸로" 라는 부분 설명. 

https://discord.com/api/webhooks/웹훅ID/웹훅Token

앞부분 다 지우고, discord://웹훅Token@웹훅ID

이렇게 하면 자신만의 discord 서버에 지정한 interval에 대해 업데이트가 표시 됩니다. 

 

끝.

300x250
반응형