GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - sissbruecker/linkding: Self-hosted bookmark manager that is designed be to be minimal, fast, and easy to set up using Docker.

BranchesTags
Open more actions menu

Latest commit

 

History

924 Commits
924 Commits

Folders and files

NameName
Last commit message
Last commit date
.devcontainer
.devcontainer
 
 
.github
.github
 
 
assets
assets
 
 
bookmarks
bookmarks
 
 
docker
docker
 
 
docs
docs
 
 
scripts
scripts
 
 
.coveragerc
.coveragerc
 
 
.dockerignore
.dockerignore
 
 
.env.sample
.env.sample
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
CHANGELOG.md
CHANGELOG.md
 
 
LICENSE.txt
LICENSE.txt
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
SECURITY.md
SECURITY.md
 
 
bootstrap.sh
bootstrap.sh
 
 
docker-compose.yml
docker-compose.yml
 
 
install-linkding.sh
install-linkding.sh
 
 
manage.py
manage.py
 
 
package-lock.json
package-lock.json
 
 
package.json
package.json
 
 
pyproject.toml
pyproject.toml
 
 
pytest.ini
pytest.ini
 
 
supervisord-all.conf
supervisord-all.conf
 
 
supervisord-tasks.conf
supervisord-tasks.conf
 
 
uv.lock
uv.lock
 
 
uwsgi.ini
uwsgi.ini
 
 
version.txt
version.txt
 
 

Repository files navigation



Introduction

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.

The name comes from:

  • link which is often used as a synonym for URLs and bookmarks in common language
  • Ding which is German for thing
  • ...so basically something for managing your links

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
  • Automatically provides titles, descriptions and icons of bookmarked websites
  • Automatically 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

Demo: https://demo.linkding.link/

Screenshot:

Screenshot

Getting Started

The following links help you to get started with linkding:

  • Install linkding on your own server or check managed hosting options
  • Install the browser extension
  • Check out community projects, which include mobile apps, browser extensions, libraries and more

Documentation

The full documentation is now available at linkding.link.

If you want to contribute to the documentation, you can find the source files in the docs folder.

If you want to contribute a community project, feel free to submit a PR.

Contributing

Small improvements, bugfixes and documentation improvements are always welcome. If you want to contribute a larger feature, consider opening an issue first to discuss it. I may choose to ignore PRs for features that don't align with the project's goals or that I don't want to maintain.

Development

The application is built using the Django web framework. You can get started by checking out the excellent Django docs. The bookmarks folder contains the actual bookmark application. Other than that the code should be self-explanatory / standard Django stuff 🙂.

Prerequisites

  • Python 3.13
  • uv
  • Node.js

Setup

Initialize the development environment with:

make init

This sets up a virtual environment using uv, installs NPM dependencies and runs migrations to create the initial database.

Create a user for the frontend:

uv run manage.py createsuperuser --username=joe [email protected]

Run the frontend build for bundling frontend components with:

make frontend

Then start the Django development server with:

make serve

The frontend is now available under http://localhost:8000

Tests

Run all tests with pytest:

make test

Linting

Run linting with ruff:

make lint

Formatting

Format Python code with ruff, Django templates with djlint, and JavaScript code with prettier:

make format

DevContainers

This repository also supports DevContainers: Open in Remote - Containers

Once checked out, only the following commands are required to get started:

Create a user for the frontend:

uv run manage.py createsuperuser --username=joe [email protected]

Start the Node.js development server (used for compiling JavaScript components like tag auto-completion) with:

make frontend

Start the Django development server with:

make serve

The frontend is now available under http://localhost:8000

About

Self-hosted bookmark manager that is designed be to be minimal, fast, and easy to set up using Docker.

linkding.link/

Topics

bookmark-managerbookmark-servicebookmarksself-hosted

Resources

Readme
MIT license

Security policy

Security policy
Activity

Stars

11.4k stars

Watchers

42 watching

Forks

697 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.