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 0000000..305cacd Binary files /dev/null and b/apps/linkding/metadata/logo.jpg differ