Language: ka
Karakeep: პირადი სანიშნეების არქივის დაყენება VPS-ზე
ბმულის შენახვა მარტივია. ექვსი თვის შემდეგ მისი პოვნა ბევრად რთულია — განსაკუთრებით მაშინ, როცა გვერდი შეიცვალა, გაქრა ან ასობით სანიშნეს შორის დაიკარგა.
Karakeep ინახავს არა მხოლოდ URL-ს, არამედ გვერდის შიგთავსს, გადახედვას, შენიშვნებს, სურათებსა და PDF-ებსაც. არქივის ძიება შეგიძლიათ ტექსტით, ელემენტების სიებად დალაგება, ხოლო AI-ს საშუალებით — ავტომატური ტეგირება. აპლიკაცია საკუთარ VPS-ზე მუშაობს, ენობრივი მოდელის დაკავშირება კი არჩევითია.
ქვემოთ განვიხილავთ Karakeep-ის შესაძლებლობებს, სერვერის მოთხოვნებს და Ubuntu 24.04-ზე Docker Compose-ით, HTTPS-ითა და სარეზერვო ასლებით დაყენებას.
Karakeep შვიდ ნაბიჯად
- შექმენით Linux VPS და მის ქვედომენზე, მაგალითად
keep.example.com, მიუთითეთ სერვერის მისამართი. - დააყენეთ Docker Engine და Docker Compose.
- ჩამოტვირთეთ ოფიციალური
docker-compose.yml. - შექმენით საიდუმლოებები და გაუშვით Karakeep, Chrome და Meilisearch.
- დახურეთ შიდა პორტი 3000 და ჩართეთ HTTPS Caddy-ის საშუალებით.
- შექმენით პირველი ანგარიში, შემდეგ კი გამორთეთ ღია რეგისტრაცია.
- დააყენეთ ბრაუზერის გაფართოება ან მობილური აპლიკაცია და შემოიტანეთ სანიშნეები.
სერვისის დასაწყებად AI-გასაღები საჭირო არ არის. მის გარეშე გვერდების შენახვა, სიები, შენიშვნები, OCR და სრული ტექსტით ძიება კვლავ იმუშავებს. ავტომატური ტეგები და შეჯამებები არ შეიქმნება.
რა არის Karakeep?
Karakeep არის ღია კოდის, თვითჰოსტინგზე გაშვებული აპლიკაცია ბმულების, ტექსტური შენიშვნების, სურათებისა და PDF-ების ერთიან ბიბლიოთეკაში შესანახად. პროექტს ადრე Hoarder ერქვა.
სახელი მოდის არაბული სიტყვიდან karakeeb, რომლითაც აღწერენ მიმოფანტულ ნივთებს, რომლებიც არეულობას ჰგავს, თუმცა შეიძლება დამალული ღირებულება ჰქონდეს. ეს კარგად ახასიათებს სანიშნეების ტიპურ კოლექციას: სასარგებლო მასალა ბევრია, მაგრამ საჭირო ელემენტის პოვნა რთულია.
ბმულის დამატების შემდეგ Karakeep იღებს მის სათაურსა და აღწერას, გამოყოფს წასაკითხ ტექსტს, ქმნის გადახედვას და საჭიროების შემთხვევაში გვერდის ლოკალური ასლის შენახვაც შეუძლია.
| შესაძლებლობა | ბრაუზერის სანიშნეები | Karakeep |
|---|---|---|
| რა ინახება | URL და სათაური | ტექსტი, გადახედვა, შენიშვნები და დანართები |
| ძიება | სათაურითა და მისამართით | შიგთავსით, ტეგებითა და შენიშვნებით |
| თუ გვერდი გაქრა | რჩება გაფუჭებული URL | რჩება ტექსტი, სქრინშოტი ან სრული არქივი |
| ორგანიზება | საქაღალდეები | ტეგები, ხელით შექმნილი და ჭკვიანი სიები |
| წვდომა | ბრაუზერში | ვები, გაფართოებები, iOS და Android |
| სერვერი | ბრაუზერის პროფილი ან მისი ღრუბლოვანი სერვისი | თქვენი VPS ან სახლის სერვერი |
Karakeep-ის ძირითადი შესაძლებლობები
ბმულები, შენიშვნები, სურათები და PDF-ები
თითოეული ელემენტი შეიძლება იყოს ბმული, ტექსტური შენიშვნა ან ატვირთული ფაილი. OCR სურათებიდან და PDF-ებიდან ტექსტს გამოყოფს, ამიტომ მათი მოძებნაც შესაძლებელია. ელემენტს შეგიძლიათ დაურთოთ შენიშვნა, ციტატა ან დამატებითი ფაილი.
შიგთავსის ძიება
Meilisearch ინდექსირებას უკეთებს შენახულ ტექსტს, შენიშვნებსა და მეტამონაცემებს. ზუსტი სათაურის გახსენება საჭირო არ არის: საკმარისია ფრაზა ან თემა. როცა embeddings კონფიგურირებულია, შესაძლებელია სემანტიკური ძიებაც — მნიშვნელობის მიხედვით.
ჭკვიანი და ერთობლივი სიები
ერთი ელემენტი შეიძლება ერთდროულად რამდენიმე სიას ეკუთვნოდეს დუბლირების გარეშე. სია შეიძლება დარჩეს პირადი, გაზიარდეს ბმულით ან სხვა მომხმარებლებთან ერთად რედაქტირდეს.
ჭკვიანი სია შენახული საძიებო მოთხოვნაა, რომელიც ავტომატურად ახლდება. მაგალითად, მას შეუძლია აჩვენოს ყველა ai ტეგიანი ელემენტი, რომელიც ბოლო კვირაში დაემატა.
გვერდების არქივირება
ნაგულისხმევად Karakeep ინახავს ამოღებულ ტექსტსა და გვერდის ხილული ნაწილის სქრინშოტს. დამატებით შეგიძლიათ ჩართოთ სრული გვერდის სნეპშოტი, PDF ან დამოუკიდებლად გასაშვები HTML-არქივი. ეს ბიბლიოთეკას მკვდარი ბმულებისგან იცავს, თუმცა დისკის გამოყენებას ზრდის.
ავტორიზაციის მიღმა მყოფი გვერდები, გაძლიერებული anti-bot-დაცვა და ინტერაქტიული აპლიკაციები შეიძლება სრულად ვერ შეინახოს. მნიშვნელოვანი მასალა უმჯობესია ცალკე PDF-ად ან ფაილად ატვირთოთ.
არჩევითი AI-ტეგირება
Karakeep-ს შეუძლია გარე OpenAI-compatible API-ის ან ლოკალური Ollama-მოდელის საშუალებით ტეგებისა და მოკლე შეჯამებების შექმნა. AI-ის გარეშეც აპლიკაცია სრულფასოვან სანიშნეების მენეჯერად რჩება.
ლოკალური მოდელი მასალებს გარე პროვაიდერთან არ აგზავნის, თუმცა მნიშვნელოვნად მეტ RAM-ს მოითხოვს. ამიტომ Ollama-ს ხშირად Karakeep-ის მთავარი ინსტანციისგან ცალკე ათავსებენ.
Karakeep-ის სერვერის მოთხოვნები
ოფიციალურ დოკუმენტაციაში CPU-სა და RAM-ის ფიქსირებული მინიმუმი მითითებული არ არის. სრული დაყენება სამ კონტეინერს მოიცავს:
- Karakeep მონაცემთა ბაზას ინახავს და ინტერფეისს ემსახურება;
- headless Chrome გვერდებს ხსნის, JavaScript-ს ასრულებს და სქრინშოტებს იღებს;
- Meilisearch ბიბლიოთეკის ინდექსირებას ახდენს.
ერთი მომხმარებლისთვის, ლოკალური LLM-ის გარეშე, პრაქტიკული კონფიგურაციაა:
- 2 vCPU;
- 2 GB RAM;
- 20–30 GB SSD ან NVMe;
- Ubuntu 24.04 LTS;
- საჯარო IP-მისამართი და დომენი.
რამდენიმე მომხმარებლის, დიდი იმპორტის, ბევრი RSS-არხისა და PDF-ებისთვის 4 GB RAM უფრო კომფორტულია. დისკის მოთხოვნა არქივირების რეჟიმზეა დამოკიდებული: ტექსტი მცირე ადგილს იკავებს, სრული სქრინშოტები, PDF-ები და ვიდეოები კი ბიბლიოთეკას სწრაფად ზრდის.
როგორ დავაყენოთ Karakeep VPS-ზე
ეს მაგალითი იყენებს Ubuntu 24.04-სა და ქვედომენს keep.example.com.
1. DNS-ისა და firewall-ის კონფიგურაცია
შექმენით A DNS-ჩანაწერი, რომელიც სერვერის 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 version3. 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 არ გამოაქვეყნოთ: პირველი საიდუმლო ავტორიზაციის ტოკენებს აწერს ხელს, მეორე კი Meilisearch-ს იცავს.
4. შიდა პორტის დახურვა
docker-compose.yml-ში ჩაანაცვლეთ:
ports:
- 3000:3000შემდეგით:
ports:
- 127.0.0.1:3000:3000ასე პორტი 3000 პირდაპირ ინტერნეტიდან ხელმისაწვდომი აღარ იქნება.
5. კონტეინერების გაშვება
cd /opt/karakeep
docker compose up -d
docker compose psweb, chrome და meilisearch სერვისები გაშვებული უნდა იყოს. ლოგები ნახეთ ბრძანებით:
docker compose logs --tail=2006. 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-ისთვის. ტელეფონზე ბმულის არქივში გაგზავნა სისტემის Share მენიუდან შეგიძლიათ.
არსებული სანიშნეების შემოტანა შესაძლებელია სტანდარტული ბრაუზერის HTML-ფაილიდან, Pocket-იდან, Omnivore-იდან და სხვა მხარდაჭერილი სერვისებიდან. დიდი არქივი ჯობს ნაწილებად დაამატოთ: სერვერმა გვერდები უნდა გახსნას, ტექსტი ამოიღოს, სქრინშოტები შექმნას და საძიებო ინდექსი ააგოს.
როგორ ჩავრთოთ AI და სრული გვერდის არქივირება
OpenAI-სთვის .env-ს დაამატეთ:
OPENAI_API_KEY=YOUR_API_KEYსხვა OpenAI-compatible სერვისს შეიძლება დამატებით დასჭირდეს OPENAI_BASE_URL. ლოკალური მოდელისთვის გამოიყენეთ OLLAMA_BASE_URL იმ მისამართით, რომელზეც კონტეინერიდან წვდომა არის შესაძლებელი.
გვერდის სრული ლოკალური ასლი ცალკე ჩართეთ:
CRAWLER_FULL_PAGE_ARCHIVE=trueასევე ხელმისაწვდომია პარამეტრები CRAWLER_FULL_PAGE_SCREENSHOT=true და CRAWLER_STORE_PDF=true. ყველა რეჟიმი აუცილებლობის გარეშე არ ჩართოთ: ისინი დისკის გამოყენებას შესამჩნევად ზრდის. .env-ის შეცვლის შემდეგ გაუშვით docker compose up -d.
უსაფრთხოება, განახლებები და სარეზერვო ასლები
Karakeep-ის crawler თქვენს სერვერულ ქსელში მომხმარებლის მიერ შენახულ მისამართებს ხსნის. ამიტომ რეგისტრაცია ღია არ დატოვოთ და წვდომა მხოლოდ სანდო ადამიანებს მიეცით. საბაზისო SSRF-დაცვა არსებობს, თუმცა საჯარო სერვისისთვის ოფიციალური პროექტი ბრაუზერის იზოლირებას ან შეზღუდულ proxy-ზე გადამისამართებას გირჩევთ.
ასევე გამოიყენეთ HTTPS, ძლიერი პაროლები, არ გამოაჩინოთ პორტი 3000 და კონტეინერები რეგულარულად განაახლეთ:
cd /opt/karakeep
docker compose up --pull always -dმთავარი მონაცემთა ბაზა და შენახული მასალები Docker-ის data სახელის მქონე volume-ში ინახება. მის დაკოპირებამდე გააჩერეთ კონტეინერები:
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 გულისხმობს, რომ პროექტის დირექტორია /opt/karakeep-ია; ამის გადამოწმება შეგიძლიათ docker volume ls-ით. Meilisearch-ის ინდექსის ხელახლა აგება შესაძლებელია, თუმცა დიდი ბიბლიოთეკისთვის სასარგებლოა karakeep_meilisearch volume-ის სარეზერვო ასლის შექმნაც.
არქივი /var/backups/karakeep-დან სხვა სერვერზე, NAS-ზე ან ობიექტურ საცავში გაგზავნეთ. იმავე VPS-ზე შენახული ასლი დისკის დაზიანებისა და ვირტუალური მანქანის წაშლისგან ვერ დაგიცავთ.
რომელი VPS ავირჩიოთ Karakeep-ისთვის
პირადი ბიბლიოთეკისთვის Ollama-ის გარეშე შესაფერისია Linux VPS 2 vCPU-ით, 2 GB RAM-ითა და 20–30 GB NVMe-ით. დიდი იმპორტის, რამდენიმე მომხმარებლისა და სრული არქივირებისთვის აირჩიეთ 4 GB RAM და უფრო დიდი დისკი.
Karakeep-ის გაშვება შეგიძლიათ tropic.host-ის VPS-ზე: მუდმივი IP-მისამართი დომენის კონფიგურაციას ამარტივებს, NVMe საცავი კი SQLite-ისთვის, საძიებო ინდექსისა და მრავალი პატარა ფაილისთვის გამოდგება. არქივის ზრდასთან ერთად რესურსების გაზრდაც შესაძლებელია.
ლოკალური Ollama-ს რესურსები ცალკე დაგეგმეთ: პატარა ენობრივ მოდელსაც კი შეიძლება უფრო მეტი მეხსიერება დასჭირდეს, ვიდრე Karakeep-ის მთავარ სტეკს მთლიანად.
დასკვნა
Karakeep მიმოფანტულ ბმულებს პირად, საძიებო ბიბლიოთეკად აქცევს. ის ინახავს გვერდებს, შენიშვნებს, სურათებსა და PDF-ებს და მხარს უჭერს OCR-ს, სიებს, გაფართოებებს, მობილურ აპლიკაციებსა და არჩევით AI-ტეგირებას.
დასაწყებად საკმარისია მცირე VPS, Docker Compose, დომენი და HTTPS. დაყენების შემდეგ დახურეთ რეგისტრაცია, აკონტროლეთ დისკის გამოყენება და შეინახეთ გარე სარეზერვო ასლი.
FAQ
Karakeep უფასოა?
თვითჰოსტინგზე გაშვებული ვერსია ღია კოდია და სავალდებულო გამოწერას არ მოითხოვს. იხდით VPS-ის, დომენის, სარეზერვო საცავისა და, საჭიროების შემთხვევაში, გარე AI API-ის საფასურს.
საჭიროა თუ არა API-გასაღები Karakeep-ის მუშაობისთვის?
არა. მასალების შენახვა და ინდექსირება, სიები, შენიშვნები, OCR და სრული ტექსტით ძიება AI-ის გარეშეც მუშაობს. მოდელი საჭიროა ავტომატური ტეგებისთვის, შეჯამებებისა და დაკავშირებული შესაძლებლობებისთვის.
რამდენი RAM სჭირდება Karakeep-ს?
ერთი მომხმარებლისთვის, Ollama-ის გარეშე, პრაქტიკული საწყისი წერტილია 2 GB RAM. დიდი იმპორტის, რამდენიმე მომხმარებლისა და აქტიური დამუშავებისთვის 4 GB უფრო მოსახერხებელია.
შემიძლია სანიშნეების ბრაუზერიდან ან Pocket-იდან იმპორტი?
დიახ. Karakeep მხარს უჭერს ბრაუზერის სანიშნეების სტანდარტულ HTML-ფაილს, Pocket-ს, Omnivore-სა და რამდენიმე სხვა ფორმატს. იმპორტის შემდეგ Karakeep გვერდებს ამუშავებს და ძიებაში ამატებს.
დარჩება თუ არა სტატია ხელმისაწვდომი, თუ ორიგინალი ვებსაიტი გაქრება?
Karakeep ინახავს ამოღებულ ტექსტსა და სქრინშოტს, ხოლო სრული არქივირების ჩართვისას — ლოკალურ ასლს ან PDF-ს. ავტორიზაციის მიღმა მყოფი გვერდები და რთული ვებაპლიკაციები შეიძლება მხოლოდ ნაწილობრივ შეინახოს.
