휴이의 기록보존공간
Watchtower를 이용한 Docker Image 자동 업데이트 본문
워낙 유명해서 소개도 필요없는 이미지 아닐까.
자동으로 이미지들을 업데이트해주는 친구.
원래 얘는 헤놀로지에 딱히 설치할 생각은 없었는데... Jellyfin을 최신버전인 10.8.0으로 올리면서 버그가 발생해서 업데이트를 제때제때 기다려야하게 되었다(...) 아래 링크의 4번 문제이다.
Jellyfin과 관련된 삽질 (06.17 최종 수정)
기존에는 "Jellyfin을 이용한 미디어 서버 구축"의 뒷부분에 있었는데 내용이 길어질 것 같아서 잘라왔다. https://huie.tistory.com/35 Jellyfin을 이용한 미디어 서버 구축 (06.10 최종 수정) 많은 사람들이 NA
huie.tistory.com
그건 그렇고 나는 왠만하면 시놀로지의 Docker, GUI에서 이미지를 설치하려고 하지만... 이 친구는 CLI로 설치한다.
애초에 인터넷을 둘러봐도 CLI를 이용한 설치방법 밖에 안보인다. - 애초에 그게 가이드로써는 편하겠지만 말이다.
PuTTY를 이용하던 다른 클라이언트를 이용하던 우선 SSH로 접속해준다.
참고로 나는 Windows의 명령 프롬프트를 이용한다.
Windows를 통한 SSH 접속은 나중에 노트북이나 데스크탑을 포맷하면 한 번 포스팅하게 될 것이다. OpenSSH를 따로 설치해야 가능했던 걸로 기억하기 때문에... 어쨌든 대충 접속해주고 명령어를 입력해줄 것이다.
Quick Start에 명시된 명령은 다음과 같다. 이 명령어를 그대로 입력하면 실행된다.
$ docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower
참고로 docker 앞에 관리자 권한을 주는 sudo를 붙혀야 제대로 될 것이다.
하지만 나는 적절하게 인수를 사용해서 옵션을 좀 조정해서 설치할 것이다.
기본적으로 Quick Start를 따르며 인수만 추가한다.
내가 조정할 옵션은 우선 Time Zone이다.
구글 번역을 돌려보면 이렇다고 한다. 우리는 "TZ=Asia/Seoul"를 사용한다.
Time Zone에 관한 것은 아래 링크를 참고하면 된다.
https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
List of tz database time zones - Wikipedia
From Wikipedia, the free encyclopedia Jump to navigation Jump to search World map showing time zones from the tz database version 2017a This is a list of time zones from release 2021e of the tz database.[1] Canonical - The primary, preferred zone name. Lin
en.wikipedia.org
다음으로는 CLEAN UP이다.
역시 구글번역. 우리가 줄 옵션은 "WATCHTOWER_CLEANUP=True"이다.
다음은 RESTARTING
이건 번역기를 돌리지 않아도 알 수 있겠지만 뭐... 어쨌든 "WATCHTOWER_INCLUDE_RESTARTING=True"이다.
마지막으로는 체크하는 주기다.
기본값은 86400초(24시간)이다. 나는 1시간 간격으로 새 이미지를 체크할 것이기 때문에 3600초이다.
"WATCHTOWER_POLL_INTERVAL=3600"을 옵션으로 주면된다.
그래서 정리된 명령어는 다음과 같다.
sudo docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock -e TZ=Asia/Seoul -e WATCHTOWER_CLEANUP=True -e WATCHTOWER_INCLUDE_RESTARTING=True -e WATCHTOWER_POLL_INTERVAL=3600 containrrr/watchtower
한 줄로 쭉 복사해서 붙혀넣고 실행하면 된다.
인자마다 앞에 -e가 붙어있는 이유는 enable이라는 것을 나타내기 위해서이다. 저걸 빼먹고하니 입력한 값들이 제대로 먹히지 않는 것을 확인했다.
그럼 이렇게 Watchtower 이미지가 다운로드 되었고 컨테이너가 실행 중인 것을 확인할 수 있다.
세부사항에 들어가니 우리가 인수로 작성했던 환경변수들이 잘 입력된 것을 확인할 수 있다.
로그를 확인해보니 1시간 뒤부터 체크를 시작한다고 한다.
시간이 좀 흐르고 체크해보니 Jellyfin의 새 이미지를 받아서 교체한 것을 확인할 수 있었다. 그 이후로 한 시간마다 체크하는 것도 확인할 수 있고.
그래서 Jellyfin의 오류는 언제 고쳐질까... 근데 별 크게 작용하는 오류는 아니라서 고쳐지지 않아도 상관은 없긴하다.
어쨌든 필수 이미지 중 하나인 Watchtower에 대한 포스팅은 여기서 마무리.
홈페이지라고 해야할까 일단 링크다.
https://containrrr.dev/watchtower/
Watchtower
containrrr.dev
인수와 관련된 것은 좌측 메뉴에서 Arguments 메뉴를 들어가면 자세히 나와있다.
Notifications 메뉴는 말 그대로 알림과 관련된 부분인데 다음에 여기서 email 부분을 세팅해야겠다.
'홈랩 > 시놀로지, 헤놀로지' 카테고리의 다른 글
Jellyfin과 관련된 삽질 (06.22 최종 수정) (0) | 2022.06.14 |
---|---|
Jellyfin을 이용한 미디어 서버 구축 (06.14 최종 수정) (0) | 2022.06.06 |
Cloud Sync를 이용한 공개 클라우드와 파일 동기화 (0) | 2022.05.08 |
Hyper Backup Vault를 이용한 Synology 간의 백업 (0) | 2022.03.22 |