Como criar seu próprio gerenciador de favoritos com Linkding

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.

Uma captura de tela de uma instalação funcional do Linkding.

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.

Uma captura de tela mostrando a página de login para vinculação.

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”.

Uma captura de tela mostrando um prompt de login preenchido para Linkding.

Clique no link “Configurações” no canto superior direito da página.

Uma captura de tela destacando o link Configurações na página inicial do Linkding.

Clique na guia “Admin” na página de configurações do Linkding. Isso abrirá o Painel do Administrador do Linkding.

Uma captura de tela destacando a guia Admin na página de configurações de vinculação.

Para adicionar um novo usuário, clique no link “Adicionar” ao lado da linha Usuários na categoria “Autenticação e Autorização”.

Uma captura de tela destacando o link Adicionar na seção de usuários no painel de administração do Linkding.

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.

Uma captura de tela mostrando um novo prompt de usuário preenchido.

Teste se o seu novo usuário está funcionando corretamente fazendo login nele por meio de uma sessão diferente do navegador.

Uma captura de tela demonstrando o novo usuário em funcionamento.

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”.

Uma captura de tela destacando o link Usuários no painel de administração do Linkding.

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”.

Uma captura de tela destacando a caixa de seleção Ativo no painel do usuário do Linkding.

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

O seu endereço de email não será publicado. Campos obrigatórios marcados com *