What Is Linkwarden?
Linkwarden is a collaborative bookmark manager that keeps a copy of each saved page, so the content survives if the original goes offline. The README describes it as a self-hosted, open-source tool to collect, read, annotate and preserve pages, published by the company behind linkwarden.app, and the source is licensed AGPL-3.0.
On each link a background worker produces up to four formats: a readable article view, a complete single-file HTML copy, a full-page screenshot and a PDF; sending the address to the Wayback Machine is an optional extra and is off by default per the docs. Links are organised in collections and sub-collections with tags, searched with full-text search, and can be shared with the public or with team members who have per-member permissions.
Get It
Linkwarden is a web app you either host yourself or rent as Linkwarden Cloud; the iOS and Android apps and the browser extension connect to one of the two.
Option | How to get it |
|---|---|
| Linkwarden Cloud | cloud.linkwarden.app, paid subscription |
| Cloud price | 14-day free trial, then $3 per user per month billed yearly (USD, as listed on the site) |
| iPhone and iPad | Linkwarden on the App Store, free download |
| Android | Linkwarden on Google Play, lists in-app purchases |
| Self-hosted (Docker) | Free; follow the setup guide, terminal required |
| Browser extension | Chrome, Firefox and Safari, see the extension guide |
| Website | linkwarden.app |
| Privacy policy | linkwarden.app/privacy-policy |
| Source code | github.com/linkwarden/linkwarden, AGPL-3.0 |
Version reviewed: 2.16.3 (GitHub release of 9 September 2026). The iOS app is at 1.4.4 and was updated on 12 October 2026 per the App Store, and the Google Play page also shows 12 October 2026. The App Store price was free in the US, German and Japanese storefronts; the Cloud price is shown in US dollars only, and no euro or yen price was found. There is no installer for the server: it is Docker or a manual Node and PostgreSQL install.
Requirements
The self-hosting guide names 4 GB of memory as a comfortable starting point, any 2-core CPU and about 1.5 GB of disk for the image.
Server
- What the sources say:
- Docker Compose with three containers: Linkwarden, PostgreSQL 16 and Meilisearch; images for x86-64 and ARM64
Secrets
- What the sources say:
NEXTAUTH_SECRET,POSTGRES_PASSWORDandMEILI_MASTER_KEYmust be changed from the sample values
Local AI
- What the sources say:
- A separate Ollama server and a pulled model if you want local tagging; no GPU is required by Linkwarden itself
Mobile apps
- What the sources say:
- iOS 15.1 or later per the App Store; they need a Cloud subscription or your own server
Manual install
- What the sources say:
- Node 20 or later, Yarn, PostgreSQL 16 or later; Meilisearch is optional for advanced search
The guide describes the Docker route as the easier one; the manual install is aimed at a more technical audience.
How to Self-Host
The steps follow the official setup guide for Docker Compose; PromptQuorum has not run them.
- 1Download the files
Why it matters: Fetch `docker-compose.yml` and `.env.sample` from the repository and save the sample as `.env`. - 2Set the secrets
Why it matters: Edit `.env` and replace `NEXTAUTH_SECRET`, `POSTGRES_PASSWORD` and `MEILI_MASTER_KEY` with three different secret phrases. - 3Start the stack
Why it matters: Run `docker compose up`; after a few minutes the app answers on port 3000. - 4Add AI tagging
Why it matters: Optionally add the Ollama or OpenAI-compatible variables from the next section, restart the stack and enable tagging in Settings, Preferences.
AI Tagging: Local Ollama or Cloud
Tagging is optional: you choose between a local Ollama model and a cloud provider by filling in environment variables.
- Local with Ollama. Set
NEXT_PUBLIC_OLLAMA_ENDPOINT_URLto your Ollama server, for examplehttp://localhost:11434, andOLLAMA_MODELto a pulled model; the docs say a lightweight model such as phi3:mini-4k is enough. - Cloud or compatible API.
OPENAI_API_KEYandOPENAI_MODELwork with OpenAI, andCUSTOM_OPENAI_BASE_URLpoints the same variables at any OpenAI-compatible service, with Gemini given as an example in the docs. - More providers. The environment-variable reference also lists Azure OpenAI, Anthropic, OpenRouter and Perplexity.
- Two modes. Linkwarden can generate tags automatically when a link is added, or assign tags from a predefined list you provide; both are switched on under Settings, Preferences.
- Background batches. Tagging runs in the background worker together with archiving, in batches of five links by default (
ARCHIVE_TAKE_COUNT).
Data Flow and Privacy
When you self-host, links, tags and preserved copies are stored in your own PostgreSQL database and data folder. The server fetches every saved page itself in a headless browser, so the server's network sees each address you bookmark. With a local Ollama endpoint the tagging request goes to the address you configured; with a cloud provider the tagging request goes to that provider using your API key.
The Cloud edition is run by the maker, and its privacy policy is dated 31 July 2023, which is before the mobile apps appeared; it names Ontario, Canada as its country and the company as GDPR data controller. The Google Play data-safety section says no data is shared with third parties and that app info and performance data may be collected.
📌Note: These are the maker's statements and the documentation, not audit results. PromptQuorum has not inspected network traffic, and the documentation does not say which AI provider the Cloud edition uses for its optional tagging.
Who Should Use It
- Self-hosters who already run Docker and want pages archived on their own server.
- Researchers and teams who share collections and need annotated, preserved copies of sources.
- Ollama users who want automatic tags without sending page text to a cloud provider.
What We Could Not Verify
- Tag quality. PromptQuorum did not run the tagging, so accuracy, speed and the behaviour of small local models are unknown.
- What the model sees. The docs do not state how much of a page is sent for tagging, so the privacy gain of a local model is the documented endpoint behaviour, not a measured result.
- Local wording. The usage page says the feature "uses a local AI model", while the setup page also lists cloud providers; the setup page is the more detailed source and is the one used here.
- Cloud AI and storage. The Cloud edition lists optional AI tagging without naming a provider, and the answer to where its data is stored was not readable on the pricing page.
- Resource use. The docs give idle memory of about 350 MB since version 2.15 as the maker's figure; PromptQuorum did not measure it.
Competitors and Alternatives
Karakeep
- Platforms:
- Web, iOS, Android
- Price / license:
- Free / AGPL-3.0
- Key difference:
- Self-hosted bookmark and notes app with AI tagging through OpenAI or Ollama; see its review for summaries and search
Articles about Karakeep (3)
- Karakeep Review: Self-Hosted Bookmarks with AI Auto-TaggingUpdated September 18, 2026
- Local Knowledge & Retrieval Tools Compared (2026): RAG, Document Chat, Vector Databases, Notes and SearchUpdated September 20, 2026
- Blinko Review: Self-Hosted AI Notes with RAG SearchUpdated September 19, 2026
Also mentioned in:
- Surf Review: Deta's Open-Source AI NotebookUpdated September 19, 2026
Blinko
- Platforms:
- Web (self-hosted)
- Price / license:
- Free / GPL-3.0
- Key difference:
- Self-hosted note-taking app with AI search over your notes; not a page archiver
Articles about Blinko (1)
- Blinko Review: Self-Hosted AI Notes with RAG SearchUpdated September 19, 2026
Also mentioned in:
- Local Knowledge & Retrieval Tools Compared (2026): RAG, Document Chat, Vector Databases, Notes and SearchUpdated September 20, 2026
- Surf Review: Deta's Open-Source AI NotebookUpdated September 19, 2026
Karakeep is the closest match: both are self-hosted bookmark tools with optional AI tagging. Confirm each app's current price, license and platforms on its own page.
Frequently Asked Questions
Which provider is used if I configure more than one?
The environment-variable reference says Linkwarden tries them in this order: OpenAI-compatible, Azure OpenAI, Anthropic, Ollama, OpenRouter, then Perplexity. A cloud API key left in .env can therefore take precedence over Ollama.
Do the mobile apps work without a server?
No. The App Store description states that Linkwarden needs either a Linkwarden Cloud subscription or a connection to your own self-hosted server; the apps list offline support for saved content.
Can I run it on a small machine?
The docs say the 2.15 rewrite lowered idle memory, and DISABLE_BROWSER=true skips screenshots, PDFs, HTML copies and the reader view in exchange for the lowest memory use.
Is there a limit on the number of links?
The pricing page lists 30,000 links per user on Cloud, and the self-hosting reference sets MAX_LINKS_PER_USER to 30000 by default.
Can I leave Linkwarden Cloud later?
The pricing page says links can be exported at any time and there is no lock-in; the docs also list import and export under Usage.
Verdict
Linkwarden is an actively developed, open-source way to keep an archive of the pages you bookmark, and its documented Ollama support lets the tagging step stay on your own hardware. Against that, the self-hosted stack needs three containers and a terminal, the mobile apps depend on a server, the Cloud edition is a paid service with a dated privacy policy, and none of the AI behaviour was tested here. It suits self-hosters who already run Docker and want a page archive with optional local tagging; anyone who wants a zero-setup experience should compare the Cloud terms with Karakeep first.
Sources
- Linkwarden website — features, pricing and app links, checked 24 October 2026.
- Self-hosting setup and AI tagging — requirements, Docker steps and provider variables, checked 24 October 2026.
- Environment variables — AI provider order and defaults, checked 24 October 2026.
- Linkwarden on GitHub — README, license and release v2.16.3, checked 24 October 2026.
- App Store and Google Play listings — app versions and requirements, checked 24 October 2026.
