Linkding is a Self-hosted Bookmarking Manager

Linkding is a Self-hosted Bookmarking Manager

Linkding is a self-hosted bookmark manager that emphasizes minimalism, speed, and ease of setup via Docker. It offers a clean user interface optimized for readability, allowing users to efficiently manage their bookmarks.

The name 'Linkding' is a combination of 'link', referencing URLs and bookmarks, and 'Ding', which is German for 'thing', essentially meaning it's a tool for managing your links.

As an old avid user of the discontinued De.lic.io.us social bookmarking platform, I found Linding is the best open-source self-hosted alternative, a bit late better than never. I like it similar design, tags, search options and simple interface.

The application boasts a range of features, including tag-based bookmark organization, bulk editing, support for Markdown notes, and a 'read it later' function. Additionally, users can share bookmarks with others, including guest users, contributing to a more collaborative bookmark management experience.

The application conveniently utilizes SQLite, contributing to a simplified installation process via Docker or Docker Compose. By default, SQLite is the chosen database system, yet there's flexibility, allowing configuration with PostgreSQL if preferred. The benefits of this setup include ease of installation, user-friendly operation, and the option to switch to a more robust database like PostgreSQL, ensuring scalability and improved performance for larger data sets.

Features

Feature Overview:

  • Clean UI optimized for readability
  • Organize bookmarks with tags
  • Bulk editing, Markdown notes, read it later functionality
  • Share bookmarks with other users or guests
  • Provides titles, descriptions and icons of bookmarked websites
  • Archive websites, either as local HTML file or on Internet Archive
  • Import and export bookmarks in Netscape HTML format
  • Installable as a Progressive Web App (PWA)
  • Extensions for Firefox and Chrome, as well as a bookmarklet
  • SSO support via OIDC or authentication proxies
  • REST API for developing 3rd party apps
  • Admin panel for user self-service and raw data access
  • Responsive design

Install

linkding is designed to be run with container solutions like Docker. The Docker image is compatible with ARM platforms, so it can be run on a Raspberry Pi.

linkding uses an SQLite database by default. Alternatively linkding supports PostgreSQL, see the database options for more information.

Using Docker

The Docker image comes in several variants. To use a different image than the default, replace latest with the desired tag in the commands below, or in the docker-compose file.

TagDescription
latestProvides the basic functionality of linkding
latest-plusIncludes feature for archiving websites as HTML snapshots
  • Significantly larger image size as it includes a Chromium installation
  • Requires more runtime memory to run Chromium
  • Requires more disk space for storing HTML snapshots
latest-alpinelatest, but based on Alpine Linux. 🧪 Experimental
latest-plus-alpinelatest-plus, but based on Alpine Linux. 🧪 Experimental

To install linkding using Docker you can just run the image from Docker Hub:

docker run --name linkding -p 9090:9090 -v {host-data-folder}:/etc/linkding/data -d sissbruecker/linkding:latest

In the command above, replace the {host-data-folder} placeholder with an absolute path to a folder on your host system where you want to store the linkding database.

If everything completed successfully, the application should now be running and can be accessed at http://localhost:9090.

To upgrade the installation to a new version, remove the existing container, pull the latest version of the linkding Docker image, and then start a new container using the same command that you used above. There is a shell script available to automate these steps. The script can be configured using environment variables, or you can just modify it.

To complete the setup, you still have to create an initial user, so that you can access your installation.

Using Docker Compose

To install linkding using Docker Compose, you can use the docker-compose.yml file. Copy the .env.sample file to .env, configure the parameters, and then run:

docker-compose up -d

To complete the setup, you still have to create an initial user, so that you can access your installation.

User Setup

For security reasons, the linkding Docker image does not provide an initial user, so you have to create one after setting up an installation. To do so, replace the credentials in the following command and run it:

Docker

docker exec -it linkding python manage.py createsuperuser --username=joe --email=joe@example.com

Docker Compose

docker-compose exec linkding python manage.py createsuperuser --username=joe --email=joe@example.com

The command will prompt you for a secure password. After the command has completed you can start using the application by logging into the UI with your credentials.

Alternatively you can automatically create an initial superuser on startup using the LD_SUPERUSER_NAME option.

You can also install it with a reverse proxy setup easily, for Apache, Nginx and Caddy 2.

Download Browser Extension

linkding comes with an official browser extension that allows to quickly add bookmarks, and search bookmarks through the browser's address bar. You can get the extension here:

The extension is open-source as well, and can be found here.

License

Linkding is released as an open-source under the MIT License

Resources & Downloads








Open-source Apps

9,500+

Medical Apps

500+

Lists

450+

Dev. Resources

900+

Read more