Como criar seu próprio gerenciador de favoritos com Linkding
Linkding é um gerenciador de favoritos simples, mas flexível, baseado na web para Linux. Semelhante aos gerenciadores de favoritos offline, permite criar e anotar os links da web que você acumulou ao longo do tempo.
Este artigo mostrará como você pode instalar o Linkding em uma máquina Ubuntu 22.04 usando Docker e Docker Compose. Também destacará como você pode criar e gerenciar um usuário não administrador dentro de sua nova instância do Linkding.
Por que hospedar seu próprio gerenciador de favoritos usando Linkding?
Um dos maiores pontos de venda do Linkding é que você pode implantá-lo rapidamente em um servidor existente e usá-lo em poucos minutos. Isso significa que você não precisa provisionar uma nova máquina, física ou não, para hospedar seu próprio gerenciador de favoritos.
Linkding também estende os recursos básicos encontrados na maioria dos gerenciadores de favoritos para incluir compartilhamento de links e modo multiusuário. Isto o torna ideal para usuários que desejam criar uma plataforma colaborativa privada para compartilhar links entre um grupo.
Obtendo Linkding e Docker Compose
Para implantar o Linkding, você precisa primeiro instalar o Docker junto com seu componente Docker Compose. Você pode fazer isso obtendo a chave de assinatura do programa no site do desenvolvedor:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Crie um novo arquivo de repositório para a instalação do Docker:
sudo nano /etc/apt/sources.list.d/docker.list
Cole a seguinte linha de código dentro do seu novo arquivo de repositório:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
Recarregue os repositórios de pacotes do seu sistema executando o seguinte comando:
sudo apt update && sudo apt upgradesudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx
Obtendo e implantando o contêiner Linkding Docker
Crie uma nova pasta para Linkding dentro do seu diretório inicial e entre nela:
mkdir ~/linkding && cd ~/linkding
Use seu editor de texto favorito para criar um arquivo “docker-compose.yml” vazio:
nano. /docker-compose.yml
Cole o seguinte bloco de código dentro do seu novo arquivo de composição:
---
version: "3"
services:
linkding:
container_name: ${LD_CONTAINER_NAME:-linkding}
image: sissbruecker/linkding:latest
ports:
- ${LD_HOST_PORT:-9090}:9090
volumes:
- ${LD_HOST_DATA_DIR:-./data}:/etc/linkding/data
env_file:
-. env
restart: unless-stopped
Salve seu novo docker-compose.yml e crie um arquivo de ambiente para sua instância. Isso conterá todas as variáveis personalizadas para sua nova instalação:
nano ~/linkding/.env
Cole o seguinte bloco de código dentro do seu novo arquivo de ambiente:
LD_CONTAINER_NAME="linkding"LD_HOST_PORT="9090"LD_HOST_DATA_DIR="./data"LD_SUPERUSER_NAME="linkding"# CHANGE WITH A SECURE USERNAMELD_SUPERUSER_PASSWORD="linkding"# CHANGE WITH A SECURE PASSWORDLD_DISABLE_BACKGROUND_TASKS="False"LD_DISABLE_URL_VALIDATION="False"LD_ENABLE_AUTH_PROXY="False"LD_CSRF_TRUSTED_ORIGINS="https://linkding.your-domain-name.here"
Por último, construa seu novo Docker Container executando o seguinte comando:
docker compose up -d
Criando um proxy reverso Nginx para SSL
Neste ponto, agora você tem uma instância funcional do Linkding em execução na porta 9090. No entanto, para poder acessá-lo publicamente, você precisa criar um proxy reverso que protegerá as conexões de entrada usando SSL.
Crie um novo arquivo de configuração de site para sua instância:
sudo nano /etc/nginx/sites-available/linkding
Cole o seguinte bloco de código dentro do novo arquivo do site:
server {
listen 80;
listen [::]:80;
root /var/www/html;
server_name linkding.your-domain-name.here;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:9090;
}}
Remova o arquivo de configuração do site padrão e crie um link simbólico para seu novo arquivo de configuração para “/etc/nginx/sites-enabled”:
sudo rm /etc/nginx/default
sudo ln -s /etc/nginx/sites-available/linkding /etc/nginx/sites-enabled/linkding
Inicie e habilite seu daemon Nginx para aplicar suas novas configurações:
sudo systemctl restart nginx
sudo systemctl enable --now nginx
Habilitando SSL para sua instância de linkagem
Certifique-se de que sua máquina tenha o binário core snap mais recente:
sudo snap install core
Instale o pacote snap Certbot da Electronic Frontier Foundation (EFF):
sudo snap install certbot --classic
Teste se a instalação do seu certbot está funcionando corretamente registrando-o na EFF:
sudo certbot register --agree-tos -m ramces@email.invalid
Solicite um certificado SSL para sua instância executando o seguinte comando:
sudo certbot --nginx -d linkding.your-domain-name.here
Teste se sua nova instância é segura e funciona carregando seu endereço em um navegador da web.
Criando um novo usuário no Linkding
Faça login em sua nova instância do Linkding usando as credenciais de superusuário que você forneceu em seu arquivo “.env”.
Clique no link “Configurações” no canto superior direito da página.
Clique na guia “Admin” na página de configurações do Linkding. Isso abrirá o Painel do Administrador do Linkding.
Para adicionar um novo usuário, clique no link “Adicionar” ao lado da linha Usuários na categoria “Autenticação e Autorização”.
Forneça um nome de usuário e uma senha para seu novo usuário do Linkding e clique em “Salvar” para ativar seu novo usuário.
Teste se o seu novo usuário está funcionando corretamente fazendo login nele por meio de uma sessão diferente do navegador.
Desativando um usuário existente no link
Para desabilitar um usuário existente no Linkding, vá ao painel de administrador da sua instância e selecione o link “Usuários” na categoria “Autenticação e Autorização”.
Clique no nome de usuário que você deseja desativar. Isso carregará o perfil desse usuário específico.
Role para baixo até a categoria “Permissões” e desmarque a caixa de seleção ao lado do rótulo “Ativo”.
Role até o final da página e clique em “Salvar” para desabilitar totalmente o usuário.
perguntas frequentes
Você pode instalar o Linkding sem usar o Docker?
Não. Os desenvolvedores do Linkding o projetaram para funcionar apenas com contêineres Docker. Isto ocorre porque o programa tem uma série de co-dependências que precisam ser implantadas em uma ordem específica e de uma maneira específica para funcionar corretamente.
É possível importar marcadores existentes para o Linkding?
Sim. É possível importar uma lista de favoritos de outros gerenciadores de favoritos externos. Por exemplo, você pode copiar seus favoritos do Google Chrome e do Microsoft Edge diretamente para o Linkding.
É possível fazer backup do banco de dados Linkding fora do Docker?
Sim. Existem duas maneiras de fazer backup de um banco de dados Linkding de seu contêiner Docker. Primeiro, você pode ir para a página Configurações e depois para a categoria “Exportar” na guia “Geral”. Abaixo disso, clique no botão “Download” para fazer backup dos favoritos do usuário atual.
Segundo, você pode fazer login em seu servidor Linkding e copiar o arquivo “db.sqlite3″ no diretório “~/linkding/data”. A vantagem desta abordagem sobre a anterior é que o arquivo “db.sqlite3″ contém todo o banco de dados de marcadores para toda a instância.
Crédito da imagem: Lauren Mancke via Unsplash (fundo) Linkding Github (logotipo). Todas as alterações e capturas de tela de Ramces Red.
Deixe um comentário