Tropic Host

Immich ב-VPS: הקמת ענן פרטי לתמונות ולסרטונים

2 דקות קריאה
Tropic
Immich ב-VPS: הקמת ענן פרטי לתמונות ולסרטונים

Language: he

Immich: הקמת ענן פרטי לתמונות ולסרטונים ב-VPS

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

להלן נסקור את דרישות Immich, התקנה על Ubuntu עם Docker Compose, הגדרת HTTPS, חיבור הטלפון וגיבויים חיצוניים.

Immich בשישה שלבים

  1. צרו VPS עם Linux ועם מספיק זיכרון RAM ונפח אחסון.
  2. הפנו תת-דומיין, למשל photos.example.com, לכתובת ה-IP של השרת.
  3. התקינו Docker והורידו את התצורה הרשמית של Immich.
  4. הגדירו את נתיבי ספריית המדיה ובסיס הנתונים, ולאחר מכן הפעילו את הקונטיינרים.
  5. סגרו את הפורט הפנימי והפעילו HTTPS.
  6. התקינו את האפליקציה לנייד והגדירו גיבוי חיצוני.

מהו Immich?

Immich הוא יישום בקוד פתוח לניהול ספריית התמונות והסרטונים שלכם. התמונות מופיעות בציר זמן, ניתן לקבץ אותן באלבומים, למצוא אותן בחיפוש ולהעלות אותן אוטומטית מהטלפון לשרת.

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

פרמטרשירות ענן לתמונותImmich
מיקום הקבציםבתשתית הספקבשרת שלכם
תחזוקהמנוהלת בידי הספקמנוהלת בידי הבעלים
עלויותתוכנית לפי נפח אחסוןVPS, נפח דיסק וגיבויים

Immich אינו גיבוי בפני עצמו. אם התמונות קיימות רק ב-VPS אחד, תקלה בדיסק או מחיקה בטעות עדיין עלולות להשמיד את הארכיון.

התכונות העיקריות של Immich

  • העלאות אוטומטיות. אפליקציות Android ו-iOS מעלות תמונות וסרטונים מאלבומים שנבחרו. כברירת מחדל נעשה שימוש ב-Wi-Fi, וקבצים שכבר קיימים מדולגים לפי סכום הביקורת שלהם.
  • חיפוש חכם. השירות יכול לחפש לפי אנשים, מיקום, תאריך, מצלמה, טקסט בתמונה ותיאור התוכן. הפנים מקובצות ואפשר להקצות להן שמות.
  • אלבומים ושיתוף. Immich תומך במספר משתמשים, אלבומים משותפים, שיתוף עם שותף וקישורים ציבוריים עם סיסמה ותאריך תפוגה.
  • מפה ומטא-נתונים. Immich קורא נתוני EXIF, מציג היכן צולמה תמונה, יוצר זיכרונות ותומך במועדפים, בארכיון ובספריות חיצוניות.

למידת המכונה יוצרת את העומס הגדול ביותר על המעבד ועל זיכרון ה-RAM בזמן הייבוא הראשוני. לאחר יצירת התמונות הממוזערות והאינדקסים, השימוש היומי במשאבים בדרך כלל נמוך יותר.

דרישות השרת של Immich

הדרישות הרשמיות לגרסאות הנוכחיות הן:

  • מערכת Linux או Unix-like ב-64 סיביות;
  • לפחות 2 ליבות CPU, כאשר 4 מומלצות;
  • לפחות 6 GB RAM, כאשר 8 GB מומלצים;
  • Docker Engine עם התוסף docker compose;
  • SSD מקומי עבור מסד הנתונים PostgreSQL;
  • מקום לקבצים המקוריים, לתמונות ממוזערות ולסרטונים שעברו המרת קידוד.

Immich יכול לפעול בשרת עם 4 GB RAM אם תכונות למידת המכונה מושבתות. עבור זיהוי פנים וחיפוש חכם, עדיף לבחור 8 GB כבר מההתחלה.

תמונות ממוזערות וקבצים שעברו המרת קידוד מוסיפים בממוצע 10–20% לגודל ספריית המדיה. עבור ארכיון של 200 GB, הקצו לפחות 240–260 GB. את תיקיית מסד הנתונים DB_DATA_LOCATION יש לשמור ב-SSD מקומי, לא בכונן רשת.

תצורת התחלה מעשית היא 4 vCPU, ‏8 GB RAM, ‏Ubuntu 24.04 LTS ו-SSD בנפח גדול ב-20–30% לפחות מספריית המקור. כרטיס גרפי ייעודי אינו נדרש, אף שהוא יכול להאיץ עיבוד של ארכיון גדול.

איך להתקין Immich ב-VPS

בדוגמה זו נעשה שימוש ב-Ubuntu 24.04 ובתת-הדומיין photos.example.com.

1. הגדרת DNS והכנת Ubuntu

צרו רשומת DNS מסוג A שמפנה לכתובת ה-IPv4 של ה-VPS. לאחר מכן התחברו באמצעות SSH:

ssh root@SERVER_IP
apt update && apt upgrade -y

ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

אל תסגרו את סשן ה-SSH הנוכחי עד שתוודאו שחיבור חדש עובד.

2. התקנת Docker ו-Docker Compose

apt install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
  -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc

tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

apt update
apt install -y docker-ce docker-ce-cli containerd.io \
  docker-buildx-plugin docker-compose-plugin
docker compose version

השתמשו דווקא בפקודה docker compose: הפקודה הישנה docker-compose אינה נתמכת עוד בפרויקט.

3. הורדת Immich והגדרתו

mkdir -p /opt/immich /srv/immich-data
cd /opt/immich

curl -L -o docker-compose.yml \
  https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
curl -L -o .env \
  https://github.com/immich-app/immich/releases/latest/download/example.env

פתחו את הקובץ:

nano /opt/immich/.env

שנו את הפרמטרים העיקריים:

UPLOAD_LOCATION=/srv/immich-data
DB_DATA_LOCATION=/opt/immich/postgres
TZ=Europe/Berlin
DB_PASSWORD=REPLACE_WITH_A_LONG_PASSWORD

הזינו את אזור הזמן שלכם. סיסמת PostgreSQL צריכה לכלול אותיות לטיניות וספרות; הפקודה openssl rand -hex 24 תיצור ערך אקראי. השאירו את שאר השורות כפי שהן מופיעות בקובץ example.env הנוכחי.

4. סגירת הפורט הפנימי והפעלת הקונטיינרים

ב-docker-compose.yml, מצאו את הפורט של השירות immich-server:

ports:
  - '2283:2283'

החליפו אותו ב:

ports:
  - '127.0.0.1:2283:2283'

כעת הפורט נגיש רק מתוך ה-VPS עצמו. הפעילו את השירות:

cd /opt/immich
docker compose up -d
docker compose ps

לאבחון תקלות השתמשו ב-docker compose logs --tail=200.

5. הפעלת HTTPS עם Caddy

apt install -y caddy

cat > /etc/caddy/Caddyfile <<'EOF'
photos.example.com {
    reverse_proxy 127.0.0.1:2283
}
EOF

caddy validate --config /etc/caddy/Caddyfile
systemctl reload caddy

Caddy יבקש תעודה אוטומטית אם ה-DNS מצביע ל-VPS והפורט 80 והפורט 443 נגישים. Immich חייב לפעול בשורש של דומיין או תת-דומיין; כתובת כמו example.com/immich אינה נתמכת.

6. יצירת מנהל מערכת וחיבור הטלפון

פתחו את https://photos.example.com. המשתמש הראשון שנרשם הופך למנהל ויכול ליצור חשבונות נוספים.

התקינו את Immich מ-App Store או מ-Google Play. במסך הכניסה הזינו את הכתובת ללא /api:

https://photos.example.com

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

עדכון Immich

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

cd /opt/immich
docker compose pull
docker compose up -d
docker image prune

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

גיבוי Immich

Immich יוצר אוטומטית dump-ים של PostgreSQL, אך הם מכילים רק את מסד הנתונים והמטא-נתונים, ולא את התמונות והסרטונים. לשחזור מלא שמרו:

  • את כל התיקייה /srv/immich-data;
  • את /opt/immich/.env ואת docker-compose.yml;
  • את תצורת Caddy.

עותק באותו VPS אינו מגן מפני תקלה בדיסק או מחיקת השרת. שלחו את הנתונים לשרת נפרד, NAS או אחסון אובייקטים ופעלו לפי אסטרטגיית הגיבוי 3-2-1. בדקו שחזור מעת לעת במקום לבדוק רק שקובצי הגיבוי קיימים.

איזה VPS לבחור עבור Immich

לפונקציונליות מלאה עם זיהוי פנים וחיפוש חכם, סביר לבחור VPS עם לפחות 4 vCPU ו-8 GB RAM. חשבו את גודל הדיסק לפי ספריית המדיה, והוסיפו קיבולת לתמונות ממוזערות, לסרטונים ולצמיחת הארכיון.

VPS Linux של tropic.host, עם כתובת IP סטטית ואחסון SSD, מתאים למשימה זו. אפשר להתחיל בתצורה עם 8 GB RAM ולהגדיל את המשאבים כשהספרייה גדלה. שמרו את מסד הנתונים PostgreSQL בדיסק מקומי מהיר ואת הגיבוי מחוץ ל-VPS הזה.

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

מגבלות Immich

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

Immich גם אינו עותק מדויק של Google Photos או iCloud: יכולות העריכה והסנכרון ברקע שונות, ומהירות הניתוח תלויה בחומרה. לפני שתעבירו את הארכיון היחיד שלכם, בדקו את השירות עם ספרייה קטנה.

סיכום

Immich מאפשר לכם ליצור גלריית תמונות משלכם עם העלאות מהנייד, אלבומים, זיהוי פנים, חיפוש ושיתוף. עבור גרסה עדכנית, מומלץ להכין VPS עם Linux, ארבע ליבות, 8 GB RAM ו-SSD עם לפחות 20–30% נפח פנוי.

לאחר ההתקנה הגדירו HTTPS, עדכונים וגיבוי חיצוני של תיקיית המדיה יחד עם מסד הנתונים. הגיבוי — ולא האירוח העצמי כשלעצמו — הוא שמגן על התמונות מפני אובדן.

FAQ

Immich חינמי?

שרת Immich הוא בקוד פתוח ויכול לפעול ללא מנוי חובה. עדיין תשלמו עבור ה-VPS, הדומיין, נפח הדיסק והגיבויים.

כמה RAM צריך Immich?

המינימום הרשמי הוא 6 GB RAM, וההמלצה היא 8 GB. עם 4 GB תצטרכו להשבית למידת מכונה.

האם אפשר להתקין Immich בלי דומיין?

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

האם Immich מחליף גיבוי לתמונות?

לא. העתיקו את ספריית המדיה ואת מסד הנתונים בנפרד למכשיר או למיקום אחר.

האם אפשר להעביר ארכיון תמונות קיים?

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