--- title: Shiori created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, bookmarks, read-later, go, sqlite, lightweight, bookmarklet] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Bookmarks, https://github.com/go-shiori/shiori] --- # 🐾 Shiori > **Le bookmarking en un seul binaire Go** : Shiori se veut une alternative simple, sans Docker, sans JavaScript lourd, qui fait exactement ce qu'on lui demande. ## 📋 Informations Générales | Champ | Valeur | | :--- | :--- | | **Site web** | [github.com/go-shiori/shiori](https://github.com/go-shiori/shiori) | | **GitHub** | [go-shiori/shiori](https://github.com/go-shiori/shiori) | | **Licence** | MIT | | **Langage** | Go | | **Étoiles GitHub** | 6.1k ⭐ | | **Dernière MAJ** | 2026-04-22 | | **Catégorie** | [[cat-bookmarks\|Bookmarks]] | ## 📝 Description **Shiori** (櫨, le buis japonais) est une application de **bookmarks et read-it-later** écrite en Go et distribuée comme **un seul binaire statique**. Sa philosophie : aucune dépendance externe (SQLite embarqué), pas de JavaScript côté front, et une interface volontairement minimaliste. Idéal pour les **serveurs légers** (Raspberry Pi, VPS modeste) ou les amateurs de Go. À l'usage, Shiori se manipule principalement via sa **CLI** (`shiori add`, `shiori list`, `shiori search`) et offre une **interface web** minimale pour la consultation et l'archivage manuel. Un **bookmarklet** et des **extensions navigateur** permettent la capture. Le contenu est archivé via **go-readability** (extraction du texte) et **chromedp** (rendu headless pour les pages JS). Le programme supporte : - 📥 **Import** depuis Netscape HTML, Pocket, Pinboard - 🏷️ Étiquettes, recherche plein texte - 📦 **Archive locale** (HTML + assets) pour consultation offline - 🔐 Authentification simple (user/pass) - 🌐 Web UI servie par le binaire lui-même - 🐳 Image Docker aussi disponible pour les fans de Compose Pour qui ? Pour ceux qui veulent **un service de bookmarks sans DB à gérer, sans reverse proxy complexe, et qui tient en 20 Mo de RAM**. C'est aussi un excellent choix pour les **serveurs isolés** (VPN, intranet). ## 🚀 Installation ### Option 1 : Binaire unique (recommandé pour la simplicité) ```bash # Téléchargement direct depuis GitHub Releases wget https://github.com/go-shiori/shiori/releases/latest/download/shiori_Linux_x86_64.tar.gz tar -xzf shiori_Linux_x86_64.tar.gz sudo mv shiori /usr/local/bin/ # Initialisation shiori migrate shiori add --url https://exemple.com/article --title "Mon article" # Lancer le serveur web shiori serve --port 8080 # UI : http://localhost:8080 ``` ### Option 2 : Docker Compose ```yaml # docker-compose.yml services: shiori: image: ghcr.io/go-shiori/shiori:latest container_name: shiori restart: unless-stopped command: serve --port 8080 ports: - "8080:8080" volumes: - shiori-data:/shiori environment: - SHIORI_DIR=/shiori volumes: shiori-data: ``` ### Option 3 : Snap / Homebrew ```bash sudo snap install shiori # ou brew install shiori ``` ## ⚙️ Configuration Initiale 1. **Créer un compte** : `shiori account add`. 2. **Activer le service systemd** : ```ini # /etc/systemd/system/shiori.service [Unit] Description=Shiori bookmarks After=network.target [Service] ExecStart=/usr/local/bin/shiori serve --port 8080 Restart=always User=shiori [Install] WantedBy=multi-user.target ``` 3. **Importer** depuis Pinboard, Pocket, ou un fichier Netscape HTML (`shiori import`). 4. **Brancher un reverse proxy** (Caddy/Nginx) en HTTPS pour usage externe. 5. **Configurer le bookmarklet** depuis la page `/bookmarklet`. ## 🔄 Alternatives ### Open Source - [[app-linkding]] — Python/Django, single-user, plus complet - [[app-karakeep]] — Next.js, IA, plus moderne - [[app-wallabag]] — PHP/Symfony, plus mature - [[app-linkace]] — Laravel, plus riche en fonctionnalités - [[app-shaarli]] — PHP, single-file, encore plus minimaliste ### Propriétaires (ce que Shiori remplace) - **Pocket** — Sunset 2025 - **Pinboard** — Solo, 25$/an - **Instapaper** — Cloud obligatoire - **Shaarli.com (hosted)** — Pas d'archive locale - **Evernote Web Clipper** — Lourd ## 🔐 Sécurité - Authentification par **utilisateur/mot de passe** (bcrypt) - **Pas de 2FA natif** ⚠️ → à compenser avec SSO via reverse proxy (Authelia/Authentik) - Chiffrement local des secrets via `SHIORI_ENCRYPTION_KEY` - Surface d'attaque très réduite (un seul binaire statique) - À placer derrière **HTTPS** (Caddy/Traefik) dès qu'exposé - Sauvegarder simplement le dossier `shiori-data` (SQLite + archives) ## 📚 Ressources - [Documentation officielle](https://github.com/go-shiori/shiori/blob/master/docs/README.md) - [Dépôt GitHub](https://github.com/go-shiori/shiori) - [Wiki communauté](https://github.com/go-shiori/shiori/wiki) - [selfh.st — Bookmarks](https://selfh.st/apps/?tag=Bookmarks) ## Pages Liées - [[cat-bookmarks]] — Vue d'ensemble de la catégorie Bookmarks - [[app-linkding]] — Concurrent single-user en Python - [[app-shaarli]] — Concurrent PHP, encore plus minimaliste - [[recettes-docker-compose]] — Bonnes pratiques Docker Compose