Ouroboros – Automate your docker containers update

ouroboros - automate your docker updates

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

שלב א' – התקנת Ouroboros באמצעות Docker-Compose

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

כאשר:

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

כעת, כתבו את הפקודה הבאה על מנת להתקין את הקונטיינר:

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

ouroboros - dockeril.net
ouroboros in portainer

חלק ב' – שליחת נוטיפיקציות מהמערכת

כפי שציינתי בחלקו הקודם של המדריך, ניתן לשלוח הודעות כאשרהתבצע עדכון. שליחת העדכון מתבצעת באמצעות Apprise. השימוש ב Apprise מאפשר גמישות רבה בכל הנוגע בשליחת ההודעות היות והיא תומכת בשליחת הודעות במגוון ערוצים ותוכנות כמו Telegram, Pushbullet ועוד כפי שניתן לראות כאן.

בדוגמה הבאה אסביר כיצד ניתן לשלוח הודעות ל Terlgram. אך תחילה יש לפתוח Telgram Bot על פי המדריך הבא.

כעת, פתחו את קובץ ה docker-compose שלכם ועדכנו את השורה הבאה תחת Environment:

כדי שתראה כך:

כאשר:

  • BotToken – הטוקן של הבוט.
  • ChatId – ה ID שלך כמשתמש עבור קבלת ההתראות.

כעת הריצו את הפקודה הבאה על מנת שהקונטיינר יתעדכן בשינויים:

אם ביצעתם את ההגדרה כראוי, נקבל הודעה ש ouroboros עלה ומתחיל לבדוק עדכונים:

Ouroboros Has Started
Ouroboros Notification

וכאשר קונטיינר התעדכן נקבל את ההודעה הבאה:

Ouroboros updated container
Ouroboros Updated COntainer

חלק ג' – ניהול העדכונים וקביעת החרגות

כפי שציינתי בחלק הראשון של המדריך, אחד הפיצ'רים החשובים של המערכת הוא היכולת לקבוע איזה קונטיינרים יתעדכנו ואיזה לא. את הקביע ניתן לבצע ב-2 דרכים עקריות.

הראשונה – Ignore List הפחות מועדפת עלי, יותר קשה לנהל. ניתן לביצוע על ידי הוספת הגדרה IGNORE למשתני הסביבה בצורה הבאה:

השניה (והמועדפת עלי) – שחמוש בתגיות:

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

בהצלחה!

Be the first to comment

Leave a Reply

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


*