Shiori — Simple Self-Hosted Bookmark Manager
Shiori is a lightweight self-hosted bookmark manager written in Go with full-text search, archiving, and a clean web interface for organizing your saved links.
Agent 可直接安装
这个资产可安装;Agent 先选择当前运行时、检查安装计划,再运行匹配命令。
npx -y tokrepo@latest install 2a480908-39f2-11f1-9bc6-00163e2b0d79 --target codex先 dry-run 确认安装计划,再运行此命令。
What it is
Shiori is a self-hosted bookmark manager written in Go. It saves bookmarks with full-text search, archives web page content for offline reading, and provides a clean web interface for organizing your saved links. It runs as a single binary with an embedded SQLite database or optional PostgreSQL/MySQL backend.
Shiori targets users who want control over their bookmarks without relying on browser sync services or third-party bookmark tools. It is lightweight enough to run on a Raspberry Pi.
How it saves time or tokens
Shiori archives the full content of bookmarked pages, so you never lose access to content that goes offline or changes. The full-text search means you can find bookmarks by content, not just title or URL. This eliminates the frustration of knowing you saved something but not remembering what you called it.
The CLI and REST API enable automation: batch-import bookmarks from browsers, integrate with RSS readers, or build custom workflows.
How to use
- Run Shiori with Docker:
docker run -d --name shiori \
-p 8080:8080 \
-v /path/to/data:/shiori \
ghcr.io/go-shiori/shiori
- Open
http://localhost:8080and log in with default credentials (shiori/gopher).
- Add bookmarks via the web UI or CLI:
# CLI usage
shiori add https://example.com --title 'Example Site' --tags 'reference,docs'
shiori search 'kubernetes deployment'
Example
Using Shiori's REST API to manage bookmarks programmatically:
# Login and get session token
TOKEN=$(curl -s -X POST http://localhost:8080/api/login \
-d '{"username":"shiori","password":"gopher"}' | jq -r '.session')
# Add a bookmark
curl -X POST http://localhost:8080/api/bookmarks \
-H "Authorization: Bearer $TOKEN" \
-d '{
"url": "https://docs.anthropic.com",
"title": "Anthropic Docs",
"tags": [{"name": "ai"}, {"name": "docs"}]
}'
# Search bookmarks
curl http://localhost:8080/api/bookmarks?keyword=ai \
-H "Authorization: Bearer $TOKEN"
Related on TokRepo
- Self-hosted tools -- Self-hosted applications for personal productivity
- AI tools for knowledge graph -- Knowledge management and organization tools
Common pitfalls
- Not changing the default password. The default credentials (shiori/gopher) are well-known. Change them immediately after first login.
- Running without persistent storage. Without mounting a volume to /shiori, all bookmarks are lost when the container restarts.
- Expecting browser extension quality. Shiori has a basic bookmarklet but no polished browser extension. Adding bookmarks via the web UI or API is more reliable.
常见问题
Yes. Export your bookmarks as an HTML file from Chrome, Firefox, or any browser, then import them into Shiori via the web UI or CLI. Shiori parses the standard bookmark HTML format.
Yes. When you add a bookmark, Shiori optionally downloads and caches the full page content. This means you can read the page even if the original URL goes offline. Archived content is searchable via full-text search.
Shiori uses SQLite by default, which requires no setup. For larger installations or multi-user setups, it supports PostgreSQL and MySQL as alternative backends.
Yes. Shiori supports multiple user accounts. Each user has their own bookmark collection. An admin account can manage users and permissions.
There is no official mobile app, but the web interface is responsive and works on mobile browsers. The REST API enables third-party clients and integrations.
引用来源 (3)
- Shiori GitHub— Shiori is a lightweight self-hosted bookmark manager written in Go
- Shiori Documentation— Full-text search and page archiving for bookmarks
- SQLite Documentation— SQLite as embedded database for lightweight applications
讨论
相关资产
Wallabag — Self-Hosted Read-It-Later App
Wallabag is a self-hosted read-it-later application that saves web articles for offline reading with tagging, annotations, and full-text search.
Dockge — Fancy Self-Hosted Docker Compose Manager
Dockge is a reactive, self-hosted Docker Compose management UI from the creator of Uptime Kuma. It lets you create, edit, start, stop, and monitor docker-compose.yaml stacks through a beautiful real-time web interface.
Gogs — Painless Self-Hosted Git Service
Gogs is a lightweight, self-hosted Git service written in Go. It runs on minimal hardware, supports multiple platforms, and provides a GitHub-like experience with issue tracking, pull requests, and webhooks.
Shlink — Self-Hosted URL Shortener with Analytics
Shlink is a self-hosted URL shortener that lets you create short links with full analytics, QR codes, and API access. Built with PHP, it supports custom domains and provides detailed visit tracking.