Tropic Host

Karakeep-ը VPS-ում․ սեփական էջանիշերի արխիվ՝ որոնմամբ և AI-ով

2 րոպե կարդալ
Tropic
Karakeep-ը VPS-ում․ սեփական էջանիշերի արխիվ՝ որոնմամբ և AI-ով

Language: hy

Karakeep․ անձնական էջանիշերի արխիվի տեղադրում VPS-ում

Հղում պահպանելը հեշտ է։ Վեց ամիս անց այն գտնելը շատ ավելի դժվար է, հատկապես երբ էջը փոխվել է, անհետացել կամ կորել է հարյուրավոր էջանիշերի մեջ։

Karakeep-ը պահպանում է ոչ միայն URL-ը, այլև էջի բովանդակությունը, նախադիտումը, նշումները, պատկերներն ու PDF-երը։ Արխիվում կարելի է որոնել տեքստով, նյութերը դասավորել ցուցակներում և AI-ի միջոցով ավտոմատ թեգավորել։ Այն աշխատում է ձեր VPS-ում, իսկ լեզվական մոդելի միացումը պարտադիր չէ։

Ստորև կքննարկենք Karakeep-ի հնարավորությունները, սերվերի պահանջները և Ubuntu 24.04-ում Docker Compose-ով, HTTPS-ով ու պահուստային պատճեններով տեղադրումը։

Karakeep-ը յոթ քայլով

  1. Ստեղծեք Linux VPS և ենթադոմեյն, օրինակ՝ keep.example.com, ուղղեք դեպի այն։
  2. Տեղադրեք Docker Engine-ը և Docker Compose-ը։
  3. Ներբեռնեք պաշտոնական docker-compose.yml-ը։
  4. Ստեղծեք գաղտնի բանալիները և գործարկեք Karakeep-ը, Chrome-ը և Meilisearch-ը։
  5. Փակեք ներքին 3000 պորտը և միացրեք HTTPS-ը Caddy-ի միջոցով։
  6. Ստեղծեք առաջին հաշիվը, ապա անջատեք բաց գրանցումը։
  7. Տեղադրեք բրաուզերի ընդլայնումը կամ բջջային հավելվածը և ներմուծեք էջանիշերը։

Ծառայությունը սկսելու համար AI բանալի պետք չէ։ Առանց դրա էջերի պահպանումը, ցուցակները, նշումները, OCR-ը և ամբողջական տեքստային որոնումը կշարունակեն աշխատել։ Ավտոմատ թեգեր և ամփոփումներ չեն ստեղծվի։

Ի՞նչ է Karakeep-ը

Karakeep-ը բաց կոդով, ինքնուրույն հոսթինգով աշխատող հավելված է՝ հղումները, տեքստային նշումները, պատկերներն ու PDF-երը մեկ գրադարանում պահելու համար։ Նախկինում նախագիծը կոչվում էր Hoarder։

Անվանումը գալիս է արաբերեն karakeeb բառից, որը նկարագրում է ցրված իրերը․ դրանք կարող են թվալ խառնաշփոթ, բայց ունենալ թաքնված արժեք։ Սա լավ բնութագրում է էջանիշերի սովորական հավաքածուն․ օգտակար նյութը շատ է, սակայն ճիշտ նյութը գտնելը դժվար է։

Հղում ավելացնելուց հետո Karakeep-ը ստանում է դրա վերնագիրն ու նկարագրությունը, առանձնացնում ընթեռնելի տեքստը, ստեղծում նախադիտում և անհրաժեշտության դեպքում կարող է պահպանել էջի տեղական պատճենը։

ՀնարավորությունԲրաուզերի էջանիշերKarakeep
Ի՞նչ է պահվումURL և վերնագիրՏեքստ, նախադիտում, նշումներ և կցորդներ
ՈրոնումՎերնագրով և հասցեովԲովանդակությամբ, թեգերով և նշումներով
Եթե էջը անհետանաՄնում է կոտրված URLՄնում է տեքստ, սքրինշոթ կամ ամբողջական արխիվ
ԿազմակերպումԹղթապանակներԹեգեր, ձեռքով ստեղծված և խելացի ցուցակներ
ՄուտքԲրաուզերումՎեբ, ընդլայնումներ, iOS և Android
ՍերվերԲրաուզերի պրոֆիլ կամ դրա ամպային ծառայությունՁեր VPS-ը կամ տնային սերվերը

Karakeep-ի հիմնական հնարավորությունները

Հղումներ, նշումներ, պատկերներ և PDF-եր

Յուրաքանչյուր տարր կարող է լինել հղում, տեքստային նշում կամ վերբեռնված ֆայլ։ OCR-ը պատկերներից և PDF-երից առանձնացնում է տեքստը, ուստի դրանք նույնպես դառնում են որոնելի։ Տարրին կարելի է կցել նշում, մեջբերում կամ լրացուցիչ ֆայլ։

Բովանդակության որոնում

Meilisearch-ը ինդեքսավորում է պահված տեքստը, նշումները և մետատվյալները։ Պետք չէ հիշել ճշգրիտ վերնագիրը․ բավական է արտահայտությունը կամ թեման։ Երբ embeddings-ը կարգավորված է, հասանելի է նաև իմաստային որոնումը։

Խելացի և համատեղ ցուցակներ

Մեկ տարրը կարող է միաժամանակ պատկանել մի քանի ցուցակի՝ առանց կրկնօրինակման։ Ցուցակը կարող է մնալ անձնական, կիսվել հղումով կամ խմբագրվել այլ օգտատերերի հետ միասին։

Խելացի ցուցակը պահպանված որոնման հարցում է, որն ինքնաբերաբար թարմացվում է։ Օրինակ՝ այն կարող է ցուցադրել բոլոր ai թեգով տարրերը, որոնք ավելացվել են վերջին շաբաթվա ընթացքում։

Էջերի արխիվացում

Լռելյայն Karakeep-ը պահպանում է հանված տեքստը և էջի տեսանելի հատվածի սքրինշոթը։ Լրացուցիչ կարելի է միացնել ամբողջական էջի snapshot, 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 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 ֆայլը մի հրապարակեք․ առաջին գաղտնի բանալին ստորագրում է նույնականացման թոքենները, իսկ երկրորդը պաշտպանում է 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 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-ի համար։ Հեռախոսից հղումը կարելի է արխիվ ուղարկել համակարգի 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

Հիմնական տվյալների բազան և պահպանված նյութերը գտնվում են data անունով Docker 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-ի համար։

Karakeep-ի աշխատանքի համար API բանալի պե՞տք է

Ոչ։ Նյութերի պահպանումն ու ինդեքսավորումը, ցուցակները, նշումները, OCR-ը և ամբողջական տեքստային որոնումը աշխատում են առանց AI-ի։ Մոդել է պետք ավտոմատ թեգերի, ամփոփումների և հարակից հնարավորությունների համար։

Որքա՞ն RAM է պետք Karakeep-ին

Մեկ օգտատիրոջ համար առանց Ollama-ի գործնական մեկնարկային տարբերակը 2 GB RAM-ն է։ Մեծ ներմուծման, մի քանի օգտատիրոջ և ակտիվ մշակման համար 4 GB-ն ավելի հարմար է։

Կարո՞ղ եմ էջանիշերը ներմուծել բրաուզերից կամ Pocket-ից

Այո։ Karakeep-ն աջակցում է բրաուզերի էջանիշերի ստանդարտ HTML ֆայլին, Pocket-ին, Omnivore-ին և մի քանի այլ ձևաչափերի։ Ներմուծումից հետո Karakeep-ը մշակում է էջերը և ավելացնում դրանք որոնման մեջ։

Արդյո՞ք հոդվածը հասանելի կմնա, եթե սկզբնական կայքը անհետանա

Karakeep-ը պահպանում է հանված տեքստն ու սքրինշոթը, իսկ ամբողջական արխիվացման դեպքում՝ տեղական պատճենը կամ PDF-ը։ Նույնականացում պահանջող էջերը և բարդ վեբ հավելվածները կարող են պահպանվել միայն մասամբ։