Often when we are browsing the internet we come across some interesting articles or websites that we want to make sure we remember when we actually need them.
For a long time, I have been saving these links in my browser bookmarks on Firefox. But searching through those bookmarks is not very easy and I often forget that I have saved something there.
That’s when I started exploring about some self hosted bookmark managers. I came across a few of them and decided to try Linkding ↗️ and today I am going to share with you how I am using it and how you can setup it for yourself.
From their homepage
linkding is a bookmark manager that you can host yourself. It’s designed be to be minimal, fast, and easy to set up using Docker.
And boy, how true it is. I am currently running it as a Podman container with a SQLite database and it was indeed very fast and easy to setup.
The UI is very clean, they have an amazing browser extension (with shortcuts) and since its made with Django, we get a back office to manage the data and configs at much granular level if required.
As I have mentioned above, I am using Podman container and have a
compose.yml file that I use to start the container which is pretty straightforward.
.env file looks like this:
Once the container is up and running, you can access the UI at
http://localhost:9090 and login with the credentials you have set in the
You have your self hosted version of Linkding up and running. Now you can start adding your bookmarks.
But wait! This is not the end. I mentioned in the start about what good are the bookmarks if you are not able to find them when you actually need them.
Well, first of all the search within the UI is pretty good. But what if there was some way where I could pull results from my bookmarks when I search on Google or any other search engine. That would be amazing, right?
With linkding-injector the setup is perfect now and its much easier and helpful to search through my bookmarks.
There’s more! Well Akash, its great, but I am heavy mobile user as well and often come across some interesting links on my phone. What about that? I don’t want to keep logging in to the UI on my phone to add the links.
Once installed, click on the three dots on the top right corner and click on
Import / Export option. From there select the
Import from URL option and enter the following URL:
Now go back to main screen and again click on the three dots and now select the
Variables option and update the
linkding_api_key for your self hosted instance.
And that’s it! Now you can add links to your Linkding instance from your phone as well, just click on share and select
HTTP Shortcuts and then select
Linkding and it will ask for tags, you can add some tags or choose the Untagged option and it will add the link to your Linkding instance.
This just completes the whole loop for me where I can add links from my phone, my laptop and then have them available to me when I try to search for anything on Google or any other search engine.
Well for using such a great app, It would make me really sad if I lose data due to some reason. Hence, backups are very important. I will share my backup strategy in this section.
So I have a simple script that I run every 3 days to backup the data and configs of Linkding. This abides with the suggested backup strategy ↗️ mentioned by the author of Linkding as well.
Here you will notice that I am using
podman to run the commands. This is because I am using Podman to run the container. If you are using Docker, you can replace
docker and it should work fine.
We are also cleaning up old backups that are older than 30 days but feel free to update or remove that block if you don’t want to do that.
To restore the backup, just copy the backup file to the data folder of your new installation and rename it to
db.sqlite3 and restart the container and you should be good to go.
You can setup a cron job by running the following command:
And then add the following line to the file:
This will run the script every day at 12:00 AM. Make sure the script is executable by running
chmod +x /path/to/backup/script.sh.
I have been using Linkding for a while now and I am very happy with it. I also use a tool called linkding-injector to enhance my experience with it.
The post is not a detailed guide on how to setup Linkding but more of a quick overview of how I am using it and how you can use it too.
See you in another one! 👋