From b698481a9cafddd0b3b2ad9dce752b176f3d3e0f Mon Sep 17 00:00:00 2001 From: Markus Date: Sun, 16 Nov 2025 23:19:38 +0100 Subject: [PATCH] added new app: linkding (1.44.1) --- apps/linkding/config.json | 20 +++++++ apps/linkding/docker-compose.json | 20 +++++++ apps/linkding/metadata/description.md | 82 ++++++++++++++++++++++++++ apps/linkding/metadata/logo.jpg | Bin 0 -> 40686 bytes 4 files changed, 122 insertions(+) create mode 100644 apps/linkding/config.json create mode 100644 apps/linkding/docker-compose.json create mode 100644 apps/linkding/metadata/description.md create mode 100644 apps/linkding/metadata/logo.jpg diff --git a/apps/linkding/config.json b/apps/linkding/config.json new file mode 100644 index 0000000..a82c815 --- /dev/null +++ b/apps/linkding/config.json @@ -0,0 +1,20 @@ +{ + "name": "linkding", + "available": true, + "port": 8690, + "exposable": true, + "dynamic_config": true, + "id": "linkding", + "description": "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.", + "tipi_version": 1, + "version": "1.44.1", + "categories": ["utilities"], + "short_desc": "self-hosted bookmark manager", + "author": "sissbruecker", + "source": "https://github.com/sissbruecker/linkding", + "website": "https://www.linkding.link/", + "form_fields": [], + "supported_architectures": ["arm64", "amd64"], + "created_at": 1763331296327, + "updated_at": 1763331296327 +} diff --git a/apps/linkding/docker-compose.json b/apps/linkding/docker-compose.json new file mode 100644 index 0000000..864d4c0 --- /dev/null +++ b/apps/linkding/docker-compose.json @@ -0,0 +1,20 @@ +{ + "schemaVersion": 2, + "services": [ + { + "name": "linkding", + "image": "sissbruecker/linkding:1.44.1-alpine", + "isMain": true, + "internalPort": 9090, + "volumes": [ + { + "hostPath": "${APP_DATA_DIR}/data", + "containerPath": "/etc/linkding/data", + "readOnly": false, + "shared": false, + "private": false + } + ] + } + ] +} diff --git a/apps/linkding/metadata/description.md b/apps/linkding/metadata/description.md new file mode 100644 index 0000000..04c01b0 --- /dev/null +++ b/apps/linkding/metadata/description.md @@ -0,0 +1,82 @@ +## 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](https://addons.mozilla.org/firefox/addon/linkding-extension/) and [Chrome](https://chrome.google.com/webstore/detail/linkding-extension/beakmhbijpdhipnjhnclmhgjlddhidpe), 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](/docs/public/linkding-screenshot.png?raw=true "Screenshot") + +## Getting Started + +The following links help you to get started with linkding: +- [Install linkding on your own server](https://linkding.link/installation) or [check managed hosting options](https://linkding.link/managed-hosting) +- [Install the browser extension](https://linkding.link/browser-extension) +- [Check out community projects](https://linkding.link/community), which include mobile apps, browser extensions, libraries and more + +## Documentation + +The full documentation is now available at [linkding.link](https://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](https://github.com/sissbruecker/linkding/edit/master/docs/src/content/docs/community.md). + +## 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](https://docs.djangoproject.com/en/4.1/). 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](https://docs.astral.sh/uv/getting-started/installation/) +- 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=joe@example.com +``` + +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 diff --git a/apps/linkding/metadata/logo.jpg b/apps/linkding/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..305cacdb753e1fc2f83c4bd28930f1f02a97a26e GIT binary patch literal 40686 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

S70zol6v7bsHP($ZkbPIXV!KBk(lb_`mG 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 oNMGsS`a(Qdh~%r?CxqMNF9Y1