Come creare il tuo gestore di segnalibri con Linkding
Linkding è un gestore di segnalibri basato sul Web semplice ma flessibile per Linux. Simile ai gestori di segnalibri offline, ti consente di creare e annotare i collegamenti web che hai accumulato nel tempo.
Questo articolo ti mostrerà come installare Linkding su una macchina Ubuntu 22.04 utilizzando Docker e Docker Compose. Evidenzierà inoltre come creare e gestire un utente non amministratore all’interno della tua nuova istanza di Linkding.
Perché ospitare il proprio gestore di segnalibri utilizzando Linkding?
Uno dei maggiori punti di forza di Linkding è che puoi distribuirlo rapidamente su un server esistente e utilizzarlo in pochi minuti. Ciò significa che non è necessario fornire una nuova macchina, fisica o di altro tipo, per ospitare il proprio gestore di segnalibri.
Il collegamento estende inoltre le funzionalità di base presenti nella maggior parte dei gestori di segnalibri per includere la condivisione dei collegamenti e la modalità multiutente. Ciò lo rende ideale per gli utenti che desiderano creare una piattaforma collaborativa privata per condividere collegamenti tra un gruppo.
Ottenere Linkding e Docker Compose
Per distribuire Linkding, devi prima installare Docker insieme al suo componente Docker Compose. Puoi farlo recuperando la chiave di firma del programma dal sito web dello sviluppatore:
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
Crea un nuovo file repository per l’installazione di Docker:
sudo nano /etc/apt/sources.list.d/docker.list
Incolla la seguente riga di codice all’interno del tuo nuovo file repository:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
Ricarica i repository dei pacchetti del tuo sistema eseguendo il comando seguente:
sudo apt update && sudo apt upgradesudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx
Ottenimento e distribuzione del contenitore Docker Linkding
Crea una nuova cartella per Linkding all’interno della tua home directory ed entra al suo interno:
mkdir ~/linkding && cd ~/linkding
Utilizza il tuo editor di testo preferito per creare un file “docker-compose.yml” vuoto:
nano. /docker-compose.yml
Incolla il seguente blocco di codice all’interno del tuo nuovo file di composizione:
---
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
Salva il tuo nuovo docker-compose.yml, quindi crea un file di ambiente per la tua istanza. Questo conterrà tutte le variabili personalizzate per la tua nuova installazione:
nano ~/linkding/.env
Incolla il seguente blocco di codice all’interno del tuo nuovo file di 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"
Infine, crea il tuo nuovo contenitore Docker eseguendo il comando seguente:
docker compose up -d
Creazione di un proxy inverso Nginx per SSL
A questo punto, ora hai un’istanza funzionante di Linkding in esecuzione sulla porta 9090. Tuttavia, per potervi accedere pubblicamente, devi creare un proxy inverso che proteggerà le connessioni in entrata utilizzando SSL.
Crea un nuovo file di configurazione del sito per la tua istanza:
sudo nano /etc/nginx/sites-available/linkding
Incolla il seguente blocco di codice all’interno del nuovo file del sito:
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;
}}
Rimuovi il file di configurazione del sito predefinito e crea un collegamento simbolico per il tuo nuovo file di configurazione su “/etc/nginx/sites-enabled”:
sudo rm /etc/nginx/default
sudo ln -s /etc/nginx/sites-available/linkding /etc/nginx/sites-enabled/linkding
Avvia e abilita il tuo demone Nginx ad applicare le sue nuove impostazioni:
sudo systemctl restart nginx
sudo systemctl enable --now nginx
Abilitazione di SSL per la tua istanza di collegamento
Assicurati che il tuo computer disponga del file binario core snap più recente:
sudo snap install core
Installa il pacchetto snap Certbot di Electronic Frontier Foundation (EFF):
sudo snap install certbot --classic
Verifica se la tua installazione certbot funziona correttamente registrandola su EFF:
sudo certbot register --agree-tos -m ramces@email.invalid
Richiedi un certificato SSL per la tua istanza eseguendo il comando seguente:
sudo certbot --nginx -d linkding.your-domain-name.here
Verifica se la tua nuova istanza è sicura e funzionante caricando il suo indirizzo su un browser web.
Creazione di un nuovo utente in Linkding
Accedi alla tua nuova istanza di Linkding utilizzando le credenziali di superutente che hai fornito nel file “.env”.
Fare clic sul collegamento “Impostazioni” nell’angolo in alto a destra della pagina.
Fai clic sulla scheda “Amministratore” nella pagina delle impostazioni di Linkding. Verrà visualizzato il pannello di amministrazione di Linkding.
Per aggiungere un nuovo utente, fare clic sul collegamento “Aggiungi” accanto alla riga Utenti nella categoria “Autenticazione e autorizzazione”.
Fornisci un nome utente e una password per il tuo nuovo utente Linkding, quindi fai clic su “Salva” per attivare il tuo nuovo utente.
Verifica se il tuo nuovo utente funziona correttamente accedendo tramite una sessione del browser diversa.
Disabilitare un utente esistente nel collegamento
Per disabilitare un utente esistente in Linkding, vai al pannello di amministrazione della tua istanza, quindi seleziona il collegamento “Utenti” nella categoria “Autenticazione e autorizzazione”.
Fai clic sul nome utente che desideri disattivare. Questo caricherà il profilo per quel particolare utente.
Scorri verso il basso fino alla categoria “Autorizzazioni”, quindi deseleziona la casella di controllo accanto all’etichetta “Attivo”.
Scorri verso il basso fino alla fine della pagina, quindi fai clic su “Salva” per disabilitare completamente l’utente.
Domande frequenti
Puoi installare Linkding senza utilizzare Docker?
No. Gli sviluppatori di Linkding lo hanno progettato per funzionare solo con i contenitori Docker. Questo perché il programma ha una serie di co-dipendenze che devono essere implementate in un ordine specifico e in un modo specifico per funzionare correttamente.
È possibile importare i segnalibri esistenti su Linkding?
SÌ. È possibile importare un elenco di segnalibri da altri gestori di segnalibri esterni. Ad esempio, puoi copiare i tuoi segnalibri sia da Google Chrome che da Microsoft Edge direttamente su Linkding.
È possibile eseguire il backup del database Linkding all’esterno di Docker?
SÌ. Esistono due modi per eseguire il backup di un database Linkding dal relativo contenitore Docker. Innanzitutto, puoi andare alla pagina Impostazioni, quindi andare alla categoria “Esporta” nella scheda “Generale”. Sotto, fai clic sul pulsante “Download” per eseguire il backup dei segnalibri dell’utente corrente.
In secondo luogo, puoi accedere al tuo server Linkding e copiare il file “db.sqlite3″ nella directory “~/linkding/data”. Il vantaggio di questo approccio rispetto al primo è che il file “db.sqlite3″ contiene l’intero database dei segnalibri per l’intera istanza.
Credito immagine: Lauren Mancke tramite Unsplash (Sfondo) Collegamento a Github (Logo). Tutte le modifiche e gli screenshot di Ramces Red.
Lascia un commento