Language: hy
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-ը պահպանում է հանված տեքստը և էջի տեսանելի հատվածի սքրինշոթը։ Լրացուցիչ կարելի է միացնել ամբողջական էջի 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 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Հիմնական տվյալների բազան և պահպանված նյութերը գտնվում են 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 startkarakeep_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-ը։ Նույնականացում պահանջող էջերը և բարդ վեբ հավելվածները կարող են պահպանվել միայն մասամբ։
