Tropic Host

Karakeep σε VPS: το δικό σας αρχείο σελιδοδεικτών με αναζήτηση και AI

8 ελάχιστη ανάγνωση
Tropic
Karakeep σε VPS: το δικό σας αρχείο σελιδοδεικτών με αναζήτηση και AI

Language: el

Karakeep: εγκατάσταση προσωπικού αρχείου σελιδοδεικτών σε VPS

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

Το Karakeep αποθηκεύει όχι μόνο το URL, αλλά και το περιεχόμενο της σελίδας, την προεπισκόπηση, τις σημειώσεις, τις εικόνες και τα PDF. Μπορείτε να αναζητήσετε το αρχείο με βάση το κείμενο, να οργανώσετε τα στοιχεία σε λίστες και να τους προσθέσετε αυτόματα ετικέτες με AI. Εκτελείται στο δικό σας VPS και η σύνδεση με γλωσσικό μοντέλο είναι προαιρετική.

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

Το Karakeep σε επτά βήματα

  1. Δημιουργήστε ένα Linux VPS και δείξτε σε αυτό ένα subdomain όπως το keep.example.com.
  2. Εγκαταστήστε το Docker Engine και το Docker Compose.
  3. Κατεβάστε το επίσημο docker-compose.yml.
  4. Δημιουργήστε τα μυστικά και εκκινήστε τα Karakeep, Chrome και Meilisearch.
  5. Κλείστε την εσωτερική θύρα 3000 και ενεργοποιήστε το HTTPS μέσω Caddy.
  6. Δημιουργήστε τον πρώτο λογαριασμό και στη συνέχεια απενεργοποιήστε την ανοιχτή εγγραφή.
  7. Εγκαταστήστε την επέκταση του browser ή την εφαρμογή κινητού και εισαγάγετε τους σελιδοδείκτες σας.

Για την αρχική εκκίνηση της υπηρεσίας δεν απαιτείται κλειδί AI. Χωρίς αυτό, η αποθήκευση σελίδων, οι λίστες, οι σημειώσεις, το OCR και η αναζήτηση πλήρους κειμένου συνεχίζουν να λειτουργούν. Δεν θα δημιουργούνται αυτόματες ετικέτες και περιλήψεις.

Τι είναι το Karakeep

Το Karakeep είναι μια εφαρμογή ανοιχτού κώδικα και self-hosted για την αποθήκευση συνδέσμων, σημειώσεων κειμένου, εικόνων και PDF σε μία βιβλιοθήκη. Το project ονομαζόταν παλαιότερα Hoarder.

Το όνομα προέρχεται από την αραβική λέξη karakeeb, που χρησιμοποιείται για διάσπαρτα αντικείμενα τα οποία μοιάζουν με ακαταστασία, αλλά μπορεί να έχουν κρυφή αξία. Αυτό περιγράφει σωστά μια τυπική συλλογή σελιδοδεικτών: υπάρχει πολύ χρήσιμο υλικό, όμως η εύρεση του σωστού στοιχείου είναι δύσκολη.

Αφού προσθέσετε έναν σύνδεσμο, το Karakeep ανακτά τον τίτλο και την περιγραφή του, εξάγει το αναγνώσιμο κείμενο, δημιουργεί προεπισκόπηση και μπορεί να αποθηκεύσει τοπικό αντίγραφο της σελίδας όταν χρειάζεται.

ΔυνατότηταΣελιδοδείκτες browserKarakeep
Τι αποθηκεύεταιURL και τίτλοςΚείμενο, προεπισκόπηση, σημειώσεις και συνημμένα
ΑναζήτησηΜε τίτλο και διεύθυνσηΜε περιεχόμενο, ετικέτες και σημειώσεις
Αν εξαφανιστεί η σελίδαΠαραμένει ένας κατεστραμμένος σύνδεσμοςΠαραμένει κείμενο, στιγμιότυπο ή πλήρες αρχείο
ΟργάνωσηΦάκελοιΕτικέτες, χειροκίνητες και έξυπνες λίστες
ΠρόσβασηΣτον browserWeb, επεκτάσεις, iOS και Android
ΔιακομιστήςΠροφίλ browser ή η cloud υπηρεσία τουΤο VPS ή ο οικιακός σας διακομιστής

Κύριες δυνατότητες του Karakeep

Σύνδεσμοι, σημειώσεις, εικόνες και PDF

Κάθε στοιχείο μπορεί να είναι σύνδεσμος, σημείωση κειμένου ή ανεβασμένο αρχείο. Το OCR εξάγει κείμενο από εικόνες και PDF, ώστε να γίνονται και αυτά αναζητήσιμα. Μπορείτε να επισυνάψετε σημείωση, παράθεμα ή πρόσθετο αρχείο σε ένα στοιχείο.

Αναζήτηση περιεχομένου

Το Meilisearch δημιουργεί ευρετήριο για το αποθηκευμένο κείμενο, τις σημειώσεις και τα μεταδεδομένα. Δεν χρειάζεται να θυμάστε τον ακριβή τίτλο: αρκεί μια φράση ή ένα θέμα. Όταν ρυθμιστούν embeddings, είναι διαθέσιμη και σημασιολογική αναζήτηση με βάση το νόημα.

Έξυπνες και συνεργατικές λίστες

Ένα στοιχείο μπορεί να ανήκει ταυτόχρονα σε πολλές λίστες χωρίς διπλασιασμό. Μια λίστα μπορεί να παραμείνει ιδιωτική, να κοινοποιηθεί με σύνδεσμο ή να επεξεργάζεται από κοινού με άλλους χρήστες.

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

Αρχειοθέτηση σελίδων

Από προεπιλογή, το Karakeep αποθηκεύει το εξαγόμενο κείμενο και ένα στιγμιότυπο του ορατού τμήματος της σελίδας. Μπορείτε επίσης να ενεργοποιήσετε στιγμιότυπο ολόκληρης της σελίδας, PDF ή αυτοτελές αρχείο HTML. Αυτό προστατεύει τη βιβλιοθήκη από νεκρούς συνδέσμους, αλλά αυξάνει τη χρήση δίσκου.

Σελίδες πίσω από έλεγχο ταυτότητας, προηγμένη προστασία anti-bot και διαδραστικές εφαρμογές μπορεί να μην αποθηκεύονται πλήρως. Τα σημαντικά υλικά είναι προτιμότερο να ανεβαίνουν ξεχωριστά ως PDF ή αρχείο.

Προαιρετική προσθήκη ετικετών με AI

Το Karakeep μπορεί να δημιουργεί ετικέτες και σύντομες περιλήψεις μέσω εξωτερικού API συμβατού με OpenAI ή τοπικού μοντέλου Ollama. Χωρίς AI, η εφαρμογή παραμένει πλήρως λειτουργικός διαχειριστής σελιδοδεικτών.

Ένα τοπικό μοντέλο δεν στέλνει υλικό σε εξωτερικό πάροχο, αλλά απαιτεί αισθητά περισσότερη RAM. Για αυτόν τον λόγο, το Ollama συχνά φιλοξενείται ξεχωριστά από την κύρια εγκατάσταση του Karakeep.

Απαιτήσεις διακομιστή για το Karakeep

Η επίσημη τεκμηρίωση δεν ορίζει σταθερό ελάχιστο για CPU και RAM. Μια πλήρης εγκατάσταση περιλαμβάνει τρία containers:

  • Το Karakeep αποθηκεύει τη βάση δεδομένων και παρέχει το περιβάλλον.
  • Το headless Chrome ανοίγει σελίδες, εκτελεί JavaScript και λαμβάνει στιγμιότυπα.
  • Το Meilisearch δημιουργεί το ευρετήριο της βιβλιοθήκης.

Μια πρακτική διαμόρφωση για έναν χρήστη χωρίς τοπικό LLM είναι:

  • 2 vCPU·
  • 2 GB RAM·
  • 20–30 GB SSD ή NVMe·
  • Ubuntu 24.04 LTS·
  • δημόσια διεύθυνση IP και domain.

Για αρκετούς χρήστες, μεγάλη εισαγωγή, πολλά RSS feed και PDF, τα 4 GB RAM είναι πιο άνετα. Οι απαιτήσεις δίσκου εξαρτώνται από τον τρόπο αρχειοθέτησης: το κείμενο καταλαμβάνει λίγο χώρο, ενώ τα πλήρη στιγμιότυπα, τα PDF και τα video μπορούν γρήγορα να μεγαλώσουν τη βιβλιοθήκη.

Πώς να εγκαταστήσετε το Karakeep σε VPS

Στο παράδειγμα χρησιμοποιούνται Ubuntu 24.04 και το subdomain keep.example.com.

1. Ρύθμιση DNS και firewall

Δημιουργήστε μια εγγραφή DNS A που δείχνει στη διεύθυνση IP του διακομιστή και, στη συνέχεια, συνδεθείτε μέσω SSH:

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

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

Μην κλείσετε την τρέχουσα συνεδρία SSH μέχρι να επαληθεύσετε ότι λειτουργεί μια νέα σύνδεση.

2. Εγκατάσταση Docker

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

3. Λήψη της διαμόρφωσης Karakeep

mkdir -p /opt/karakeep
cd /opt/karakeep

curl -fsSLo docker-compose.yml \
  https://raw.githubusercontent.com/karakeep-app/karakeep/main/docker/docker-compose.yml

Δημιουργήστε δύο διαφορετικά μυστικά:

openssl rand -base64 36
openssl rand -base64 36 | tr -dc 'A-Za-z0-9'

Δημιουργήστε το /opt/karakeep/.env:

KARAKEEP_VERSION=release
NEXTAUTH_SECRET=INSERT_THE_FIRST_SECRET
MEILI_MASTER_KEY=INSERT_THE_SECOND_SECRET
NEXTAUTH_URL=https://keep.example.com
DISABLE_SIGNUPS=false
DB_WAL_MODE=true
RATE_LIMITING_ENABLED=true

Μην δημοσιεύσετε το .env: το πρώτο μυστικό υπογράφει τα token ελέγχου ταυτότητας, ενώ το δεύτερο προστατεύει το Meilisearch.

4. Κλείσιμο της εσωτερικής θύρας

Στο docker-compose.yml, αντικαταστήστε:

ports:
  - 3000:3000

με:

ports:
  - 127.0.0.1:3000:3000

Έτσι η θύρα 3000 δεν θα είναι απευθείας προσβάσιμη από το Internet.

5. Εκκίνηση των containers

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

Οι υπηρεσίες web, chrome και meilisearch θα πρέπει να εκτελούνται. Δείτε τα αρχεία καταγραφής με:

docker compose logs --tail=200

6. Ενεργοποίηση HTTPS

apt install -y caddy

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

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

Αν το DNS έχει ρυθμιστεί και οι θύρες 80 και 443 είναι ανοιχτές, το Caddy θα λάβει αυτόματα πιστοποιητικό TLS. Στη συνέχεια ανοίξτε τη διεύθυνση https://keep.example.com.

7. Δημιουργία διαχειριστή και κλείσιμο της εγγραφής

Ο πρώτος χρήστης που θα εγγραφεί γίνεται αυτόματα διαχειριστής. Αφού δημιουργήσετε τον λογαριασμό, ορίστε τα παρακάτω στο .env:

DISABLE_SIGNUPS=true

Εφαρμόστε την αλλαγή:

cd /opt/karakeep
docker compose up -d

Ο διαχειριστής θα μπορεί να δημιουργεί χειροκίνητα και άλλους λογαριασμούς.

Εισαγωγή δεδομένων, επεκτάσεις και εφαρμογές κινητού

Το Karakeep προσφέρει επεκτάσεις για Chrome, Firefox και Safari, καθώς και εφαρμογές για iOS και Android. Σε ένα τηλέφωνο, μπορείτε να στείλετε έναν σύνδεσμο στο αρχείο μέσω του μενού Κοινής χρήσης του συστήματος.

Οι υπάρχοντες σελιδοδείκτες μπορούν να εισαχθούν από ένα τυπικό αρχείο HTML του browser, το Pocket, το Omnivore και άλλες υποστηριζόμενες υπηρεσίες. Είναι προτιμότερο να προσθέσετε ένα μεγάλο αρχείο σε παρτίδες: ο διακομιστής πρέπει να ανοίξει τις σελίδες, να εξαγάγει κείμενο, να δημιουργήσει στιγμιότυπα και να δημιουργήσει το ευρετήριο αναζήτησης.

Πώς να ενεργοποιήσετε το AI και την αρχειοθέτηση ολόκληρης σελίδας

Για το OpenAI προσθέστε τα παρακάτω στο .env:

OPENAI_API_KEY=YOUR_API_KEY

Μια άλλη υπηρεσία συμβατή με OpenAI μπορεί να απαιτεί επιπλέον το OPENAI_BASE_URL. Για τοπικό μοντέλο χρησιμοποιήστε το OLLAMA_BASE_URL με διεύθυνση προσβάσιμη από το container.

Ενεργοποιήστε ξεχωριστά ένα πλήρες τοπικό αντίγραφο μιας σελίδας:

CRAWLER_FULL_PAGE_ARCHIVE=true

Διατίθενται επίσης οι επιλογές CRAWLER_FULL_PAGE_SCREENSHOT=true και CRAWLER_STORE_PDF=true. Μην ενεργοποιείτε κάθε λειτουργία χωρίς λόγο: αυξάνουν αισθητά τη χρήση δίσκου. Μετά την αλλαγή του .env, εκτελέστε docker compose up -d.

Ασφάλεια, ενημερώσεις και αντίγραφα ασφαλείας

Ο crawler του Karakeep ανοίγει τις διευθύνσεις που αποθηκεύουν οι χρήστες από το δίκτυο του διακομιστή σας. Για αυτόν τον λόγο, μην αφήνετε ανοιχτή την εγγραφή και δώστε πρόσβαση μόνο σε έμπιστα άτομα. Υπάρχει βασική προστασία SSRF, αλλά για μια δημόσια υπηρεσία το επίσημο project προτείνει να απομονώσετε τον browser ή να τον δρομολογήσετε μέσω περιορισμένου proxy.

Χρησιμοποιείτε επίσης HTTPS και ισχυρούς κωδικούς πρόσβασης, μην εκθέτετε τη θύρα 3000 και ενημερώνετε τακτικά τα containers:

cd /opt/karakeep
docker compose up --pull always -d

Η κύρια βάση δεδομένων και το αποθηκευμένο υλικό βρίσκονται στο Docker volume με όνομα data. Σταματήστε τα containers πριν από την αντιγραφή του:

mkdir -p /var/backups/karakeep
cd /opt/karakeep
docker compose stop

docker run --rm \
  -v karakeep_data:/source:ro \
  -v /var/backups/karakeep:/backup \
  alpine sh -c 'tar czf /backup/data-$(date +%F).tar.gz -C /source .'

cp .env docker-compose.yml /var/backups/karakeep/
docker compose start

Το όνομα karakeep_data προϋποθέτει ότι ο κατάλογος του project είναι /opt/karakeep. Μπορείτε να το επαληθεύσετε με docker volume ls. Το ευρετήριο Meilisearch μπορεί να δημιουργηθεί ξανά, όμως για μια μεγάλη βιβλιοθήκη είναι επίσης χρήσιμο να δημιουργήσετε αντίγραφο του volume karakeep_meilisearch.

Στείλτε το αρχείο από το /var/backups/karakeep σε άλλο διακομιστή, NAS ή object storage. Αντίγραφο στο ίδιο VPS δεν προστατεύει από βλάβη δίσκου ή διαγραφή της εικονικής μηχανής.

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

Για προσωπική βιβλιοθήκη χωρίς Ollama, είναι κατάλληλο ένα Linux VPS με 2 vCPU, 2 GB RAM και 20–30 GB NVMe. Για μεγάλη εισαγωγή, αρκετούς χρήστες και πλήρη αρχειοθέτηση, επιλέξτε 4 GB RAM και μεγαλύτερο δίσκο.

Το Karakeep μπορεί να εκτελείται σε VPS από το tropic.host: μια μόνιμη IP απλοποιεί τη ρύθμιση του domain, ενώ η αποθήκευση NVMe είναι χρήσιμη για SQLite, το ευρετήριο αναζήτησης και πολλά μικρά αρχεία. Οι πόροι μπορούν να αυξηθούν όσο μεγαλώνει το αρχείο.

Υπολογίστε χωριστά τους πόρους για τοπικό Ollama: ακόμη και ένα μικρό γλωσσικό μοντέλο μπορεί να χρειάζεται περισσότερη μνήμη από ολόκληρη την κύρια στοίβα του Karakeep.

Συμπέρασμα

Το Karakeep μετατρέπει διάσπαρτους συνδέσμους σε προσωπική βιβλιοθήκη με αναζήτηση. Αποθηκεύει σελίδες, σημειώσεις, εικόνες και PDF και υποστηρίζει OCR, λίστες, επεκτάσεις, εφαρμογές κινητού και προαιρετική προσθήκη ετικετών με AI.

Ένα μικρό VPS, Docker Compose, ένα domain και HTTPS αρκούν για να ξεκινήσετε. Μετά την εγκατάσταση, κλείστε την εγγραφή, παρακολουθείτε τη χρήση του δίσκου και διατηρείτε εξωτερικό αντίγραφο ασφαλείας.

FAQ

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

Η self-hosted έκδοση είναι ανοιχτού κώδικα και δεν απαιτεί υποχρεωτική συνδρομή. Πληρώνετε για το VPS, το domain, τον χώρο αντιγράφων ασφαλείας και, όταν χρειάζεται, ένα εξωτερικό AI API.

Απαιτείται κλειδί API για να λειτουργήσει το Karakeep;

Όχι. Η αποθήκευση και ευρετηρίαση υλικού, οι λίστες, οι σημειώσεις, το OCR και η αναζήτηση πλήρους κειμένου λειτουργούν χωρίς AI. Μοντέλο χρειάζεται για αυτόματες ετικέτες, περιλήψεις και σχετικές λειτουργίες.

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

Για έναν χρήστη χωρίς Ollama, ένα πρακτικό σημείο εκκίνησης είναι 2 GB RAM. Για μεγάλες εισαγωγές, αρκετούς χρήστες και ενεργή επεξεργασία, τα 4 GB είναι πιο άνετα.

Μπορώ να εισαγάγω σελιδοδείκτες από browser ή Pocket;

Ναι. Το Karakeep υποστηρίζει τυπικό αρχείο HTML σελιδοδεικτών browser, Pocket, Omnivore και αρκετές άλλες μορφές. Μετά την εισαγωγή, το Karakeep επεξεργάζεται τις σελίδες και τις προσθέτει στην αναζήτηση.

Θα παραμείνει διαθέσιμο ένα άρθρο αν εξαφανιστεί ο αρχικός ιστότοπος;

Το Karakeep αποθηκεύει το εξαγόμενο κείμενο και ένα στιγμιότυπο και, όταν είναι ενεργή η πλήρης αρχειοθέτηση, ένα τοπικό αντίγραφο ή PDF. Σελίδες πίσω από έλεγχο ταυτότητας και σύνθετες web εφαρμογές μπορεί να αποθηκευτούν μόνο εν μέρει.