Tropic Host

VPS’da Karakeep: qidiruv va AI bilan shaxsiy xatcho‘plar arxivi

7 daqiqa o‘qish
Tropic
VPS’da Karakeep: qidiruv va AI bilan shaxsiy xatcho‘plar arxivi

Language: uz

Karakeep: VPS’da shaxsiy xatcho‘plar arxivini o‘rnatish

Havolani saqlash oson. Olti oy o‘tgach uni topish esa ancha qiyin — ayniqsa sahifa o‘zgargan, yo‘qolgan yoki yuzlab xatcho‘plar orasida ko‘rinmay qolgan bo‘lsa.

Karakeep nafaqat URL’ni, balki sahifa mazmuni, preview, qaydlar, rasmlar va PDF’larni ham saqlaydi. Arxiv bo‘ylab matn orqali qidirish, elementlarni ro‘yxatlarga ajratish va ularni AI yordamida avtomatik belgilash mumkin. Xizmat o‘z VPS’ingizda ishlaydi, til modelini ulash esa ixtiyoriy.

Quyida Karakeep imkoniyatlari, server talablari va Ubuntu 24.04’da Docker Compose, HTTPS hamda zaxira nusxalari bilan o‘rnatish tartibini ko‘rib chiqamiz.

Karakeep yetti bosqichda

  1. Linux VPS yarating va keep.example.com kabi subdomenni unga yo‘naltiring.
  2. Docker Engine va Docker Compose’ni o‘rnating.
  3. Rasmiy docker-compose.yml faylini yuklab oling.
  4. Maxfiy kalitlarni yarating va Karakeep, Chrome hamda Meilisearch’ni ishga tushiring.
  5. Ichki 3000-portni yoping va Caddy orqali HTTPS’ni yoqing.
  6. Birinchi hisobni yarating, keyin ochiq ro‘yxatdan o‘tishni o‘chiring.
  7. Brauzer kengaytmasi yoki mobil ilovani o‘rnating va xatcho‘plarni import qiling.

Xizmatni boshlash uchun AI kaliti shart emas. U bo‘lmasa ham sahifalarni saqlash, ro‘yxatlar, qaydlar, OCR va to‘liq matnli qidiruv ishlaydi. Faqat avtomatik teglar va qisqa xulosalar yaratilmaydi.

Karakeep nima?

Karakeep — havolalar, matnli qaydlar, rasmlar va PDF’larni yagona kutubxonada saqlash uchun ochiq kodli, o‘z serverida ishlaydigan dastur. Loyiha avval Hoarder deb atalgan.

Nom arabcha karakeeb so‘zidan kelib chiqqan: u tartibsiz ko‘rinadigan, ammo yashirin qiymatga ega bo‘lishi mumkin bo‘lgan sochilib yotgan narsalarni anglatadi. Bu odatiy xatcho‘plar to‘plamini aniq tasvirlaydi: foydali materiallar ko‘p, lekin keraklisini topish qiyin.

Havolani qo‘shganingizdan so‘ng Karakeep uning sarlavhasi va tavsifini oladi, o‘qiladigan matnni ajratadi, preview yaratadi va zarur bo‘lsa sahifaning mahalliy nusxasini saqlashi mumkin.

FunksiyaBrauzer xatcho‘plariKarakeep
Nima saqlanadiURL va sarlavhaMatn, preview, qaydlar va ilovalar
QidiruvSarlavha va manzil bo‘yichaMazmun, teglar va qaydlar bo‘yicha
Sahifa yo‘qolsaIshlamaydigan URL qoladiMatn, screenshot yoki to‘liq arxiv qoladi
Tashkil etishPapkalarTeglar, qo‘lda tuzilgan va aqlli ro‘yxatlar
KirishBrauzerdaWeb, kengaytmalar, iOS va Android
ServerBrauzer profili yoki uning bulut xizmatiSizning VPS yoki uy serveringiz

Karakeep’ning asosiy imkoniyatlari

Havolalar, qaydlar, rasmlar va PDF’lar

Har bir element havola, matnli qayd yoki yuklangan fayl bo‘lishi mumkin. OCR rasmlar va PDF’lardan matnni ajratadi, shuning uchun ular ham qidiriladigan bo‘ladi. Elementga qayd, iqtibos yoki qo‘shimcha fayl biriktirish mumkin.

Mazmun bo‘yicha qidiruv

Meilisearch saqlangan matn, qaydlar va metadata’ni indekslaydi. Aniq sarlavhani eslab qolish shart emas: biror ibora yoki mavzuning o‘zi yetarli. Embedding’lar sozlangan bo‘lsa, ma’no bo‘yicha semantik qidiruv ham mavjud.

Aqlli va hamkorlikdagi ro‘yxatlar

Bitta elementni dublikat yaratmasdan bir vaqtning o‘zida bir nechta ro‘yxatga qo‘shish mumkin. Ro‘yxat shaxsiy bo‘lib qolishi, havola orqali ulashilishi yoki boshqa foydalanuvchilar bilan birga tahrirlanishi mumkin.

Aqlli ro‘yxat — avtomatik yangilanadigan saqlangan qidiruv so‘rovi. Masalan, u o‘tgan hafta qo‘shilgan va ai tegi berilgan barcha elementlarni ko‘rsatishi mumkin.

Sahifalarni arxivlash

Odatiy holatda Karakeep ajratilgan matnni va sahifaning ko‘rinib turgan qismidan screenshot’ni saqlaydi. Bundan tashqari, to‘liq sahifa snapshot’i, PDF yoki mustaqil HTML arxivini yoqish mumkin. Bu kutubxonani o‘lik havolalardan himoya qiladi, ammo disk sarfini oshiradi.

Autentifikatsiya ortidagi sahifalar, kuchli anti-bot himoyasi va interaktiv ilovalar to‘liq saqlanmasligi mumkin. Muhim materiallarni alohida PDF yoki fayl sifatida yuklash ma’qul.

Ixtiyoriy AI teglash

Karakeep tashqi OpenAI-compatible API yoki mahalliy Ollama modeli orqali teglar va qisqa xulosalar yaratishi mumkin. AI bo‘lmasa ham dastur to‘liq funksional xatcho‘plar menejeri bo‘lib qoladi.

Mahalliy model materiallarni tashqi provayderga yubormaydi, lekin ancha ko‘p RAM talab qiladi. Shu sababli Ollama ko‘pincha asosiy Karakeep instansiyasidan alohida joylashtiriladi.

Karakeep uchun server talablari

Rasmiy hujjatlarda CPU va RAM uchun qat’iy minimum ko‘rsatilmagan. To‘liq o‘rnatma uchta konteynerdan iborat:

  • Karakeep ma’lumotlar bazasini saqlaydi va interfeysni taqdim etadi;
  • headless Chrome sahifalarni ochadi, JavaScript’ni bajaradi va screenshot oladi;
  • Meilisearch kutubxonani indekslaydi.

Mahalliy LLM’siz bitta foydalanuvchi uchun amaliy konfiguratsiya:

  • 2 vCPU;
  • 2 GB RAM;
  • 20–30 GB SSD yoki NVMe;
  • Ubuntu 24.04 LTS;
  • public IP manzil va domen.

Bir nechta foydalanuvchi, katta import, ko‘p RSS feed va PDF’lar uchun 4 GB RAM qulayroq. Disk talabi arxivlash rejimiga bog‘liq: matn kam joy egallaydi, to‘liq screenshot’lar, PDF va videolar esa kutubxonani tez kattalashtirishi mumkin.

Karakeep’ni VPS’ga qanday o‘rnatish kerak

Bu misolda Ubuntu 24.04 va keep.example.com subdomenidan foydalaniladi.

1. DNS va firewall’ni sozlang

Server IP manziliga yo‘naltirilgan A DNS yozuvini yarating, so‘ng SSH orqali ulaning:

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

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

Yangi ulanish ishlashini tekshirmaguningizcha joriy SSH sessiyasini yopmang.

2. Docker’ni o‘rnating

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 konfiguratsiyasini yuklab oling

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

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

Ikki xil maxfiy kalit yarating:

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

/opt/karakeep/.env faylini yarating:

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 faylini e’lon qilmang: birinchi maxfiy kalit autentifikatsiya tokenlarini imzolaydi, ikkinchisi esa Meilisearch’ni himoya qiladi.

4. Ichki portni yoping

docker-compose.yml ichida quyidagini:

ports:
  - 3000:3000

quyidagiga almashtiring:

ports:
  - 127.0.0.1:3000:3000

Bu 3000-portga internetdan to‘g‘ridan-to‘g‘ri kirishni oldini oladi.

5. Konteynerlarni ishga tushiring

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

web, chrome va meilisearch xizmatlari ishlayotgan bo‘lishi kerak. Loglarni quyidagicha ko‘ring:

docker compose logs --tail=200

6. HTTPS’ni yoqing

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 sozlangan va 80 hamda 443-portlar ochiq bo‘lsa, Caddy TLS sertifikatini avtomatik oladi. Keyin https://keep.example.com manzilini oching.

7. Administrator yarating va ro‘yxatdan o‘tishni yoping

Birinchi ro‘yxatdan o‘tgan foydalanuvchi avtomatik ravishda administrator bo‘ladi. Hisob yaratgandan so‘ng .env ichida quyidagini belgilang:

DISABLE_SIGNUPS=true

O‘zgarishni qo‘llang:

cd /opt/karakeep
docker compose up -d

Administrator boshqa hisoblarni ham qo‘lda yarata oladi.

Ma’lumotlar, kengaytmalar va mobil ilovalarni import qilish

Karakeep Chrome, Firefox va Safari uchun kengaytmalarni, shuningdek iOS va Android ilovalarini taklif qiladi. Telefonda havolani tizimning Share menyusi orqali arxivga yuborish mumkin.

Mavjud xatcho‘plarni standart brauzer HTML fayli, Pocket, Omnivore va boshqa qo‘llab-quvvatlanadigan xizmatlardan import qilish mumkin. Katta arxivni bo‘lib import qilish ma’qul: server sahifalarni ochishi, matnni ajratishi, screenshot yaratishi va qidiruv indeksini tuzishi kerak.

AI va to‘liq sahifa arxivini qanday yoqish kerak

OpenAI uchun .env fayliga quyidagini qo‘shing:

OPENAI_API_KEY=YOUR_API_KEY

Boshqa OpenAI-compatible xizmat uchun qo‘shimcha ravishda OPENAI_BASE_URL talab qilinishi mumkin. Mahalliy model uchun konteynerdan foydalanish mumkin bo‘lgan manzil bilan OLLAMA_BASE_URL ni ishlating.

Sahifaning to‘liq mahalliy nusxasini alohida yoqing:

CRAWLER_FULL_PAGE_ARCHIVE=true

CRAWLER_FULL_PAGE_SCREENSHOT=true va CRAWLER_STORE_PDF=true parametrlari ham mavjud. Zarur bo‘lmasa barcha rejimlarni yoqmang: ular disk sarfini sezilarli oshiradi. .env o‘zgargach, docker compose up -d buyrug‘ini bajaring.

Xavfsizlik, yangilanishlar va zaxira nusxalari

Karakeep crawler’i serveringiz tarmog‘idan foydalanuvchi saqlagan manzillarni ochadi. Shuning uchun ro‘yxatdan o‘tishni ochiq qoldirmang va kirishni faqat ishonchli odamlarga bering. Asosiy SSRF himoyasi mavjud, ammo public xizmat uchun loyiha rasmiy hujjatlari brauzerni ajratishni yoki cheklangan proxy orqali yo‘naltirishni tavsiya qiladi.

Bundan tashqari, HTTPS’dan foydalaning, kuchli parollar o‘rnating, 3000-portni tashqariga chiqarmang va konteynerlarni muntazam yangilang:

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

Asosiy database va saqlangan materiallar data nomli Docker volume’da joylashadi. Nusxa olishdan oldin konteynerlarni to‘xtating:

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 nomi loyiha katalogi /opt/karakeep deb faraz qiladi; uni docker volume ls bilan tekshirishingiz mumkin. Meilisearch indeksini qayta qurish mumkin, ammo katta kutubxona uchun karakeep_meilisearch volume’ini ham zaxiralash foydali.

/var/backups/karakeep ichidagi arxivni boshqa server, NAS yoki object storage’ga yuboring. Xuddi shu VPS’dagi nusxa disk ishdan chiqishi yoki virtual mashina o‘chirilishidan himoya qilmaydi.

Karakeep uchun qaysi VPS’ni tanlash kerak

Ollama’siz shaxsiy kutubxona uchun 2 vCPU, 2 GB RAM va 20–30 GB NVMe’ga ega Linux VPS mos keladi. Katta import, bir nechta foydalanuvchi va to‘liq arxivlash uchun 4 GB RAM hamda kattaroq disk tanlang.

Karakeep’ni tropic.host VPS’ida ishlatish mumkin: doimiy IP manzil domenni sozlashni osonlashtiradi, NVMe esa SQLite, qidiruv indeksi va ko‘plab kichik fayllar uchun foydali. Arxiv kattalashgani sari resurslarni oshirish mumkin.

Mahalliy Ollama resurslarini alohida rejalashtiring: hatto kichik til modeli ham asosiy Karakeep stack’ining barchasidan ko‘proq xotira talab qilishi mumkin.

Xulosa

Karakeep tarqoq havolalarni shaxsiy va qidiriladigan kutubxonaga aylantiradi. U sahifalar, qaydlar, rasmlar va PDF’larni saqlaydi, OCR, ro‘yxatlar, kengaytmalar, mobil ilovalar va ixtiyoriy AI teglashni qo‘llab-quvvatlaydi.

Boshlash uchun kichik VPS, Docker Compose, domen va HTTPS yetarli. O‘rnatgandan so‘ng ro‘yxatdan o‘tishni yoping, disk sarfini kuzating va tashqi zaxira nusxasini saqlang.

FAQ

Karakeep bepulmi?

Self-hosted versiyasi ochiq kodli va majburiy obunani talab qilmaydi. VPS, domen, zaxira xotirasi va kerak bo‘lsa tashqi AI API uchun haq to‘laysiz.

Karakeep ishlashi uchun API kaliti kerakmi?

Yo‘q. Materiallarni saqlash va indekslash, ro‘yxatlar, qaydlar, OCR hamda to‘liq matnli qidiruv AI’siz ishlaydi. Avtomatik teglar, xulosalar va o‘xshash imkoniyatlar uchun model kerak.

Karakeep’ga qancha RAM kerak?

Ollama’siz bitta foydalanuvchi uchun amaliy boshlang‘ich nuqta 2 GB RAM. Katta import, bir nechta foydalanuvchi va faol qayta ishlash uchun 4 GB qulayroq.

Brauzer yoki Pocket’dan xatcho‘plarni import qila olamanmi?

Ha. Karakeep standart brauzer xatcho‘plari HTML fayli, Pocket, Omnivore va boshqa formatlarni qo‘llab-quvvatlaydi. Importdan keyin Karakeep sahifalarni qayta ishlab, qidiruvga qo‘shadi.

Asl sayt yo‘qolsa, maqola ham ochiladimi?

Karakeep ajratilgan matn va screenshot’ni, to‘liq arxivlash yoqilgan bo‘lsa mahalliy nusxa yoki PDF’ni saqlaydi. Autentifikatsiya ortidagi sahifalar va murakkab web-ilovalar faqat qisman saqlanishi mumkin.