Ouroboros – a way to update your containers

Ouroboros - a way to update your containers

כאחד שמתחזק סביבה מרובת קונטיינרים חשוב לי לשמור על היכולת לעדכן אותם באופן שוטף ולא פחות חשוב גם לדעת מתי התבצע עדכון. עד לא מזמן השתמשתי ב Watchtower שאכן שמר על הקונטיינרים מעודכנים אך לא ידעתתי מתי ומי מהם התעדכן.

לאחרונה נחשפתי למערכת דומה, המבוססת על watchtower ונקראת Ouroboros אשר מעבר לכך שהיא מבצעת בדיקות לגרסאות בפרקי זמן קצרים יותר (הניתנים גם לשינוי) גם קיימת האפשרות לשלוח לי הודעה כאשר התבצע עדכון. על מנת לשלוח את ההודעה Ouroboros משתמשת במערכת שנקראת apprise ומאפשרת שליחת הודעות במספר רחב של פלטפורמות ופרוטוקולים, לדוגמה:

  • Telegram
  • Slack
  • Discord
  • IFTTT
  • Gitter
  • Microsoft Teams
  • Pushbullet
  • ועוד

במדריך זה אסביר כיצד להתקין את Ouroboros באמצעות Docker-Compose ואיך להגדיר את ההתראות.
אך על מנת לבצע זאת, יש תחילה להתקין docker + docker-compose על פי המדריך הבא.

שלב א' – הוספת ההגדרות לקובץ ה docker-compose.yaml

על מנת לעשות זאת, ערכו את קובץ ה docker-compose.yaml שלכם והוסיפו פנימה את קטע הקוד הבא:

כאשר:

  • CLEANUP – האם למחוק את ה images הישנים לאחר העדכון.
  • INTERVAL – הזמן שיעבור בין בדיקת עדכון אחת לשניה (ברירת מחדל 300 שניות)
  • SELF_UPDATE – האם לעדכן את עצמו.
  • LABEL_ENABLE – האם להשתמש ה lables על מנת לקבוע אם לבדוק עדכון.
  • LABELS_ONLY – האם לעדכן רק קונטיינרטים שבתגית שלהם העדכון מאופשר.
  • CRON – דרך נוספת לקבוע כל כמה זמן יתבצע עדכון.

בנוסף, יש להגידר לכל קונטיינר אותו נרצה לעדכן את התגית הבאה:

כעת, שמרו את הקובץ והריצו את הפקודה הבאה:

ואם ביצעתם הכל כראוי, תוכלו לראות ב portainer כי הקונטיינר רץ:

ouroboros container - dockeril.net

שלב ב' – שליחת התראות בעת עדכון

כםי שציינתי בתחילת המדריך, למערכת ouroboros ישנה אפשרות לשלוח התראות על ידי שימוש ב apprise. הוספת ההתראות פשוטה מאוד ובחלק זה של המדריך אסביר כיצד לשלוח התראות באמצעות טלגרם. על מנת לבצע זאת יש תחילה לפתוח בוט טלגרם על פי המדריך הבא.

כעת, ערכו את קובץ ה docker-compose.yaml והוסיפו את השורה הבאה תחת environment:

כאשר:

  • BotToken – הטוקן שקיבלתם בעת יצירת הבוט.
  • ChatID – ה ID שלכם. תוכלו למצוא אותו על ידי שימוש ב idbot

כעת, שמרו את הקובץ והריצו את הפקודה הבאה על מנת להכניס את השינויים לתוקף:

כעת אמורה להתקבל הודעה ש Ouroboros  רצה, ומתי תהיה בדיקת העדכון הבאה:

ובמידה והתבצע עדכון, תוכלו לראות את ההודעה הבאה:

בקישור זה תוכלו לקרוא עוד אודות היכולות של המערכת.

1 Trackback / Pingback

  1. DockerSvc - Execute commands after container Update - DockerIL

Leave a Reply

כתובת האימייל שלך לא תפורסם


*