סקירה והוראות התקנה לאלטרנטיבה לגוגל תמונות, מאובטחת, בקוד פתוח ובשליטה אישית מלאה. חלק א'
כמו כולם, גם אני קיבלתי את המייל של גוגל על כך שהמסיבה של העלאת תמונות וסרטונים ללא הגבלה הולכת להסתיים (https://photos.google.com/storagepolicy), והאמת, חוץ מזה שזה כמובן לגמרי זכותם, זה הרגיש לי כמו מלכודת דבש די צפויה שכמו כולם גם אני נפלתי בה, אבל חשבתי שזו הזדמנות טובה להפסיק לתת את כל התמונות והסרטונים האישיים ביותר שלי לשליטת חברה מסחרית ולהתחיל לנהל ולאחסן את התמונות שלי, בעצמי בבעלותי ובשליטתי המלאה.
מערכת קוד פתוח שתאפשר לנהל לצפות לסווג לתייג ולחפש בתמונות, עם חווית משתמש (UI\UX) טובה, קלה לגיבוי, ועם עדיפות ליכולת סנכרון אוטומטי של תמונות מהטלפון.
אחרי קצת חיפושים (בגוגל 😊…) מצאתי פרויקט קוד פתוח מדהים שעושה בדיוק את זה, ובצורה מעולה, הפרוייקט PhotoPrism הנפלא מאפשר את כל מה שחיפשתי++, אמנם סיווג וניתוח התמונות לא ברמה של גוגל תמונות והאפליקציה לסנכרון האוטומטי עדיין בשלבי פיתוח, אבל היי זה באמת חינם חופשי לשימוש ורץ על מחשב ישן שלי אז… ברור מה עדיף.
ממליץ מאוד אם יש לכם חשבון ב-GitHub לתת להם כוכב לפרוייקט, וגם לתרום להם קוד, זה נראה פרויקט 🔥 שעתידו עוד לפניו.
אם אתם.ן מפתחי תכנה או א.נשים טכניים זה אמור להיות קלי קלות להרצה על Windows \ Linux, פשוט להתקין Docker ו-Docker Compose ולעקוב אחרי ההוראות בדוקומנטציה של PhotoPrism.
אגב על מכונות שאינם x86 כמו Raspberry PI אין תמיכה out of the box בהתקנה של docker compose, ממליץ להשתמש בפרוייקט הזה linuxserver/docker-compose.
אבל! גם אם אתם לא באים מעולם המחשוב זה לא אומר שאתם לא יכולים להנות מהפרויקט הזה, לנהל ולשלוט במידע ובתמונות שלכם בעצמכם, במדריך הבא אני אשתדל להסביר בצורה פשוטה (ובלי יותר מדי הסברים מתישים על הכלים… רק להביא לינקים להסבר על מונחים שונים למי שמעוניין) איך להתקין ולהתחבר למערכת על גבי 10 Windows.
מחשב עם Windows 10 מעודכן (המדריך נעשה על Windows 10 Pro מעודכן נכון ל 15.11.2020) אפשר וגם רצוי להקדיש לזה מחשב ישן ועזוב, רק כדאי לוודא שהוא עומד בהמלצת המינימום של 4 ג'יגה ראם, ו-2 ליבות.
וכמובן כונן קשיח לאחסון כל התמונות והסרטונים, ממליץ בחום להשתמש דווקא ב-HDD (מה שנקרא דיסק קשיח מכני) ולא ב-SSD (מה זה HDD ו-SSD ויקיפדיה) גם בגלל המחיר וגם בגלל האמינות לאורך זמן, וכמובן גם כונן נוסף בתור גיבוי, תזכרו, אתם המנהלים והבעלים של המידע, חשוב ביותר לגבות, כי אף אחד לא יעשה את זה בשבילכם, מומלץ גם בנוסף כונן חיצוני לגיבוי Offline שעוזר במקרה של כופרה וירוסים שונים ומשונים בעיות חשמל וכו'.
ראשית יש להתקין כלי שנקרא Docker, נלך ל docker-ce-desktop-windows
ונוריד את Docker
אחרי שההורדה הסתיימה, נפעיל את התוכנה, נאשר את ההגדרות הדיפולטיות, ונמתין לסיום התהליך.
אחרי שההתקנה הסתיימה נתבקש לעשות אתחול למחשב.
אחרי האתחול, נראה שנוסף האייקון חדש של Docker במגירת היישומים.
אם לא מותקן אצלכם (וכנראה שלא..) WSL 2
(מה זה WSL? כמה מילים על WSL 2 )
האייקון של הלווייתן אמור להיות בצבע אדום, ואתם אמורים לקבל הודעה כזו:
כדי להתקין את ה-WSL 2: נחפש בתיבת החיפוש של חלונות PowerShell ונפעיל אותה כמנהל (חשוב!)
בחלון שנפתח נעתיק את השורה הבאה:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
ונקיש ENTER.
נעתיק את השורה הבאה:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
ושוב נקיש ENTER.
נוריד את התוכנה הבאה: wsl_update_x64.msi
(ההוראות מתוך הבלוג של מיקרוסופט wsl/install-win10)
אחרי שסיימנו את ההתקנה של WSL 2
נלך לאייקון של הלוויתן האדום, לחצן ימני של העכבר ונבחר בrestart.
שוב נקבל את ההודעה שראינו, אבל הפעם נבחר restart.
נמתין מספר שניות עד שנקבל הודעה docker desktop is running
עכשיו צריך לסדר את משתנה הסביבה Path כך שנוכל לגשת ל-Docker מכל מקום.
לחיצה ימנית על אייקון המחשב שלי
בסייר הקבצים, בחירה בתכונות
(האחרון ברשימה)
ואז הגדרות מערכת מתקדמות
(מיקרוסופט שינו את הממשק הזה לאחרונה, רק תחפשו את זה איפשהו בחלון)
בחלון שנפתח נבחר במשתני סביבה
.
בחלון שנפתח בטבלה התחתונה נבחר ב Path ונלחץ על ערוך
.
בחלון שנפתח נבחר חדש
ולשורה החדשה נעתיק C:\Program Files\Docker\Docker
ונבחר אישור
זהו סיימנו עם ההתקנות של הכלים השונים.
עכשיו להתקנה של PhotoPrism.
ניצור תיקיה חדשה בכונן C
נקרא לה PhotoPrism
נוריד את הקובץ docker-compose.yml
מכאן
ונעתיק אותו ל C:/PhotoPrism
.
(חשוב לוודא שההורדה לא הוסיפה לו סיומת TXT ואם כן למחוק אותה ולוודא שהשם של הקובץ הוא docker-compose.yml
ראה
שינוי סיומת קובץ)
עכשיו נלך לשורת הכתובת בסייר הקבצים (תוך כדי שאנחנו בתיקייה C:/PhotoPrism
!) נדרוס את הכתובת ונכתוב שם cmd
ונקיש ENTER.
בחלון שורת הפקודה שנפתח נכתוב docker-compose up -d
ונקיש ENTER.
נמתין לתהליך ההורדה שלוקח כמה שניות,
אם קופץ חלון של ה Firewall (חומת האש) של חלונות, צריך לאפשר לתוכנה גישה לרשת.
נמתין עד שנקבל הודעה בחלון שורת הפקודה שההפעלה הסתיימה.
נפתח בדפדפן את הדף http://localhost:2342/ ובסיסמה נכניס insecure
.
זהו סיימנו!
בכדי לשנות את ההגדרות של המערכת כמו למשל מיקום הקבצים והאינדקסים צריך דבר ראשון להוריד את המערכת, על ידי כניסה לחלון שורת הפקודה בדיוק כמו מקודם, ואז להעתיק את השורה הבאה
docker-compose stop photoprism
ו-ENTER.
(אגב בשלב זה אפשר גם לעדכן את התוכנה, אם קיים עדכון, על ידי העתקת הפקודה
docker-compose pull photoprism
ו.. ENTER)
עכשיו נבצע את השינויים שנרצה,
אחרי שסיימנו את העריכה ושמרנו את השינויים, נחזור לשורת הפקודה נעתיק את הפקודה
docker-compose up -d --no-deps photoprism
ו… ENTER.
כמה דברים ממש חשובים.
ראשית, את המיקום והכונן שבו ישמרו הקבצים והאינדקסים (זוכרים שייחדנו דיסק קשיח לזה?)
אז איך משנים?
נפתח את הקובץ docker-compose.yml
בעזרת כל עורך טקסט פשוט כמו notepad או notepad++
ונשנה את הנתיב של הקבצים תחת הסקשן volumes.
מפה נוכל גם לשנות את הסיסמה הדיפולטית למשהו אישי וסודי יותר 🤫
עדכון חשוב
אם המחשב לא מיועד להיות רק שרת התמונות כדאי להגביל את המשאבים של WSL2 כך שניתן יהיה להשתמש במחשב והוא לא "ייחנק"
איך עושים את זה? יוצרים קובץ בשם
.wslconfig
בתיקיית המשתמש
C:\users\{username}
המחשב שלי
-> משתמשים
-> שם המשתמש
ובתוכו נעתיק את הטקסט הבא
[wsl2]
memory=4GB # Limits VM memory in WSL 2 to 4 GB
processors=2 # Makes the WSL 2 VM use two virtual processors
כמובן יש להזין את הגבלת המשאבים שמתאים לכם בדוגמה פה זה מגבלת 4 גיגה זיכרון ו-2 ליבות מעבד.
אחרי השמירה נדרש אתחול למחשב
חשוב לדעת שניתן להוסיף תמונות וסרטונים לא רק דרך הממשק בדפדפן אלא גם ע"י
העתקת התמונות לתת
תיקייה בנתיב שבו אנחנו שומרים את התמונות, (כברירת מחדל זה ב-C:/users/username/Pictures
או בכל מקום שהגדרנו
אליו, למשל D:/Pictures
ואז אחרי שמעלים בחזרה את המערכת ניתן בממשק לגשת לטאב של
Library ולבקש לאנדקס את כל הקבצים שהוספתם.
מה שמאפשר להוריד את כל התמונות מגוגל ,תמונות
(Download photos or videos to your device)
לחלץ את כל הקבצים, ולהעתיק לתת תיקיה לדוגמה D:/Pictures/google_photos_lib
ואחרי שמעלים שוב את המערכת ניתן לגשת לעמודה של הספריה ולבקש לאנדקס את כל מה שקיים בתיקיה שהוספנו.
אחרת קשה לעלות ג'יגות של תמונות וסרטונים דרך ממשק העלאה בדפדפן (אישית הפעלתי ככה את האינדוקס של כל התמונות והסרטונים שהורדתי מגוגל תמונות, וזה לקח כמעט יום שלם לאנדקס…)
כשאתם מגבים חשוב מאוד להעתיק גם את התיקייה של הקבצים (במקרה שלי D:/Picture
) וגם את התיקיה של האינדקסים וההגדרות (במקרה שלי D:/.photoprism
).
אם כבר מדברים על גיבוי, היות ואנחנו מגבים ידנית בעצמנו, כדאי להשתמש בסקריפט פשוט שיעתיק עבורנו רק את העדכונים ולא סתם לדרוס שוב ושוב את כל הקבצים, וכך נחסוך גם זמן וגם קריאות לדיסק.
נשמע מורכב? אז ממש לא.
כל מה שצריך זה ליצור קובץ טקסט פשוט ולתת לו סיומת bat
לדוגמה
my_copy_script.bat
ובתוכו נכניס את הטקסט הבא:
:: this is to mirror the dest to be like src (remove files in dest if needed)
Robocopy D:\Pictures F:\Pictures /MIR /FFT /Z /XA:H /W:5
Robocopy D:\.photoprism F:\.photoprism /MIR /FFT /Z /XA:H /W:5
pause
הנתיבים פה הם כמובן מה שנכון עבורי בדוגמה, נשנה אותם למה שרלוונטי, נשמור את השינויים, וכל מה שנשאר זה ללחוץ פעמיים על הקובץ ולהמתין שההעתקה תסתיים.
כדאי לדעת שהמפתחים של הפרויקט גם עובדים על סנכרון מול Google Drive למי שזה חשוב ועדיין לא רוצה להתנתק לגמרי מהאח הגדול...
אז בהצלחה בלקחת את המידע שלכם אליכם בחזרה!
אשמח כמובן להערות והארות אם משהו לא ברור או מספיק מובן במדריך 😃.
נקודה חשובה שכדאי להזכיר למיטיבי לכת, אם שמתם את זה על מחשב ייעודי וגם אם לא 😉 כדאי לתת לו כתובת סטטית.
זה לא מדי מסובך How to set static ip windows 10
וכך תוכלו לגשת לתמונות מכל מחשב או טלפון ברשת הביתית פשוט ע"י הזנת הכתובת של המחשב עם הפורט http://{ip-address}:2342
.
וגם כדאי לנסות את האפליקציה של photoprism-mobile PhotoPrism שאמנם כרגע בשלבי בנייה, אבל יש בה פיצ'ר ניסיוני של סנכרון אוטומטי ממש כמו בגוגל תמונות, לי זה עבד חלק. שווה לנסות.
ואם כבר הלכתם על כתובת סטטית כדאי להתקין Pi Hole (תודות לרן בר זיק על המאמר הנפלא התקנה ושימוש ב-PI HOLE כשרת DNS) ולהוסיף רשומת DNS מקומית למחשב.
Photo by Nicole De Khors from Burst