イントロ
ブックマーク管理、どうやっていますか?
よく使うサイトをブラウザのブックマークに入れるだけなら問題ありませんが、
あとから読みたい記事や、参考にしたい技術記事、あるいは資料サイトなど、増えてくると管理が大変ですよね。
(リーディングリストとか使いこなせてる人いるのだろうか...)
そんなときに便利なのがLinkwardenです。
Linkwardenはセルフホスティング可能なブックマーク管理ツールです。
タグ付けやフォルダ管理、PDFや画像によるサイトのスナップショット保存、さらにはブラウザ拡張機能を使ったワンクリック保存など、便利な機能が揃っています。
Linkwardenの使い方
環境情報
$ docker version
Client: Docker Engine - Community
Version: 29.1.3
API version: 1.52
Go version: go1.25.5
Git commit: f52814d
Built: Fri Dec 12 14:49:51 2025
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 29.1.3
API version: 1.52 (minimum version 1.44)
Go version: go1.25.5
Git commit: fbf3ed2
Built: Fri Dec 12 14:49:51 2025
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v2.2.0
GitCommit: 1c4457e00facac03ce1d75f7b6777a7a851e5c41
runc:
Version: 1.3.4
GitCommit: v1.3.4-0-gd6d73eb8
docker-init:
Version: 0.19.0
GitCommit: de40ad0
前提条件
- Docker がインストールされていること
- Traefik が導入されていること(リバースプロキシサーバー)
手順
-
compose.ymlを作成しますdomain.tldはあなたのドメインに置き換えてください。compose.ymlservices: postgres: image: postgres:16-alpine container_name: linkwarden-db env_file: .env restart: always volumes: - ./pgdata:/var/lib/postgresql/data networks: - default - postgres-backup-network labels: glance.name: PostgreSQL glance.parent: linkwarden linkwarden: image: ghcr.io/linkwarden/linkwarden container_name: linkwarden env_file: .env environment: - DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/postgres restart: always expose: - 3000 volumes: - ./data:/data/data depends_on: - postgres labels: traefik.enable: true traefik.host: linkwarden traefik.http.services.linkwarden.loadbalancer.server.port: 3000 traefik.http.routers.linkwarden.entrypoints: websecure traefik.http.routers.linkwarden.tls: true traefik.http.routers.linkwarden.tls.certResolver: cloudflare traefik.docker.network: traefik-network glance.name: Linkwarden glance.icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/linkwarden.png glance.url: https://linkwarden.domain.tld/ glance.description: Bookmark manager glance.id: linkwarden networks: - default - traefik-network networks: default: traefik-network: external: true postgres-backup-network: external: true -
.envファイルを作成します.envNEXTAUTH_SECRET="" POSTGRES_USER=linkwarden POSTGRES_PASSWORD=your_password_here # PocketIDによるOIDC認証 NEXT_PUBLIC_KEYCLOAK_ENABLED=true KEYCLOAK_CUSTOM_NAME=PocketID KEYCLOAK_ISSUER=https://auth.domain.tld KEYCLOAK_CLIENT_ID="" KEYCLOAK_CLIENT_SECRET="" -
Docker Composeで起動します
docker compose up -d
Linkwardenの感想
- 良いところ
- ブックマークのタグ付けやフォルダ管理が便利
- AIタグ付け機能もある
- PDFや画像でのスナップショット保存が可能
- ブラウザ拡張機能でワンクリック保存ができる
- OIDC認証に対応している
- 公式のモバイルアプリが登場した
- ブックマークのタグ付けやフォルダ管理が便利
- イマイチなところ
- リソース消費がやや大きい
- 常時メモリ700MB程度
- リソース消費がやや大きい
以上、Linkwardenの紹介でした。
私としてはスナップショットの機能はあまりいらないのですが、リンク管理として使いやすいので重宝しています。
フォルダ管理(コレクション)もAI管理してくれないかなぁという期待があります。。。