linktiles is a tile-based read-only frontend for linkding, a minimal bookmark manager. linktiles uses an api key to fetch links from your linkding instance, and displays them in a configurable mosaic.
Feature Overview:
- Clean UI matching the style of linkding
- Display tagged bookmarks as tiles
- Create groups of bookmarks within a tile
- Various configuration options to change the look of the tiles
- SSO support via authentication proxies
- Built-in Glance extension.
Gallery
Glance extension
The recommended method of installation is Docker Compose. By default, linktiles will persist data in memory. This is good for testing it out, but long term you will want to set up a Redis container for persistence.
services:
linktiles:
image: haumea/linktiles:latest
container_name: linktiles
ports:
- 5001:5001Run docker compose up -d and you should be able to visit the UI at http://localhost:5001/. For more details, visit the docs.
Contributions are welcome, but may be denied if I feel they don't fit the scope of the app. Please open PRs on GitLab.
The application is built using the Flask web framework. You can get started by checking out the excellent Flask docs. The app folder contains the actual tiles application. The python stuff follows your typical Flask structure, and frontend interactivity is done through htmx and hyperscript.
Prerequisites:
- Python 3.10
Setup
Create a virtual environment for the application
python3 -m venv venv
. ./venv/bin/activateInstall the requirements
python3 -m pip install -r requirements.txtBy default the application will use an in-memory storage for data, meaninig it will be lost every time you restart the application. To persist data, at the time of writing, the only option is a redis instance. Check the configuration for which environment variables can be used to configure the redis storage.
Start the Flask server with debug mode enabled with
LT_ENVIRONMENT=dev python3 -m appThe frontend is now available under http://localhost:5001