Como ser seu próprio Linkwarden Auto-Host: Uma mistura de Wayback Machine e Gerenciador de Favoritos.

Os marcadores podem falhar sem aviso. Após salvar uma página, ao retornar um ano depois, o link pode não mais funcionar, ter sido redirecionado ou alterado de forma irreconhecível. A estrutura enfraquece e sua lista de leitura elaborada também deteriora junto com ela.

Essa é a questão que o Linkwarden foi projetado para resolver, e é por isso que muitas pessoas optam por hospedar o Linkwarden em vez de confiar sua biblioteca de favoritos a um serviço de terceiros. Trata-se de um gerenciador de favoritos de código aberto que armazena uma cópia completa de cada página que você salva como favorito, incluindo uma captura de tela, um PDF, um arquivo HTML único e uma versão limpa e legível, garantindo que o conteúdo continue acessível mesmo se o original sair do ar. Pode-se pensar nele como uma espécie de arquivo pessoal do Wayback Machine, com funcionalidades de coleções, tags, pesquisa e alguns recursos de inteligência artificial integrados.

Este manual aborda as funções do Linkwarden, os requisitos para sua execução e como implementá-lo utilizando Docker em um servidor próprio. Além disso, vamos configurar funcionalidades como pesquisa de texto completo, marcação de inteligência artificial, backups e um proxy reverso para que você possa acessá-lo por meio de um domínio real, pulando etapas de configuração mais demoradas.

Qual é a verdadeira função de Linkwarden

Em sua essência, Linkwarden é um sistema de organização de favoritos. Ao salvar um link, você o armazena em uma coleção e pode adicionar tags. O que o torna único é a ênfase na preservação. A equipe responsável pelo aplicativo projetou toda a plataforma com foco na permanência do link, de modo que salvar um marcador também implica em salvar a própria página.

Linkwarden image
Imagem: GernotBra/StockVault

Ao adicionar um link com o Linkwarden, o serviço cria e salva diversos formatos localmente, como uma captura de tela da página inteira, um PDF, um arquivo HTML autônomo e uma versão simplificada para leitura sem distrações. Além disso, se desejar, é possível enviar um instantâneo para o Wayback Machine do Internet Archive. Independentemente disso, você terá sua própria cópia.

O “além disso” é o local onde ele obtém uma vantagem constante em uma pilha auto-hospedada.

  • Organização de uma extensa biblioteca por meio de coleções e subcoleções aninhadas, juntamente com múltiplas tags por link.
  • Busca integral de texto em todos os dados que você armazenou, impulsionada por Meilisearch.
  • IA de marcação local que analisa o conteúdo de uma página e propõe tags de forma automática.
  • Assinaturas RSS que automaticamente trazem novos artigos em um conjunto de dados.
  • Coleções partilhadas com autorizações concedidas a membros, facilitando a colaboração em pesquisas em grupo.
  • A leitura é realizada com o texto em evidência e com anotações.
  • Extensões para Chrome e Firefox, uma API detalhada e a capacidade de importar ou exportar em grande quantidade.

Assim, ele se encontra em uma posição intermediária entre um aplicativo para salvar para ler depois e um arquivo de páginas web, sendo uma combinação prática para quem faz pesquisas, escreve ou simplesmente não gosta de perder bons links.

Por que optar por executar sua própria instância?

Linkwarden disponibiliza um plano de hospedagem em nuvem e é uma escolha conveniente para quem não deseja lidar com a gestão. No entanto, a auto-hospedagem também possui suas vantagens.

Você detém as informações. Cada imagem, arquivo PDF e página HTML está armazenada em seu próprio espaço, garantindo a segurança de dados sensíveis, documentação interna ou qualquer outro conteúdo que não possa ser perdido. Além disso, não há cobranças adicionais por usuário, portanto, adicionar membros da equipe a uma instância auto-hospedada não afeta sua conta.

A privacidade é fundamental. Uma versão auto-hospedada do Linkwarden se comunica apenas com os sites que você salva e, se desejar, um provedor de IA de sua escolha. Não há compartilhamento de informações sobre seus hábitos de leitura com terceiros. Se a proteção dos dados é importante para você, manter seus favoritos em um ambiente seguro é essencial.

Do que você necessitará.

As necessidades do Linkwarden são simples. Os programadores o testaram em um servidor com 4 GB de memória e ele funcionou sem dificuldades; a parte mais intensa é a compilação inicial, porém após isso é bastante leve. No entanto, o arquivamento demanda esforço real, já que cada link salvo aciona um navegador sem interface para capturar a página, então reservar um pouco de espaço extra é útil se você quiser economizar em grande quantidade.

Para obter uma execução eficiente do Docker, é recomendável:

  • Um servidor Linux com privilégios de root, preferencialmente com 4 GB de RAM ou superior.
  • Docker y Docker Compose han sido instalados.
  • curl é um editor de texto similar ao nano.

Um VPS pequeno é adequado para lidar com uma única instância de usuário de forma eficiente. Caso pretenda armazenar muitos arquivos ou utilizá-lo para uma equipe, é recomendável optar por um plano com CPU robusta e armazenamento NVMe, pois isso tornará o processo de captura consideravelmente mais rápido, uma vez que a geração de capturas de tela e PDF depende da capacidade do disco e da CPU. Além disso, será necessário ter acesso root completo para instalar o Docker e gerenciar a pilha de softwares, o que não é possível em hospedagens compartilhadas.

Como apresentar o Linkwarden usando o Docker.

A maneira oficial de configurar o Docker é a mais eficiente, e o projeto disponibiliza documentação detalhada. O arquivo de composição inclui três serviços: Linkwarden, um banco de dados PostgreSQL e Meilisearch para funções de pesquisa.

1. Faça o download dos arquivos de composição e configuração.

Acesse o servidor via SSH e, em seguida, crie um diretório para baixar os dois arquivos necessários.

Estabeleça quais são os seus segredos.

Acesse o arquivo .env.

Você testemunhará algo desse tipo.

Você precisa alterar três desses para valores secretos exclusivos: NEXTAUTH_SECRET, MEILI_MASTER_KEY e POSTGRES_PASSWORD. Cada um deve ser uma sequência longa e aleatória distinta. Uma forma simples de gerenciá-los é:

Realize essa ação em três ocasiões e armazene em uma nova variável para cada uma delas. Caso a variável contenha caracteres especiais, envolva-a em aspas simples ou duplas.

Deixe o NEXTAUTH_URL sem alterações por enquanto se estiver testando localmente. A mudança só será feita quando você colocar a instância atrás de um domínio, o que será abordado posteriormente.

Inicie a pilha.

Traga todos os arquivos da mesma pasta.

Na primeira vez que você executa o aplicativo, ele irá baixar as imagens e fazer a construção. Aguarde alguns minutos. Após a instalação, o Linkwarden estará ativo na porta 3000.

“Registre-se para obter uma conta.”

Acesse http://your-server-ip:3000 em um navegador para acessar a página de login. Clique em “Iniciar sessão” e crie o primeiro usuário com uma senha de pelo menos oito caracteres. A primeira conta criada será para gerenciar; se esta for uma configuração de usuário único, é recomendável desativar o registro aberto nas configurações para impedir que estranhos criem contas em sua instância.

Neste momento, você está utilizando um Linkwarden que permite salvar um link e observar a geração automática de captura de tela, PDF e visualização legível.

Posicionando-o na retaguarda de um domínio.

Acessar sua instância através do IP e porta é útil para testes, porém para uso diário é recomendado utilizar um hostname com HTTPS. Você pode configurar um proxy reverso, como Caddy, Nginx ou Traefik, na frente do Linkwarden, direcionando para a porta 3000, e gerenciar o TLS dessa forma.

Após ativar essa configuração, modifique o NEXTAUTH_URL no arquivo .env para corresponder ao seu domínio, como por exemplo https://links.yourdomain.com/api/v1/auth, e então reinicie com docker compose up -d. Caso não possua um domínio para isso, é possível registrar um e configurar um registro A em seu servidor. As orientações oficiais para proxy reverso oferecem exemplos de configurações para os proxies mais utilizados.

Definindo a configuração de pesquisa e marcação de inteligência artificial.

A pesquisa é eficaz fora do comum devido ao fato de que Meilisearch é implementado no arquivo de composição padrão. Quando o MEILI_MASTER_KEY está configurado, a pesquisa por texto completo em suas páginas salvas opera automaticamente, incluindo o conteúdo completo das páginas capturadas pelo Linkwarden, e não apenas os títulos e tags.

A ativação da marcação de IA é uma opção que não vem habilitada por padrão. Quando ativada, essa funcionalidade analisa o conteúdo de uma página e sugere ou aplica automaticamente tags, o que ajuda a reduzir a necessidade de classificação manual à medida que sua biblioteca cresce. Para configurá-la, você pode conectar-se a um provedor de IA, como OpenAI, Anthropic hospedado, ou optar por um modelo local, como Ollama, se preferir manter tudo em sua própria infraestrutura. Utilizar o modelo local é uma escolha amigável que se integra bem com uma configuração auto-hospedada. O guia de marcação de IA aborda as variáveis de ambiente para cada provedor.

Realize a cópia de segurança e mantenha sua instância atualizada.

Self-hosting envolve a responsabilidade pela própria segurança da rede, e Linkwarden armazena seus dados em dois locais: o banco de dados PostgreSQL e um volume de dados que inclui capturas de tela, PDFs e HTML. Para um backup completo, ambos são necessários.

Coloque o banco de dados em uma linha que pode ser inserida em um cron job.

Posteriormente, é importante realizar o backup do volume do Docker que armazena os arquivos capturados, já que apenas o banco de dados não será capaz de restaurar esses arquivos. Se as capturas se tornarem extensas, é recomendável fazer uma cópia desse volume em um local externo em um cronograma estabelecido o mais cedo possível. Contar com uma infraestrutura que realize backups diários proporciona uma camada adicional de segurança para seus arquivos, o que é reconfortante para um documento que não seja desejável reconstruir do zero.

Atualizar é um procedimento fácil. Basta acessar a pasta Linkwarden, baixar a imagem mais atualizada e depois recriar os recipientes.

Confira as informações da nova versão antes de fazer uma atualização significativa, mas as pequenas atualizações normalmente não causam problemas.

Resumo ou finalização.

Linkwarden converte uma coleção frágil de marcadores em um arquivo duradouro e pesquisável que fica sob seu total controle. Usando o Docker, implementar isso é simples: basta baixar dois arquivos, configurar três segredos e iniciar a coleção. Em seguida, ao adicionar recursos como pesquisa, marcação de inteligência artificial, um proxy reverso e um sistema de backup, você transforma a coleção em algo confiável, com anos de conteúdo salvo.

Uma das principais necessidades do self-hosting é contar com um servidor confiável, com acesso root e recursos adequados para lidar com o armazenamento de dados, aspecto em que um VPS adequado é fundamental.

Agradeço por sua leitura! Caso esteja em busca de um local para hospedagem, o QDE disponibiliza serviços de VPS de alta performance na Holanda, com armazenamento NVMe, conexões de 10 Gbps e acesso root completo, ideais para aplicativos como Linkwarden.

Está preparado para iniciar ou prefere receber orientações sobre o plano ideal? Entre em contato com nossa equipe e nós o auxiliaremos a encontrar a melhor opção para o seu projeto.

Perguntas comuns sobre como se apresentar com o Linkwarden.

Linkwarden está disponível gratuitamente para ser hospedado por si próprio?

Sim. Linkwarden é um software de código aberto e, ao hospedá-lo internamente, você terá acesso a todos os recursos disponíveis no plano de nuvem sem ter que pagar pela licença. As únicas despesas envolvidas são referentes ao servidor no qual o software é instalado e, caso você opte por usar um provedor de inteligência artificial hospedado, as taxas de utilização desse provedor.

Qual é a quantidade de capacidade do servidor necessária?

Um servidor virtual privado com 4 GB de RAM é suficiente para executar uma instância pessoal de maneira eficiente. Durante os processos de compilação e arquivamento de páginas sob demanda, a demanda por recursos é maior, portanto, é recomendado ter mais capacidade de processamento (CPU) e armazenamento mais rápido (NVMe) para captura de tela e PDF, especialmente se você salvar muitos links ou compartilhar com uma equipe.

O Linkwarden pode ser considerado uma alternativa viável à Wayback Machine?

Para uso pessoal, o aplicativo salva cópias locais de todas as páginas que você marcar, incluindo capturas de tela, PDFs, arquivos HTML e visualizações fáceis de ler. Dessa forma, suas capturas serão preservadas mesmo que o site original seja removido. Além disso, é possível compartilhar instantâneos com o Wayback Machine, mas as cópias locais são exclusivamente suas.

“Será necessário utilizar o Meilisearch para realizar buscas de emprego?”

A instalação padrão do Docker já vem com o Meilisearch configurado, possibilitando a utilização da pesquisa de texto completo assim que o valor MEILI_MASTER_KEY for definido. Caso a busca não retorne resultados, verifique se o contêiner Meilisearch está ativo e funcionando corretamente.

É possível manter a Inteligência Artificial completamente privada?

Sim, em vez de usar um provedor de hospedagem, configure o Linkwarden em um ambiente local utilizando o Ollama em seu próprio servidor. Dessa forma, o conteúdo da página permanece em sua infraestrutura, o que proporciona uma configuração auto-hospedada com foco em privacidade.

Como posso realizar uma cópia de segurança de todos os arquivos?

Faça uma cópia de segurança do banco de dados PostgreSQL utilizando o pg_dump e o espaço de armazenamento Docker que contém as capturas de tela, PDFs e HTML. O banco de dados por si só não será suficiente para restaurar o conteúdo arquivado, sendo necessário ter ambos para uma recuperação completa.

Posts Similares

Deixe um comentário

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