Instalar e usar o Karakeep: gerenciador de favoritos auto-hospedado comparado ao Linkwarden

Contexto e objetivo

O Karakeep, antes chamado Hoarder, é um gerenciador de favoritos auto-hospedado para links, imagens, PDFs, vídeos e notas. Ele coleta metadados automaticamente e pode criar capturas de tela ou cópias completas das páginas e pesquisar seu conteúdo. Apresento os recursos, a instalação com Docker em um contêiner LXC do Proxmox, as diferenças em relação ao Linkwarden e as alternativas. Você também encontrará dicas sobre desempenho, backups, segurança e como salvar vídeos do YouTube com o Karakeep.

O que é o Karakeep?

karakeep-installation-27

karakeep-installation-27

karakeep-installation-29

karakeep-installation-29

karakeep-installation-30

karakeep-installation-30

karakeep-installation-31

karakeep-installation-31

karakeep-installation-33

karakeep-installation-33

Em resumo, o Karakeep é seu arquivo pessoal de conhecimento. Você reúne páginas da web, notas, imagens e PDFs, organiza tudo em listas e sublistas e adiciona etiquetas. A pesquisa usa o Meilisearch. Opcionalmente, a IA pode criar etiquetas automaticamente por meio da OpenAI ou, localmente, do Ollama. Também há OCR para textos em imagens, arquivamento de páginas inteiras, capturas de tela e download de vídeos com o yt-dlp.

Casos de uso comuns:

  • Pesquisa para artigos de blog, palestras ou projetos de clientes
  • Moodboards para idéias de design, campanhas e web design
  • Recolha de instruções, trechos de código e documentação
  • Revista digital com recurso de leitura posterior

Minha configuração no homelab

Uso o Karakeep no seguinte sistema:

Host Proxmox

  • Proxmox 8.4.1 na HP ProDesk 400 G7 SFF
  • CPU Intel i5-10500, 48 GB de RAM, 2T NVME SSD

Contêiner LXC

  • Ubuntu 22.04
  • Início automático: sim
  • Nesting: sim
  • Keyctl: sim
  • Inicialmente, 2 núcleos e 2 GB de RAM; depois, 6 núcleos e 6 GB de RAM
  • Swap: inicialmente 4 GB; depois, 8 GB
  • Disco: 96 GB

Dica prática: 2 núcleos e 2 GB de RAM bastam para começar. Para arquivos grandes, muitos uploads, várias tarefas simultâneas do rastreador ou OCR, mais núcleos e RAM melhoram bastante o desempenho.

Configurar um contêiner LXC no Proxmox

karakeep-installation-02

karakeep-installation-02

karakeep-installation-03

karakeep-installation-03

karakeep-installation-04

karakeep-installation-04

karakeep-installation-05

karakeep-installation-05

karakeep-installation-06

karakeep-installation-06

karakeep-installation-07

karakeep-installation-07

karakeep-installation-08

karakeep-installation-08

karakeep-installation-09

karakeep-installation-09

karakeep-installation-10

karakeep-installation-10

karakeep-installation-12

karakeep-installation-12

1) Baixar o template e criar o contêiner

  1. Na árvore à esquerda do Proxmox, abra o armazenamento de templates e baixe o template padrão do Ubuntu 22.04 em «Templates».
  2. Novo → Contêiner LXC:
    • Escolha o nó, o ID do contêiner e um nome de host, por exemplo karakeep.
    • Configurando a senha.
    • Modelo: Ubuntu 22.04.
    • Disco raiz: entre 60 e 120 GB em SSD ou NVMe.
    • CPU: comece com 2 núcleos e aumente depois, se necessário.
    • RAM: comece com 2 GB e 4 GB de swap.
    • Rede: bridge vmbr0, IPv4 DHCP ou IP fixo.
    • DNS: automaticamente ou 1.1.1.1 e 9.9.9.9.
  3. Marque a opção de iniciar com o sistema.

2) Ativar os recursos do LXC para o Docker

Depois de criar o contêiner, selecione-o → Opções:

  • Recursos → ativar Keyctl
  • Recursos → ativar Nesting

Assim, o Docker e o serviço Chrome sem interface gráfica usado para capturas de tela funcionam de forma mais confiável.

3) Contêiner não privilegiado ou privilegiado

  • Recomendação: contêiner LXC não privilegiado com os recursos nesting e keyctl. Essa opção é mais segura.
  • Se o Docker apresentar problemas no LXC (por exemplo, com Chrome ou cgroups), há duas opções:
    • mudar o contêiner para o modo privilegiado e adicionar em /<CTID>.conf:
    • Ou usar uma pequena VM com Ubuntu em vez de LXC. Isso evita alguns casos especiais, mas consome um pouco mais de recursos.
#nano /etc/pve/lxc/<ctid>.conf

lxc.apparmor.profile: unconfined
lxc.cgroup2.devices.allow: a
lxc.cap.drop:
lxc.mount.auto: "proc:rw sys:rw cgroup:rw"

Use um contêiner privilegiado apenas se necessário e documente a escolha.

Instalação: Karakeep com Docker em um contêiner LXC do Proxmox

1) Preparar o contêiner LXC

No Proxmox, escolha Ubuntu 22.04 para o contêiner LXC e ative Nesting e Keyctl. Depois, dentro do contêiner:

sudo apt update
sudo apt upgrade -y
sudo apt install -y zip bzip2 gzip unzip htop git wget curl nano

Instalar Docker:

sudo apt update
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# falls du einen anderen Benutzer als root verwendest
# sudo groupadd docker
# sudo usermod -aG docker $USER

2) Criar a pasta do projeto e os arquivos

mkdir karakeep && cd karakeep
wget https://raw.githubusercontent.com/karakeep-app/karakeep/main/docker/docker-compose.yml
wget -O .env https://raw.githubusercontent.com/karakeep-app/karakeep/main/docker/.env.sample

3) Ajustar o arquivo .env

Você também pode gerar online chaves secretas para o arquivo de configuração: randomkeygen.com

Defina pelo menos:

KARAKEEP_VERSION=release
DATA_DIR=/data
MEILI_ADDR=http://127.0.0.1:7700
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=<openssl rand -base64 36>
MEILI_MASTER_KEY=<openssl rand -base64 36 | tr -dc 'A-Za-z0-9'>

Minhas configurações adicionais para mídia, OCR e vídeos:

MAX_ASSET_SIZE_MB=200
CRAWLER_ENABLE_ADBLOCKER=true
# wird fuer den YouTube Video Download benoetigt
CRAWLER_VIDEO_DOWNLOAD=true
CRAWLER_VIDEO_DOWNLOAD_MAX_SIZE=5000000
CRAWLER_VIDEO_DOWNLOAD_TIMEOUT_SEC=7200

DISABLE_SIGNUPS=true #deaktiviert die Registrierung in Karakeep

CRAWLER_DOWNLOAD_BANNER_IMAGE=true
CRAWLER_STORE_SCREENSHOT=true
CRAWLER_FULL_PAGE_SCREENSHOT=true
CRAWLER_FULL_PAGE_ARCHIVE=true
OCR_LANGS=deu,eng #Deutsch und Englisch

4) Ajustar o docker-compose.yml

Armazeno os dados em uma subpasta ./data ao lado do arquivo Compose. Isso facilita os backups e permite acessar os arquivos diretamente se surgir um problema.

services:
  web:
    image: ghcr.io/karakeep-app/karakeep:${KARAKEEP_VERSION:-release}
    restart: unless-stopped
    volumes:
      - ./data:/data # Bind Mount angepasst

5) Iniciar e atualizar o Karakeep

docker compose up -d

Interface web: http://<deine-ip>:3000.
Estratégia de atualização: aumente a versão em .env ou continue no canal de lançamento e reinicie após baixar as imagens novas. Antes da atualização, faça backup da ./data pasta e do volume do Meilisearch.

Configuração explicada rapidamente

ConfiguraçãoEfeitoRecursos necessários
CRAWLER_STORE_SCREENSHOTCria uma captura de tela por páginaMédio
CRAWLER_FULL_PAGE_SCREENSHOTCaptura longa da página inteira; avisos de cookies podem aparecerAlto
CRAWLER_FULL_PAGE_ARCHIVECópia local da páginaAlto
CRAWLER_VIDEO_DOWNLOADBaixa vídeos com o yt-dlpAlto, dependendo do tamanho
OCR_LANGSOCR para imagens e PDFsExige bastante CPU
MAX_ASSET_SIZE_MBTamanho máximo do arquivo enviadoDepende do valor
DISABLE_SIGNUPSDesativa novos cadastrosSem efeito

Salvar vídeos com o Karakeep

Essa função usa o yt-dlp. Ative-a com CRAWLER_VIDEO_DOWNLOAD=true e defina limites adequados com CRAWLER_VIDEO_DOWNLOAD_MAX_SIZE e CRAWLER_VIDEO_DOWNLOAD_TIMEOUT_SEC. Confira os termos de uso de cada plataforma. Vídeos longos exigem espaço de armazenamento suficiente e um tempo limite generoso.

Extensões de navegador e aplicativos

As extensões salvam a página atual com um clique, incluindo etiquetas e a lista de destino.

Recursos de importação

  • Chrome e Firefox: exporte os favoritos em HTML e importe-os nas configurações do Karakeep.
  • PocketImportar CSV da exportação.
  • Omnivore: exporte os arquivos JSON e, opcionalmente, jq combine-os antes de importar para o Karakeep.
  • Linkwarden: há um importador que facilita a migração.

Karakeep e Linkwarden: comparação

CritérioKarakeepLinkwarden
Tipos de dadosLinks, notas, imagens, PDFs, arquivos de páginas completas e vídeosFavoritos com arquivamento avançado, PDFs e capturas de tela
BuscaPesquisa de texto completo com MeilisearchTexto completo e visualização do arquivo
Arquivamento de vídeosIntegrado por variáveis de ambienteMais comum por ferramentas externas ou fluxos de trabalho
MóvelAplicativos nativos e extensões de navegadorPWA e aplicativos comunitários
Recursos de IAOpcional via OpenAI ou localmente com OllamaDisponível, dependendo da versão e configuração.
HospedagemDocker Compose como padrãoDocker Compose como padrão
Funções da equipeDisponíveis e em desenvolvimentoDisponíveis e consolidados

Em resumo, o Karakeep é versátil e, além de favoritos, gerencia arquivos de mídia e notas. O Linkwarden se destaca pela visualização de arquivos especialmente aprimorada e pela PWA. Quem salva muitos vídeos e capturas de tela aproveita os recursos integrados do Karakeep.

Alternativas

  • Raindrop Serviço de nuvem com bela interface e muitas integrações
  • Instapaper – Serviço clássico de leitura posterior
  • wallabag, LinkAce, Linkding, Shaarli Fonte aberta para auto-anfitrião.
  • Pocket – Serviço descontinuado ou em processo de encerramento: exporte os dados e migre
  • Linkwarden Gerente de favoritos auto hospedado

Backup, restauração e migração

Backup

  • Pasta ./data fazer backup
  • Volume do Docker meilisearch fazer backup
  • Opcionais backups ou instantâneos no host Proxmox

Restauração

  • Parar os contêineres
  • Restaurar a pasta de dados e o volume
  • Iniciar os contêineres

Migração

  • Exportar dados do Pocket, Omnivore, Linkwarden ou do navegador
  • Importar para Karakeep através das configurações

Segurança e operação

  • Colocar o Karakeep atrás de um proxy reverso com HTTPS
  • DISABLE_SIGNUPS=true, se apenas você usa o serviço
  • Conexão opcional para SSO
  • Atualizações regulares e backups
  • Monitorar o espaço de armazenamento, especialmente para páginas completas e vídeos
  • Para LXC: usar uma versão recente do Proxmox e ativar Nesting e Keyctl

Dicas de desempenho

  • Mais núcleos de CPU aceleram o rastreador, o OCR e o processamento de vídeos
  • Use SSD ou NVMe para o diretório de dados
  • CRAWLER_FULL_PAGE_* Ative só onde você realmente precisa.
  • Planejar um disco separado ou armazenamento de objetos para arquivos grandes de mídia

Solução de problemas no LXC

  • Iniciar o contêiner com Nesting e Keyctl
  • Se o Docker falhar no LXC não privilegiado, mudar para um contêiner privilegiado, ajustar as regras do AppArmor ou, em último caso, desinstalar o AppArmor
  • Verificar se o chrome serviço está em execução, pois o Karakeep o usa para capturas de tela e rastreamento sem interface gráfica
  • Portos 3000 e 9222 não bloqueados por firewalls
  • Se houver problemas de permissão, conferir as permissões do caminho ./data indicado

Perguntas frequentes

Karakeep é livre e de código aberto?
Sim. O Karakeep é de código aberto e foi feito para auto-hospedagem.

Preciso do OpenAI para procurar ou marcar?
Não. A pesquisa funciona localmente com o Meilisearch. A etiquetagem por IA é opcional e pode usar a OpenAI ou o Ollama em execução local.

Posso salvar vídeos do YouTube?
Sim, com CRAWLER_VIDEO_DOWNLOAD=true O Karakeep usa o yt-dlp. Observe o limite de tamanho de arquivo, o tempo limite e as exigências legais.

Como faço para atualizar Karakeep?
Faça um backup, atualize a versão ou baixe imagens novas e depois docker compose up -d Executar. Alternativamente, você também pode fazer backup do LXC em Proxmox, manualmente ou regularmente por Cron.

Onde é melhor armazenar os dados?
Na ./data no host ou em um armazenamento de objetos compatível com S3. Backups regulares são importantes.

Glossário

  • Karakeep – Gerenciador de favoritos auto-hospedado, antes chamado Hoarder
  • Linkwarden – Alternativa auto-hospedada para favoritos com ótima visualização de arquivos
  • Meilisearch – Slim busca de texto completo, usado por Karakeep
  • OCR Reconhecimento de texto para imagens e PDFs digitalizados.
  • yt-dlp – Ferramenta de download usada pelo Karakeep para arquivar vídeos
  • Monolith – Ferramenta que cria arquivos HTML em um único arquivo para guardar páginas completas
  • Ollama – Servidor de IA local que permite criar etiquetas e resumos sem recorrer à nuvem
  • Armazenamento S3 Armazenamento de objetos como MinIO ou serviços de nuvem, adequados para grandes dados de mídia.
  • PWA Aplicativo web progressivo, instalável como um aplicativo, é executado no navegador
  • Docker Compose – Define serviços com vários contêineres em um arquivo YAML
  • LXC – Contêineres leves no Proxmox, com bom desempenho e pouca sobrecarga
  • LXC Privilegiado – Contêiner com permissões ampliadas, necessário para algumas configurações do Docker
  • AppArmor – Módulo de segurança Linux, pode ser personalizado em ambientes LXC
  • Proxy reverso – Servidor web intermediário, como Nginx ou Traefik, que cuida do HTTPS, do roteamento e dos cabeçalhos
  • Segredo NextAuth – Chave secreta para a camada de autenticação em Karakeep
  • Variáveis ENV – Valores de configuração da .env arquivo que atuam nos contêineres durante a execução

Este artigo foi traduzido com a ajuda de IA.

Durchschnittliche Bewertung 0 / 5. Bewertungen: 0

Leave a Comment

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Scroll to Top