---
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
