- Contexto e objetivo
- O que é o Karakeep?
- Minha configuração no homelab
- Configurar um contêiner LXC no Proxmox
- 1) Baixar o template e criar o contêiner
- 2) Ativar os recursos do LXC para o Docker
- 3) Contêiner não privilegiado ou privilegiado
- Instalação: Karakeep com Docker em um contêiner LXC do Proxmox
- 1) Preparar o contêiner LXC
- 2) Criar a pasta do projeto e os arquivos
- 3) Ajustar o arquivo .env
- 4) Ajustar o docker-compose.yml
- 5) Iniciar e atualizar o Karakeep
- Configuração explicada rapidamente
- Salvar vídeos com o Karakeep
- Extensões de navegador e aplicativos
- Recursos de importação
- Karakeep e Linkwarden: comparação
- Alternativas
- Backup, restauração e migração
- Segurança e operação
- Dicas de desempenho
- Solução de problemas no LXC
- Perguntas frequentes
- Glossário
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?
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
1) Baixar o template e criar o contêiner
- Na árvore à esquerda do Proxmox, abra o armazenamento de templates e baixe o template padrão do Ubuntu 22.04 em «Templates».
- 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.
- Escolha o nó, o ID do contêiner e um nome de host, por exemplo
- 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
nestingekeyctl. 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.
- mudar o contêiner para o modo privilegiado e adicionar em
#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ção | Efeito | Recursos necessários |
|---|---|---|
CRAWLER_STORE_SCREENSHOT | Cria uma captura de tela por página | Médio |
CRAWLER_FULL_PAGE_SCREENSHOT | Captura longa da página inteira; avisos de cookies podem aparecer | Alto |
CRAWLER_FULL_PAGE_ARCHIVE | Cópia local da página | Alto |
CRAWLER_VIDEO_DOWNLOAD | Baixa vídeos com o yt-dlp | Alto, dependendo do tamanho |
OCR_LANGS | OCR para imagens e PDFs | Exige bastante CPU |
MAX_ASSET_SIZE_MB | Tamanho máximo do arquivo enviado | Depende do valor |
DISABLE_SIGNUPS | Desativa novos cadastros | Sem 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
- Extensão Google Chrome: https://chromewebstore.google.com/detail/karakeep/kgcjekpmcjjogibpjebkhaanilehneje
- Complemento para Mozilla Firefox: https://addons.mozilla.org/en-US/firefox/addon/karakeep/
- App Android: https://play.google.com/store/apps/details?id=app.hoarder.hoardermobile
- Aplicativo iOS: https://apps.apple.com/us/app/karakeep-app/id6479258022
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,
jqcombine-os antes de importar para o Karakeep. - Linkwarden: há um importador que facilita a migração.
Karakeep e Linkwarden: comparação
| Critério | Karakeep | Linkwarden |
|---|---|---|
| Tipos de dados | Links, notas, imagens, PDFs, arquivos de páginas completas e vídeos | Favoritos com arquivamento avançado, PDFs e capturas de tela |
| Busca | Pesquisa de texto completo com Meilisearch | Texto completo e visualização do arquivo |
| Arquivamento de vídeos | Integrado por variáveis de ambiente | Mais comum por ferramentas externas ou fluxos de trabalho |
| Móvel | Aplicativos nativos e extensões de navegador | PWA e aplicativos comunitários |
| Recursos de IA | Opcional via OpenAI ou localmente com Ollama | Disponível, dependendo da versão e configuração. |
| Hospedagem | Docker Compose como padrão | Docker Compose como padrão |
| Funções da equipe | Disponíveis e em desenvolvimento | Disponí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
./datafazer backup - Volume do Docker
meilisearchfazer 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
chromeserviç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
./dataindicado
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
.envarquivo que atuam nos contêineres durante a execução
Este artigo foi traduzido com a ajuda de IA.
















