Tropic Host

Immich σε VPS: Δημιουργήστε το δικό σας cloud για φωτογραφίες και βίντεο

7 ελάχιστη ανάγνωση
Tropic
Immich σε VPS: Δημιουργήστε το δικό σας cloud για φωτογραφίες και βίντεο

Language: el

Immich: Δημιουργία προσωπικού cloud για φωτογραφίες και βίντεο σε VPS

Το Immich είναι μια self-hosted υπηρεσία για αποθήκευση και αυτόματο ανέβασμα φωτογραφιών και βίντεο. Προσφέρει εφαρμογές για κινητά, web interface, άλμπουμ, έξυπνη αναζήτηση και αναγνώριση προσώπων, ενώ η βιβλιοθήκη παραμένει στον server που εσείς επιλέγετε.

Παρακάτω θα καλύψουμε τις απαιτήσεις του Immich, την εγκατάσταση σε Ubuntu με Docker Compose, τη ρύθμιση HTTPS, τη σύνδεση του κινητού και τα εξωτερικά αντίγραφα ασφαλείας.

Το Immich σε έξι βήματα

  1. Δημιουργήστε ένα Linux VPS με αρκετή RAM και χώρο στον δίσκο.
  2. Δείξτε ένα subdomain, όπως photos.example.com, στη διεύθυνση IP του server.
  3. Εγκαταστήστε το Docker και κατεβάστε την επίσημη διαμόρφωση του Immich.
  4. Ορίστε τις διαδρομές της βιβλιοθήκης πολυμέσων και της βάσης δεδομένων και, στη συνέχεια, εκκινήστε τα containers.
  5. Κλείστε την εσωτερική θύρα και ενεργοποιήστε το HTTPS.
  6. Εγκαταστήστε την εφαρμογή για κινητά και ρυθμίστε εξωτερικό αντίγραφο ασφαλείας.

Τι είναι το Immich

Το Immich είναι μια εφαρμογή ανοικτού κώδικα για τη διαχείριση της προσωπικής σας βιβλιοθήκης φωτογραφιών και βίντεο. Οι φωτογραφίες εμφανίζονται σε χρονολόγιο, μπορούν να ομαδοποιηθούν σε άλμπουμ, να βρεθούν με αναζήτηση και να ανεβαίνουν αυτόματα από το κινητό στον server.

Η βασική διαφορά από μια συμβατική cloud υπηρεσία φωτογραφιών είναι ο έλεγχος της πλευράς του server. Τα αρχεία αποθηκεύονται στο VPS ή στον οικιακό σας server, όμως ο ιδιοκτήτης είναι υπεύθυνος για τον ελεύθερο χώρο, τις ενημερώσεις, την ασφάλεια και τα αντίγραφα ασφαλείας.

ΠαράμετροςCloud υπηρεσία φωτογραφιώνImmich
Πού αποθηκεύονται τα αρχείαΣτην υποδομή του παρόχουΣτον δικό σας server
ΣυντήρησηΤην αναλαμβάνει ο πάροχοςΤην αναλαμβάνει ο ιδιοκτήτης
ΚόστοςΠρόγραμμα βάσει αποθηκευτικού χώρουVPS, χώρος δίσκου και αντίγραφα ασφαλείας

Το Immich δεν είναι από μόνο του αντίγραφο ασφαλείας. Αν οι φωτογραφίες υπάρχουν μόνο σε ένα VPS, μια βλάβη δίσκου ή μια κατά λάθος διαγραφή μπορεί να καταστρέψει το αρχείο.

Βασικές δυνατότητες του Immich

  • Αυτόματα ανεβάσματα. Οι εφαρμογές για Android και iOS ανεβάζουν φωτογραφίες και βίντεο από τα επιλεγμένα άλμπουμ. Από προεπιλογή χρησιμοποιείται Wi-Fi και τα αρχεία που υπάρχουν ήδη παραλείπονται με βάση το checksum τους.
  • Έξυπνη αναζήτηση. Η υπηρεσία μπορεί να αναζητήσει άτομα, τοποθεσία, ημερομηνία, κάμερα, κείμενο μέσα σε εικόνα και περιγραφή του περιεχομένου. Τα πρόσωπα ομαδοποιούνται και στη συνέχεια μπορείτε να τους αναθέσετε ονόματα.
  • Άλμπουμ και κοινή χρήση. Το Immich υποστηρίζει πολλούς χρήστες, κοινόχρηστα άλμπουμ, κοινή χρήση με partner και δημόσιους συνδέσμους με κωδικό πρόσβασης και ημερομηνία λήξης.
  • Χάρτης και μεταδεδομένα. Το Immich διαβάζει δεδομένα EXIF, εμφανίζει πού τραβήχτηκε μια φωτογραφία, δημιουργεί αναμνήσεις και υποστηρίζει αγαπημένα, αρχειοθέτηση και εξωτερικές βιβλιοθήκες.

Η μηχανική μάθηση επιβαρύνει περισσότερο τον CPU και τη RAM κατά την αρχική εισαγωγή. Αφού δημιουργηθούν τα thumbnails και τα ευρετήρια, η καθημερινή κατανάλωση πόρων είναι συνήθως μικρότερη.

Απαιτήσεις server για το Immich

Οι επίσημες απαιτήσεις για τις τρέχουσες εκδόσεις είναι:

  • σύστημα 64-bit Linux ή Unix-like·
  • τουλάχιστον 2 πυρήνες CPU, με 4 πυρήνες να συνιστώνται·
  • τουλάχιστον 6 GB RAM, με 8 GB να συνιστώνται·
  • Docker Engine με το plugin docker compose·
  • τοπικός SSD για τη βάση PostgreSQL·
  • χώρος για τα πρωτότυπα αρχεία, τα thumbnails και τα transcoded βίντεο.

Το Immich μπορεί να λειτουργήσει σε server με 4 GB RAM αν απενεργοποιηθούν οι δυνατότητες machine learning. Για αναγνώριση προσώπων και έξυπνη αναζήτηση είναι προτιμότερο να επιλέξετε εξαρχής 8 GB.

Τα thumbnails και τα transcoded αρχεία προσθέτουν κατά μέσο όρο 10–20% στο μέγεθος της βιβλιοθήκης. Για αρχείο 200 GB διαθέστε τουλάχιστον 240–260 GB. Ο κατάλογος της βάσης DB_DATA_LOCATION πρέπει να βρίσκεται σε τοπικό SSD και όχι σε network drive.

Μια πρακτική αρχική διαμόρφωση είναι 4 vCPU, 8 GB RAM, Ubuntu 24.04 LTS και SSD με χωρητικότητα κατά 20–30% μεγαλύτερη από την αρχική βιβλιοθήκη. Δεν απαιτείται ξεχωριστή κάρτα γραφικών, αν και μπορεί να επιταχύνει την επεξεργασία μεγάλου αρχείου.

Εγκατάσταση του Immich σε VPS

Το παράδειγμα χρησιμοποιεί Ubuntu 24.04 και το subdomain 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 δεν υποστηρίζεται πλέον από το project.

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. Κλείσιμο της εσωτερικής θύρας και εκκίνηση των containers

Στο 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 πρέπει να εκτελείται στη ρίζα ενός domain ή subdomain· μια διεύθυνση όπως example.com/immich δεν υποστηρίζεται.

6. Δημιουργία διαχειριστή και σύνδεση του κινητού

Ανοίξτε το https://photos.example.com. Ο πρώτος χρήστης που θα εγγραφεί γίνεται διαχειριστής και μπορεί να δημιουργήσει επιπλέον λογαριασμούς.

Εγκαταστήστε το Immich από το App Store ή το Google Play. Στην οθόνη σύνδεσης εισαγάγετε τη διεύθυνση χωρίς /api:

https://photos.example.com

Επιλέξτε τα άλμπουμ και ενεργοποιήστε το backup. Η πρώτη εισαγωγή μπορεί να διαρκέσει: ο server δημιουργεί thumbnails, αναγνωρίζει πρόσωπα, ευρετηριάζει τα δεδομένα αναζήτησης και επεξεργάζεται βίντεο.

Ενημέρωση του Immich

Πριν από την ενημέρωση διαβάστε τις σημειώσεις έκδοσης, ιδιαίτερα όταν μεταβαίνετε σε νέα major έκδοση:

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

Ενημερώστε πρώτα τις εφαρμογές για κινητά και μετά τον server. Η επαναφορά της βάσης δεδομένων σε παλαιότερη έκδοση μπορεί να μην υποστηρίζεται, εκτός αν παρέχονται ξεχωριστές οδηγίες.

Αντίγραφα ασφαλείας του Immich

Το Immich δημιουργεί αυτόματα dumps της PostgreSQL, όμως αυτά περιέχουν μόνο τη βάση δεδομένων και τα μεταδεδομένα, όχι τις φωτογραφίες και τα βίντεο. Για πλήρη ανάκτηση αποθηκεύστε:

  • ολόκληρο τον κατάλογο /srv/immich-data·
  • τα /opt/immich/.env και docker-compose.yml·
  • τη διαμόρφωση του Caddy.

Ένα αντίγραφο στο ίδιο VPS δεν προστατεύει από βλάβη δίσκου ή διαγραφή του server. Στείλτε τα δεδομένα σε ξεχωριστό server, NAS ή object storage και ακολουθήστε τη στρατηγική backup 3-2-1. Ελέγχετε περιοδικά μια πραγματική επαναφορά αντί να επιβεβαιώνετε μόνο ότι υπάρχουν αρχεία backup.

Ποιο VPS να επιλέξετε για το Immich

Για πλήρη λειτουργικότητα με αναγνώριση προσώπων και έξυπνη αναζήτηση, είναι λογικό να επιλέξετε VPS με τουλάχιστον 4 vCPU και 8 GB RAM. Υπολογίστε το μέγεθος του δίσκου με βάση τη βιβλιοθήκη πολυμέσων και προσθέστε χώρο για thumbnails, βίντεο και την αύξηση του αρχείου.

Ένα Linux VPS από το tropic.host με στατική IP και αποθηκευτικό χώρο SSD είναι κατάλληλο για αυτή την εργασία. Μπορείτε να ξεκινήσετε με διαμόρφωση 8 GB RAM και να αυξήσετε τους πόρους όσο μεγαλώνει η βιβλιοθήκη. Κρατήστε τη βάση PostgreSQL σε γρήγορο τοπικό δίσκο και το backup εκτός αυτού του VPS.

Ένα VPS προσφέρει άνετη πρόσβαση όλο το εικοσιτετράωρο από οποιοδήποτε δίκτυο. Για αρχείο αρκετών terabyte ένας οικιακός server μπορεί να είναι φθηνότερος, αλλά θα πρέπει να εξασφαλίσετε μόνοι σας ρεύμα, εξωτερική πρόσβαση και πλεονασμό.

Περιορισμοί του Immich

Η αυτοφιλοξενία δεν εγγυάται αξιοπιστία. Ένας αδύναμος κωδικός, η εκτεθειμένη θύρα 2283, παλιά containers ή η απουσία εξωτερικού backup δημιουργούν κίνδυνο απώλειας δεδομένων.

Το Immich επίσης δεν είναι ακριβές αντίγραφο του Google Photos ή του iCloud: οι δυνατότητες επεξεργασίας και συγχρονισμού στο παρασκήνιο διαφέρουν και η ταχύτητα ανάλυσης εξαρτάται από το hardware. Πριν μεταφέρετε το μοναδικό σας αρχείο, δοκιμάστε την υπηρεσία με μια μικρή βιβλιοθήκη.

Συμπέρασμα

Το Immich σας επιτρέπει να δημιουργήσετε τη δική σας συλλογή φωτογραφιών με ανεβάσματα από κινητό, άλμπουμ, αναγνώριση προσώπων, αναζήτηση και κοινή χρήση. Για μια τρέχουσα έκδοση είναι προτιμότερο να προετοιμάσετε Linux VPS με 4 πυρήνες, 8 GB RAM και SSD με τουλάχιστον 20–30% ελεύθερη χωρητικότητα.

Μετά την εγκατάσταση ρυθμίστε HTTPS, ενημερώσεις και εξωτερικό backup του καταλόγου πολυμέσων μαζί με τη βάση δεδομένων. Αυτό είναι το backup —και όχι η αυτοφιλοξενία από μόνη της— που προστατεύει τις φωτογραφίες από απώλεια.

FAQ

Είναι δωρεάν το Immich;

Ο server του Immich είναι ανοικτού κώδικα και μπορεί να λειτουργήσει χωρίς υποχρεωτική συνδρομή. Θα πληρώνετε όμως για το VPS, το domain, τον χώρο δίσκου και τα αντίγραφα ασφαλείας.

Πόση RAM χρειάζεται το Immich;

Το επίσημο ελάχιστο είναι 6 GB RAM, ενώ συνιστώνται 8 GB. Με 4 GB θα χρειαστεί να απενεργοποιήσετε το machine learning.

Μπορεί να εγκατασταθεί το Immich χωρίς domain;

Τεχνικά ναι, όμως για μόνιμη πρόσβαση από κινητό είναι καλύτερο να χρησιμοποιήσετε domain και HTTPS. Έτσι προστατεύονται η σύνδεση και η μεταφορά αρχείων.

Αντικαθιστά το Immich ένα backup φωτογραφιών;

Όχι. Αντιγράψτε ξεχωριστά τη βιβλιοθήκη πολυμέσων και τη βάση δεδομένων σε άλλη συσκευή ή τοποθεσία.

Μπορώ να μεταφέρω υπάρχον αρχείο φωτογραφιών;

Ναι. Τα αρχεία μπορούν να ανέβουν από το web interface ή το CLI, ή μπορείτε να συνδέσετε έναν κατάλογο ως εξωτερική βιβλιοθήκη. Δημιουργήστε αντίγραφο των αρχικών δεδομένων πριν από μια μεγάλη εισαγωγή.