How to Set Up and Run linkding

Updated

linkding is a self-hosted bookmark manager that runs as a single Docker container with SQLite as its database. To get it running, you need a machine with Docker installed, a persistent volume for the database, and a port exposed for the web UI. The official "Get started" and demo links on linkding.link are the right places to confirm current image and command details before you deploy.

What you need before starting

  • A server or local machine with Docker installed (the project describes itself as a single Docker container, so Docker is the expected runtime).
  • A directory on the host to persist data. Because linkding uses SQLite, the database file must live on a volume that survives container restarts.
  • A free port for the web interface.
  • Optional: a reverse proxy if you want HTTPS or a domain name.

Deployment steps

1. Pull and run the container

The general pattern for a single-container app with SQLite is to mount a host directory for data and map the web port. Use the exact image name and port from the official getting-started page, since those are the details most likely to change between releases.

Expected result: the container starts, creates its SQLite database in the mounted directory, and serves the web UI on the mapped port.

2. Create your admin account

Open the web UI in a browser and complete the initial setup to create the first user. linkding supports multiple users, so additional accounts can be added later and bookmarks can be shared with other users or guests.

3. Verify the install

  • Log in and add a test bookmark.
  • Confirm that linkding automatically fetches the title, description, icon, and preview image of the bookmarked site (metadata fetching is a built-in feature).
  • Restart the container and confirm the bookmark is still there — this verifies your volume mount is correct.

4. Add the browser extension (optional)

Extensions for Firefox and Chrome let you add and search bookmarks from within the browser. Install the extension and point it at your instance URL.

What you get after setup

Feature What it means in practice
Minimal, focused UI Optimized for readability so you can add and find bookmarks quickly
Customizable features Features can be enabled or disabled, and the UI is adjustable through settings
Metadata fetching Titles, descriptions, icons, and preview images are fetched automatically
Archiving Snapshots of bookmarked sites as local HTML files or on the Internet Archive
Bulk editing Apply operations to a selection of bookmarks or the whole collection
Import / Export Netscape HTML format for moving bookmarks in and out
Multi-user Multiple users with bookmark sharing to other users or guests
REST API Build scripts or third-party apps against your instance
Low maintenance Single Docker container, SQLite database, automated migrations, and the project states zero breaking changes

Common sticking points

  • Data loss after restart: almost always a missing or misconfigured volume mount. The SQLite file must be on persistent storage.
  • Metadata or archiving not working: these features make outbound requests, so check that the container has network access. Archiving to the Internet Archive also depends on that external service.
  • Choosing between local HTML and Internet Archive snapshots: local HTML keeps snapshots on your own server; Internet Archive offloads storage but depends on a third party. Pick based on how much you value self-containment versus disk space.
  • Upgrades: automated migrations are a stated feature, but back up the SQLite file before major version changes anyway.

Where to go next

Start from the "Get started" link on linkding.link for the current run command, and try the demo to evaluate the UI before committing to a deployment. If you only need to understand what the tool is for, see the companion question on what linkding is and what it is used for.